ModelGroupMember.fromJson constructor

ModelGroupMember.fromJson(
  1. Map<String, dynamic> json
)

Creates a ModelGroupMember from a JSON-like map.

Extra keys are ignored safely.

Implementation

factory ModelGroupMember.fromJson(Map<String, dynamic> json) {
  return ModelGroupMember(
    id: json[ModelGroupMemberEnum.id.name]?.toString() ?? '',
    groupId: json[ModelGroupMemberEnum.groupId.name]?.toString() ?? '',
    email: Utils.getEmailFromDynamic(
      json[ModelGroupMemberEnum.email.name],
    ),
    userId: json[ModelGroupMemberEnum.userId.name]?.toString() ?? '',
    role: Utils.enumFromJson<ModelGroupMemberRole>(
      ModelGroupMemberRole.values,
      json[ModelGroupMemberEnum.role.name]?.toString(),
      ModelGroupMemberRole.member,
    ),
    entityType: Utils.enumFromJson<ModelGroupMemberEntityType>(
      ModelGroupMemberEntityType.values,
      json[ModelGroupMemberEnum.entityType.name]?.toString(),
      ModelGroupMemberEntityType.user,
    ),
    membershipId:
        json[ModelGroupMemberEnum.membershipId.name]?.toString() ?? '',
    source: Utils.enumFromJson<ModelGroupMemberSource>(
      ModelGroupMemberSource.values,
      json[ModelGroupMemberEnum.source.name]?.toString(),
      ModelGroupMemberSource.manual,
    ),
    subscription: Utils.enumFromJson<ModelGroupMemberSubscription>(
      ModelGroupMemberSubscription.values,
      json[ModelGroupMemberEnum.subscription.name]?.toString(),
      ModelGroupMemberSubscription.allMail,
    ),
    includeDerived: Utils.getBoolFromDynamic(
      json[ModelGroupMemberEnum.includeDerived.name],
      defaultValueIfNull: false,
    ),
    active: Utils.getBoolFromDynamic(
      json[ModelGroupMemberEnum.active.name],
      defaultValueIfNull: true,
    ),
    crud: ModelCrudMetadata.fromJson(
      Utils.mapFromDynamic(json[ModelGroupMemberEnum.crud.name]),
    ),
  );
}