forked from eatvio/eatvio_app
43 lines
1.2 KiB
Dart
43 lines
1.2 KiB
Dart
import 'package:eatvio_app/features/feed/models/feed_blog_post_model.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'rating_model.freezed.dart';
|
|
part 'rating_model.g.dart';
|
|
|
|
@freezed
|
|
abstract class RatingPaginationModel with _$RatingPaginationModel {
|
|
factory RatingPaginationModel({
|
|
required List<RatingModel> data,
|
|
}) = _RatingPaginationModel;
|
|
|
|
factory RatingPaginationModel.fromJson(Map<String, dynamic> json) => _$RatingPaginationModelFromJson(json);
|
|
}
|
|
|
|
@freezed
|
|
abstract class RatingModel with _$RatingModel {
|
|
factory RatingModel({
|
|
@JsonKey(name: 'created_at', fromJson: parseDate) required DateTime date,
|
|
@JsonKey(name: 'log_data') required RatingEnum type,
|
|
@JsonKey(name: 'log_scores') required int amount,
|
|
}) = _RatingModel;
|
|
|
|
factory RatingModel.fromJson(Map<String, dynamic> json) => _$RatingModelFromJson(json);
|
|
}
|
|
|
|
enum RatingEnum {
|
|
@JsonValue('ADDED_RECIPE')
|
|
addedRecipe,
|
|
@JsonValue('ADDED_PUBLIC_DIET')
|
|
addedPublicDiet,
|
|
@JsonValue('ADDED_BLOG_POST')
|
|
addedBlogPost,
|
|
@JsonValue('INVITED_A_NEW_USER')
|
|
invitedUser,
|
|
@JsonValue('HAS_MEDICAL_DEGREE')
|
|
hasMedicalDegree,
|
|
@JsonValue('CONSULTED')
|
|
consulted,
|
|
@JsonValue('PRODUCT_NUTRITINAL_VALUE_APPROVED')
|
|
addedGlossary;
|
|
}
|