Files
eatvio_app/lib/features/feed/models/feed_consultant_model.dart
2025-05-21 17:42:43 +03:00

33 lines
1.2 KiB
Dart

import 'package:eatvio_app/core/models/pagination_model.dart';
import 'package:eatvio_app/features/profile/models/badge_model.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'feed_consultant_model.freezed.dart';
part 'feed_consultant_model.g.dart';
@freezed
abstract class FeedConsultantPaginationModel with _$FeedConsultantPaginationModel {
const factory FeedConsultantPaginationModel({
required List<FeedConsultantModel> data,
required Links links,
required Meta meta,
}) = _FeedConsultantPaginationModel;
factory FeedConsultantPaginationModel.fromJson(Map<String, Object?> json) => _$FeedConsultantPaginationModelFromJson(json);
}
@freezed
abstract class FeedConsultantModel with _$FeedConsultantModel {
const factory FeedConsultantModel({
required String slug,
required String name,
@JsonKey(name: 'additional_info') required String description,
@JsonKey(name: 'rating_place') int? ratingPlace,
@JsonKey(name: 'total_scores') required int totalScores,
@JsonKey(name: 'profile_photo_url') required String photo,
required List<BadgeModel> badges,
}) = _FeedConsultantModel;
factory FeedConsultantModel.fromJson(Map<String, Object?> json) => _$FeedConsultantModelFromJson(json);
}