ManagerAssignmentModel.fromJson constructor
ManagerAssignmentModel.fromJson( - Map<String, dynamic> json
)
Implementation
factory ManagerAssignmentModel.fromJson(Map<String, dynamic> json) {
// PostgREST disambiguates profiles via FK constraint name.
// The select string uses:
// profiles!manager_assignments_manager_profiles_fk(display_name)
// profiles!manager_assignments_managed_profiles_fk(display_name)
// PostgREST nests these under the FK-hint alias.
final managerProfile =
json['manager_profile'] as Map<String, dynamic>? ??
json['profiles!manager_assignments_manager_profiles_fk']
as Map<String, dynamic>?;
final managedProfile =
json['managed_profile'] as Map<String, dynamic>? ??
json['profiles!manager_assignments_managed_profiles_fk']
as Map<String, dynamic>?;
return ManagerAssignmentModel(
id: json['id'] as String,
orgId: json['org_id'] as String,
managerUserId: json['manager_user_id'] as String,
managedUserId: json['managed_user_id'] as String,
assignedAt: DateTime.parse(json['assigned_at'] as String),
assignedBy: json['assigned_by'] as String,
managerDisplayName: managerProfile?['display_name'] as String?,
managedDisplayName: managedProfile?['display_name'] as String?,
managerEmail: managerProfile?['email'] as String?,
managedEmail: managedProfile?['email'] as String?,
);
}