27 lines
900 B
Dart
27 lines
900 B
Dart
import 'package:external_repos/external_repos.dart';
|
|
import 'package:fast_immutable_collections/fast_immutable_collections.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'preferences_entity.freezed.dart';
|
|
part 'preferences_entity.g.dart';
|
|
|
|
@freezed
|
|
class PreferencesEntity with _$PreferencesEntity {
|
|
const factory PreferencesEntity({
|
|
required LanguageLocale language,
|
|
required IList<IndicatorEnum> favoriteIndicators,
|
|
required IList<ISOCountry> favoriteCountries,
|
|
|
|
/// uses [CompetitivenessReportEntity].reportCode
|
|
required IList<String> favoriteReports,
|
|
required bool doNotifyOnIndicatorUpdates,
|
|
required bool doNotifyOnCompetitivenessReportsUpdates,
|
|
required bool doNotifyOnCountryUpdates,
|
|
}) = _PreferencesEntity;
|
|
|
|
factory PreferencesEntity.fromJson(
|
|
Map<String, dynamic> json,
|
|
) =>
|
|
_$PreferencesEntityFromJson(json);
|
|
}
|