LearningPathEnrollmentModel.fromJson constructor

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

Implementation

factory LearningPathEnrollmentModel.fromJson(Map<String, dynamic> json) {
  // profiles join via user_id FK
  final profileData = json['profiles'];
  String? label;
  if (profileData is Map<String, dynamic>) {
    label =
        (profileData['display_name'] as String?) ??
        (profileData['username'] as String?) ??
        (profileData['email'] as String?);
  }

  return LearningPathEnrollmentModel(
    id: json['id'] as String,
    pathId: json['path_id'] as String,
    userId: json['user_id'] as String,
    userLabel: label,
    enrolledAt: DateTime.parse(json['enrolled_at'] as String),
    enrolledBy: json['enrolled_by'] as String?,
    completedAt: json['completed_at'] != null
        ? DateTime.parse(json['completed_at'] as String)
        : null,
    currentStepPosition: json['current_step_position'] as int? ?? 1,
  );
}