import 'package:freezed_annotation/freezed_annotation.dart'; part 'profile_model.freezed.dart'; part 'profile_model.g.dart'; @freezed class Profile with _$Profile { const factory Profile({ @JsonKey(name: "user") required User user, @JsonKey(name: "chartPoints") required List chartPoints, @JsonKey(name: "userDetails") required UserDetails userDetails, @JsonKey(name: "circumferences") required List circumferences, @JsonKey(name: "finishedPlans") required List finishedPlans, @JsonKey(name: "rejectedPlans") required List rejectedPlans, @JsonKey(name: "startedPlan") required List startedPlan, @JsonKey(name: "paidPlan") required List paidPlan, @JsonKey(name: "requestedPlan") required List requestedPlan, @JsonKey(name: "initedPlan") required List initedPlan, }) = _Profile; factory Profile.fromJson(Map json) => _$ProfileFromJson(json); } @freezed class User with _$User { const factory User({ @JsonKey(name: "id") required int id, @JsonKey(name: "name") required String name, @JsonKey(name: "email") required String email, @JsonKey(name: "email_verified_at") required DateTime emailVerifiedAt, @JsonKey(name: "two_factor_confirmed_at") required dynamic twoFactorConfirmedAt, @JsonKey(name: "current_team_id") required dynamic currentTeamId, @JsonKey(name: "profile_photo_path") required String profilePhotoPath, @JsonKey(name: "created_at") required DateTime createdAt, @JsonKey(name: "updated_at") required DateTime updatedAt, @JsonKey(name: "is_consultant") required int isConsultant, @JsonKey(name: "is_public_profile") required int isPublicProfile, @JsonKey(name: "slug") required String slug, @JsonKey(name: "user_settings_id") required dynamic userSettingsId, @JsonKey(name: "profile_photo_url") required String profilePhotoUrl, @JsonKey(name: "detailz") required UserDetails detailz, }) = _User; factory User.fromJson(Map json) => _$UserFromJson(json); } @freezed class UserDetails with _$UserDetails { const factory UserDetails({ @JsonKey(name: "id") required int id, @JsonKey(name: "user_id") required int userId, @JsonKey(name: "first_name") required String firstName, @JsonKey(name: "last_name") required String lastName, @JsonKey(name: "birthdate") required DateTime birthdate, @JsonKey(name: "gender") required String gender, @JsonKey(name: "country") required String country, @JsonKey(name: "city") required String city, @JsonKey(name: "lang") required String lang, @JsonKey(name: "weight") required int weight, @JsonKey(name: "height") required int height, @JsonKey(name: "chest_circumference") required int chestCircumference, @JsonKey(name: "waist_circumference") required int waistCircumference, @JsonKey(name: "hip_circumference") required int hipCircumference, @JsonKey(name: "blood_pressure_up") required int bloodPressureUp, @JsonKey(name: "blood_pressure_down") required int bloodPressureDown, @JsonKey(name: "has_hypo") required int hasHypo, @JsonKey(name: "has_hyper") required int hasHyper, @JsonKey(name: "about_alergy") required String aboutAlergy, @JsonKey(name: "about_taking_pils") required String aboutTakingPils, @JsonKey(name: "about_sport_hobbies") required String aboutSportHobbies, @JsonKey(name: "favorite_foods") required String favoriteFoods, @JsonKey(name: "unfavorite_foods") required String unfavoriteFoods, @JsonKey(name: "additional_info") required String additionalInfo, @JsonKey(name: "created_at") required DateTime createdAt, @JsonKey(name: "updated_at") required DateTime updatedAt, @JsonKey(name: "is_mood_fillable") required int isMoodFillable, @JsonKey(name: "is_bedtime_fillable") required int isBedtimeFillable, @JsonKey(name: "activity_coefficient") required double activityCoefficient, }) = _UserDetails; factory UserDetails.fromJson(Map json) => _$UserDetailsFromJson(json); }