import 'package:freezed_annotation/freezed_annotation.dart'; part 'glossary_model.freezed.dart'; part 'glossary_model.g.dart'; @freezed class GlossaryPaginationModel with _$GlossaryPaginationModel { const factory GlossaryPaginationModel({ @JsonKey(name: 'data') required List glossariesList, }) = _GlossaryPaginationModel; factory GlossaryPaginationModel.fromJson(Map json) => _$GlossaryPaginationModelFromJson(json); } @freezed class GlossaryModerationModel with _$GlossaryModerationModel { const factory GlossaryModerationModel({ @JsonKey(name: 'product_nutritional_value') required GlossaryModel glossary, }) = _GlossaryModerationModel; factory GlossaryModerationModel.fromJson(Map json) => _$GlossaryModerationModelFromJson(json); } @freezed class GlossaryModel with _$GlossaryModel { const factory GlossaryModel({ required int id, required String name, @JsonKey(name: 'portion_mass_gr') required int grInPortion, @JsonKey(name: 'energy_on_100gr') required double energyOn100Gr, @JsonKey(name: 'proteins_on_100gr') required double proteinsOn100Gr, @JsonKey(name: 'fats_on_100gr') required double fatsOn100Gr, @JsonKey(name: 'carbohydrates_on_100gr') required double carbohydratesOn100Gr, @JsonKey(name: 'energy_on_portion') required double energyOnPortion, @JsonKey(name: 'proteins_on_portion') required double proteinsOnPortion, @JsonKey(name: 'fats_on_portion') required double fatsOnPortion, @JsonKey(name: 'carbohydrates_on_portion') required double carbohydratesOnPortion, }) = _GlossaryModel; factory GlossaryModel.fromJson(Map json) => _$GlossaryModelFromJson(json); }