ModelCrudMetadata.fromJson constructor
Creates a ModelCrudMetadata from a JSON-like map.
Parsing rules:
- String fields are read with
toString()and default to''when null. - Timestamps are parsed through DateUtils.dateTimeFromDynamic.
- deleted is parsed via Utils.getBoolFromDynamic when non-null.
- version is parsed via Utils.getIntegerFromDynamic when non-null.
Extra keys are safely ignored.
Implementation
factory ModelCrudMetadata.fromJson(Map<String, dynamic> json) {
return ModelCrudMetadata(
recordId: json[ModelCrudMetadataEnum.recordId.name]?.toString() ?? '',
createdBy: json[ModelCrudMetadataEnum.createdBy.name]?.toString() ?? '',
createdAt: DateUtils.dateTimeFromDynamic(
json[ModelCrudMetadataEnum.createdAt.name],
),
updatedBy: json[ModelCrudMetadataEnum.updatedBy.name]?.toString() ?? '',
updatedAt: DateUtils.dateTimeFromDynamic(
json[ModelCrudMetadataEnum.updatedAt.name],
),
deleted: json[ModelCrudMetadataEnum.deleted.name] == null
? null
: Utils.getBoolFromDynamic(
json[ModelCrudMetadataEnum.deleted.name],
),
deletedBy: json[ModelCrudMetadataEnum.deletedBy.name]?.toString(),
deletedAt: json[ModelCrudMetadataEnum.deletedAt.name] == null
? null
: DateUtils.dateTimeFromDynamic(
json[ModelCrudMetadataEnum.deletedAt.name],
),
version: json[ModelCrudMetadataEnum.version.name] == null
? null
: Utils.getIntegerFromDynamic(
json[ModelCrudMetadataEnum.version.name],
),
);
}