GoalStatus.fromJson constructor
GoalStatus.fromJson(
- Map<String, dynamic> json
)
Implementation
factory GoalStatus.fromJson(Map<String, dynamic> json) => GoalStatus(
id: json["_id"] ?? '',
createdAt: DateTime.tryParse(json["created_at"] ?? '') ?? DateTime(1970),
goalId: json["goal_id"] ?? '',
participationId: json["participation_id"] ?? '',
status: json["status"] ?? '',
updatedAt: DateTime.tryParse(json["updated_at"] ?? '') ?? DateTime(1970),
winned: json["winned"] ?? 0,
winningDates: List<DateTime>.from(
(json["winning_dates"] ?? []).map(
(x) => DateTime.tryParse(x.toString()) ?? DateTime(1970),
),
),
acceptancesCount: json["acceptances_count"] ?? 0,
activityTarget: json["activity_target"] ?? '',
activityTimes: json["activity_times"] ?? 0,
consolationRewardAmount: json["consolation_reward_amount"] ?? 0,
consolationRewardId: json["consolation_reward_id"],
consolationRewardType: json["consolation_reward_type"],
deleted: json["deleted"] ?? false,
desc: json["desc"] ?? '',
enabled: json["enabled"] ?? false,
endsAt: DateTime.tryParse(json["ends_at"] ?? '') ?? DateTime(1970),
endedAt: json["ended_at"] != null ? DateTime.tryParse(json["ended_at"].toString()) : null,
formula: json["formula"] ?? '',
giveNormalPoints: json["give_normal_points"] ?? false,
globalAwardedCount: json["global_awarded_count"] ?? 0,
globalLimit: json["global_limit"] ?? 0,
image: Image.fromJson(json["image"] ?? {}),
interval: json["interval"] ?? '',
intervalSamples: json["interval_samples"] ?? 0,
limit: json["limit"] ?? 0,
missionId: json["mission_id"],
name: json["name"] ?? '',
participantMetricId: json["participant_metric_id"],
participantMetricTimeframe: json["participant_metric_timeframe"],
participantMetricValue: json["participant_metric_value"],
period: json["period"] ?? '',
pocketId: json["pocket_id"] ?? '',
recurrent: json["recurrent"] ?? false,
requiresAcceptance: json["requires_acceptance"] ?? false,
rewardType: json["reward_type"] ?? '',
secondaryMetricExtraPercentage: json["secondary_metric_extra_percentage"] ?? 0,
secondaryParticipantMetricId: json["secondary_participant_metric_id"],
secondaryParticipantMetricTimeframe: json["secondary_participant_metric_timeframe"],
secondaryPocketId: json["secondary_pocket_id"],
secondaryRewardId: json["secondary_reward_id"],
secondaryRewardType: json["secondary_reward_type"],
secondarySponsorId: json["secondary_sponsor_id"],
secondarySponsorPercentage: json["secondary_sponsor_percentage"] ?? 0,
sponsorId: json["sponsor_id"] ?? '',
sponsorPercentage: json["sponsor_percentage"] ?? 0,
startsAt: DateTime.tryParse(json["starts_at"] ?? '') ?? DateTime(1970),
tags: List<String>.from((json["tags"] ?? []).map((x) => x.toString())),
useParticipantMetrics: json["use_participant_metrics"] ?? false,
rewardName: json["reward_name"] ?? '',
goalData: (json["goal_data"] is Map)
? Map<String, dynamic>.from(json["goal_data"] as Map)
: {},
conditionsGoals: (json["conditions"] is List)
? List<ConditionGoals>.from(
json["conditions"].map((x) => ConditionGoals.fromJson(x)),
)
: [],
campaignId: json["campaign_id"]?.toString(),
conditionsProgress: (json["conditions_progress"] is List)
? List<dynamic>.from(json["conditions_progress"])
: [],
alwaysAwardConsolationReward: json["always_award_consolation_reward"] ?? false,
conditionsFailure: json["conditions_failure"] ?? false,
);