rwadurian/frontend/mining-app/lib/data/models/contribution_stats_model.dart

30 lines
1.2 KiB
Dart

import '../../domain/entities/contribution_stats.dart';
class ContributionStatsModel extends ContributionStats {
const ContributionStatsModel({
required super.totalUsers,
required super.totalAccounts,
required super.accountsWithContribution,
required super.totalAdoptions,
required super.totalContribution,
required super.personalContribution,
required super.teamLevelContribution,
required super.teamBonusContribution,
});
factory ContributionStatsModel.fromJson(Map<String, dynamic> json) {
final contributionByType = json['contributionByType'] as Map<String, dynamic>? ?? {};
return ContributionStatsModel(
totalUsers: json['totalUsers'] ?? 0,
totalAccounts: json['totalAccounts'] ?? 0,
accountsWithContribution: json['accountsWithContribution'] ?? 0,
totalAdoptions: json['totalAdoptions'] ?? 0,
totalContribution: json['totalContribution']?.toString() ?? '0',
personalContribution: contributionByType['personal']?.toString() ?? '0',
teamLevelContribution: contributionByType['teamLevel']?.toString() ?? '0',
teamBonusContribution: contributionByType['teamBonus']?.toString() ?? '0',
);
}
}