ChallengeModel.fromJson constructor

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

Implementation

factory ChallengeModel.fromJson(Map<String, dynamic> json) {
  return ChallengeModel(
    id: json['id'],
    name: json['name'],
    description: json['description'],
    type: ChallengeType.fromValue(json['type']),
    status: ChallengeStatus.fromValue(json['status']),
    startDate: DateTime.parse(json['startDate']),
    endDate: DateTime.parse(json['endDate']),
    tasks: json['tasks'] != null
        ? (json['tasks'] as List<dynamic>)
            .map((e) => ChallengeTaskModel.fromJson(e as Map<String, dynamic>))
            .toList()
        : null,
    communityRewards: json['communityRewards'] != null
        ? (json['communityRewards'] as List<dynamic>)
            .map((e) => ChallengeRewardModel.fromJson(e as Map<String, dynamic>))
            .toList()
        : null,
    totalCommunityXp: json['totalCommunityXp'] ?? 0,
    participantCount: json['participantCount'] ?? 0,
    isJoined: json['isJoined'] ?? false,
    userXp: json['userXp'] ?? 0,
    userRank: json['userRank'] ?? 0,
    createdAt: json['createdAt'] != null
        ? DateTime.parse(json['createdAt'])
        : null,
    updatedAt: json['updatedAt'] != null
        ? DateTime.parse(json['updatedAt'])
        : null,
  );
}