forked from eatvio/eatvio_app
83 lines
4.0 KiB
Dart
83 lines
4.0 KiB
Dart
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<dynamic> chartPoints,
|
|
@JsonKey(name: "userDetails") required UserDetails userDetails,
|
|
@JsonKey(name: "circumferences") required List<dynamic> circumferences,
|
|
@JsonKey(name: "finishedPlans") required List<dynamic> finishedPlans,
|
|
@JsonKey(name: "rejectedPlans") required List<dynamic> rejectedPlans,
|
|
@JsonKey(name: "startedPlan") required List<dynamic> startedPlan,
|
|
@JsonKey(name: "paidPlan") required List<dynamic> paidPlan,
|
|
@JsonKey(name: "requestedPlan") required List<dynamic> requestedPlan,
|
|
@JsonKey(name: "initedPlan") required List<dynamic> initedPlan,
|
|
}) = _Profile;
|
|
|
|
factory Profile.fromJson(Map<String, Object?> 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<String, Object?> 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<String, Object?> json) => _$UserDetailsFromJson(json);
|
|
}
|