forked from eatvio/eatvio_app
refactor: profile model
This commit is contained in:
@@ -1,110 +1,57 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
|
||||
part 'profile_model.freezed.dart';
|
||||
|
||||
part 'profile_model.g.dart';
|
||||
|
||||
@freezed
|
||||
class ProfileModel with _$ProfileModel {
|
||||
const factory ProfileModel({
|
||||
@JsonKey(name: "user") required User user,
|
||||
@JsonKey(name: "chartPoints") required List<ChartPointModel> chartPoints,
|
||||
@JsonKey(name: "userDetails") required UserDetails userDetails,
|
||||
@JsonKey(name: "circumferences") required List<Circumference> 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,
|
||||
@JsonKey(name: "id") required int id,
|
||||
@JsonKey(name: "name") required String name,
|
||||
@JsonKey(name: "email") required String email,
|
||||
@JsonKey(name: "email_verified_at") DateTime? emailVerifiedAt,
|
||||
@JsonKey(name: "created_at") DateTime? createdAt,
|
||||
@JsonKey(name: "updated_at") DateTime? updatedAt,
|
||||
@JsonKey(name: "is_public_profile") required bool isPublicProfile,
|
||||
@JsonKey(name: "slug") required String slug,
|
||||
@JsonKey(name: "profile_photo_url") required String profilePhotoUrl,
|
||||
}) = _ProfileModel;
|
||||
|
||||
factory ProfileModel.fromJson(Map<String, dynamic> json) => _$ProfileModelFromJson(json);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class Circumference with _$Circumference {
|
||||
const factory Circumference({
|
||||
@JsonKey(name: "id") required int id,
|
||||
@JsonKey(name: "user_id") required int userId,
|
||||
@JsonKey(name: "chest_circumference") required int chestCircumference,
|
||||
@JsonKey(name: "waist_circumference") required int waistCircumference,
|
||||
@JsonKey(name: "hip_circumference") required int hipCircumference,
|
||||
@JsonKey(name: "created_at") required DateTime createdAt,
|
||||
@JsonKey(name: "updated_at") required DateTime updatedAt,
|
||||
}) = _Circumference;
|
||||
|
||||
factory Circumference.fromJson(Map<String, dynamic> json) => _$CircumferenceFromJson(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 dynamic emailVerifiedAt,
|
||||
@JsonKey(name: "two_factor_confirmed_at") required dynamic twoFactorConfirmedAt,
|
||||
@JsonKey(name: "current_team_id") required dynamic currentTeamId,
|
||||
@JsonKey(name: "profile_photo_path") 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") String? profilePhotoUrl,
|
||||
@JsonKey(name: "detailz") required UserDetails detailz,
|
||||
}) = _User;
|
||||
|
||||
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class UserDetails with _$UserDetails {
|
||||
const factory UserDetails({
|
||||
@JsonKey(name: "id") required int id,
|
||||
@JsonKey(name: "user_id") required int userId,
|
||||
class ProfileDetailsModel with _$ProfileDetailsModel {
|
||||
const factory ProfileDetailsModel({
|
||||
@JsonKey(name: "first_name") required String firstName,
|
||||
@JsonKey(name: "last_name") required String lastName,
|
||||
@JsonKey(name: "birthdate") required DateTime birthdate,
|
||||
@JsonKey(name: "birthdate") required String 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: "weight") required double 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: "has_hypo") required bool hasHypo,
|
||||
@JsonKey(name: "has_hyper") required bool 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: "created_at") DateTime? createdAt,
|
||||
@JsonKey(name: "updated_at") DateTime? updatedAt,
|
||||
@JsonKey(name: "is_mood_fillable") required bool isMoodFillable,
|
||||
@JsonKey(name: "is_bedtime_fillable") required bool isBedtimeFillable,
|
||||
@JsonKey(name: "activity_coefficient") required double activityCoefficient,
|
||||
}) = _UserDetails;
|
||||
}) = _ProfileDetailsModel;
|
||||
|
||||
factory UserDetails.fromJson(Map<String, dynamic> json) => _$UserDetailsFromJson(json);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class ChartPointModel with _$ChartPointModel {
|
||||
const factory ChartPointModel({
|
||||
@JsonKey(name: "id") required int id,
|
||||
@JsonKey(name: "user_id") required int userId,
|
||||
@JsonKey(name: "weight") required double weight,
|
||||
@JsonKey(name: "bmi") required double bmi,
|
||||
@JsonKey(name: "created_at") required DateTime createdAt,
|
||||
@JsonKey(name: "updated_at") required DateTime updatedAt,
|
||||
}) = _ChartPointModel;
|
||||
|
||||
factory ChartPointModel.fromJson(Map<String, dynamic> json) => _$ChartPointModelFromJson(json);
|
||||
factory ProfileDetailsModel.fromJson(Map<String, dynamic> json) => _$ProfileDetailsModelFromJson(json);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,136 +8,78 @@ part of 'profile_model.dart';
|
||||
|
||||
_$ProfileModelImpl _$$ProfileModelImplFromJson(Map<String, dynamic> json) =>
|
||||
_$ProfileModelImpl(
|
||||
user: User.fromJson(json['user'] as Map<String, dynamic>),
|
||||
chartPoints: (json['chartPoints'] as List<dynamic>)
|
||||
.map((e) => ChartPointModel.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
userDetails:
|
||||
UserDetails.fromJson(json['userDetails'] as Map<String, dynamic>),
|
||||
circumferences: (json['circumferences'] as List<dynamic>)
|
||||
.map((e) => Circumference.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
finishedPlans: json['finishedPlans'] as List<dynamic>,
|
||||
rejectedPlans: json['rejectedPlans'] as List<dynamic>,
|
||||
startedPlan: json['startedPlan'] as List<dynamic>,
|
||||
paidPlan: json['paidPlan'] as List<dynamic>,
|
||||
requestedPlan: json['requestedPlan'] as List<dynamic>,
|
||||
initedPlan: json['initedPlan'] as List<dynamic>,
|
||||
id: (json['id'] as num).toInt(),
|
||||
name: json['name'] as String,
|
||||
email: json['email'] as String,
|
||||
emailVerifiedAt: json['email_verified_at'] == null
|
||||
? null
|
||||
: DateTime.parse(json['email_verified_at'] as String),
|
||||
createdAt: json['created_at'] == null
|
||||
? null
|
||||
: DateTime.parse(json['created_at'] as String),
|
||||
updatedAt: json['updated_at'] == null
|
||||
? null
|
||||
: DateTime.parse(json['updated_at'] as String),
|
||||
isPublicProfile: json['is_public_profile'] as bool,
|
||||
slug: json['slug'] as String,
|
||||
profilePhotoUrl: json['profile_photo_url'] as String,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$ProfileModelImplToJson(_$ProfileModelImpl instance) =>
|
||||
<String, dynamic>{
|
||||
'user': instance.user,
|
||||
'chartPoints': instance.chartPoints,
|
||||
'userDetails': instance.userDetails,
|
||||
'circumferences': instance.circumferences,
|
||||
'finishedPlans': instance.finishedPlans,
|
||||
'rejectedPlans': instance.rejectedPlans,
|
||||
'startedPlan': instance.startedPlan,
|
||||
'paidPlan': instance.paidPlan,
|
||||
'requestedPlan': instance.requestedPlan,
|
||||
'initedPlan': instance.initedPlan,
|
||||
};
|
||||
|
||||
_$CircumferenceImpl _$$CircumferenceImplFromJson(Map<String, dynamic> json) =>
|
||||
_$CircumferenceImpl(
|
||||
id: (json['id'] as num).toInt(),
|
||||
userId: (json['user_id'] as num).toInt(),
|
||||
chestCircumference: (json['chest_circumference'] as num).toInt(),
|
||||
waistCircumference: (json['waist_circumference'] as num).toInt(),
|
||||
hipCircumference: (json['hip_circumference'] as num).toInt(),
|
||||
createdAt: DateTime.parse(json['created_at'] as String),
|
||||
updatedAt: DateTime.parse(json['updated_at'] as String),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$CircumferenceImplToJson(_$CircumferenceImpl instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'user_id': instance.userId,
|
||||
'chest_circumference': instance.chestCircumference,
|
||||
'waist_circumference': instance.waistCircumference,
|
||||
'hip_circumference': instance.hipCircumference,
|
||||
'created_at': instance.createdAt.toIso8601String(),
|
||||
'updated_at': instance.updatedAt.toIso8601String(),
|
||||
};
|
||||
|
||||
_$UserImpl _$$UserImplFromJson(Map<String, dynamic> json) => _$UserImpl(
|
||||
id: (json['id'] as num).toInt(),
|
||||
name: json['name'] as String,
|
||||
email: json['email'] as String,
|
||||
emailVerifiedAt: json['email_verified_at'],
|
||||
twoFactorConfirmedAt: json['two_factor_confirmed_at'],
|
||||
currentTeamId: json['current_team_id'],
|
||||
profilePhotoPath: json['profile_photo_path'] as String?,
|
||||
createdAt: DateTime.parse(json['created_at'] as String),
|
||||
updatedAt: DateTime.parse(json['updated_at'] as String),
|
||||
isConsultant: (json['is_consultant'] as num).toInt(),
|
||||
isPublicProfile: (json['is_public_profile'] as num).toInt(),
|
||||
slug: json['slug'] as String,
|
||||
userSettingsId: json['user_settings_id'],
|
||||
profilePhotoUrl: json['profile_photo_url'] as String?,
|
||||
detailz: UserDetails.fromJson(json['detailz'] as Map<String, dynamic>),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$UserImplToJson(_$UserImpl instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'name': instance.name,
|
||||
'email': instance.email,
|
||||
'email_verified_at': instance.emailVerifiedAt,
|
||||
'two_factor_confirmed_at': instance.twoFactorConfirmedAt,
|
||||
'current_team_id': instance.currentTeamId,
|
||||
'profile_photo_path': instance.profilePhotoPath,
|
||||
'created_at': instance.createdAt.toIso8601String(),
|
||||
'updated_at': instance.updatedAt.toIso8601String(),
|
||||
'is_consultant': instance.isConsultant,
|
||||
'email_verified_at': instance.emailVerifiedAt?.toIso8601String(),
|
||||
'created_at': instance.createdAt?.toIso8601String(),
|
||||
'updated_at': instance.updatedAt?.toIso8601String(),
|
||||
'is_public_profile': instance.isPublicProfile,
|
||||
'slug': instance.slug,
|
||||
'user_settings_id': instance.userSettingsId,
|
||||
'profile_photo_url': instance.profilePhotoUrl,
|
||||
'detailz': instance.detailz,
|
||||
};
|
||||
|
||||
_$UserDetailsImpl _$$UserDetailsImplFromJson(Map<String, dynamic> json) =>
|
||||
_$UserDetailsImpl(
|
||||
id: (json['id'] as num).toInt(),
|
||||
userId: (json['user_id'] as num).toInt(),
|
||||
_$ProfileDetailsModelImpl _$$ProfileDetailsModelImplFromJson(
|
||||
Map<String, dynamic> json) =>
|
||||
_$ProfileDetailsModelImpl(
|
||||
firstName: json['first_name'] as String,
|
||||
lastName: json['last_name'] as String,
|
||||
birthdate: DateTime.parse(json['birthdate'] as String),
|
||||
birthdate: json['birthdate'] as String,
|
||||
gender: json['gender'] as String,
|
||||
country: json['country'] as String,
|
||||
city: json['city'] as String,
|
||||
lang: json['lang'] as String,
|
||||
weight: (json['weight'] as num).toInt(),
|
||||
weight: (json['weight'] as num).toDouble(),
|
||||
height: (json['height'] as num).toInt(),
|
||||
chestCircumference: (json['chest_circumference'] as num).toInt(),
|
||||
waistCircumference: (json['waist_circumference'] as num).toInt(),
|
||||
hipCircumference: (json['hip_circumference'] as num).toInt(),
|
||||
bloodPressureUp: (json['blood_pressure_up'] as num).toInt(),
|
||||
bloodPressureDown: (json['blood_pressure_down'] as num).toInt(),
|
||||
hasHypo: (json['has_hypo'] as num).toInt(),
|
||||
hasHyper: (json['has_hyper'] as num).toInt(),
|
||||
hasHypo: json['has_hypo'] as bool,
|
||||
hasHyper: json['has_hyper'] as bool,
|
||||
aboutAlergy: json['about_alergy'] as String,
|
||||
aboutTakingPils: json['about_taking_pils'] as String,
|
||||
aboutSportHobbies: json['about_sport_hobbies'] as String,
|
||||
favoriteFoods: json['favorite_foods'] as String,
|
||||
unfavoriteFoods: json['unfavorite_foods'] as String,
|
||||
additionalInfo: json['additional_info'] as String,
|
||||
createdAt: DateTime.parse(json['created_at'] as String),
|
||||
updatedAt: DateTime.parse(json['updated_at'] as String),
|
||||
isMoodFillable: (json['is_mood_fillable'] as num).toInt(),
|
||||
isBedtimeFillable: (json['is_bedtime_fillable'] as num).toInt(),
|
||||
createdAt: json['created_at'] == null
|
||||
? null
|
||||
: DateTime.parse(json['created_at'] as String),
|
||||
updatedAt: json['updated_at'] == null
|
||||
? null
|
||||
: DateTime.parse(json['updated_at'] as String),
|
||||
isMoodFillable: json['is_mood_fillable'] as bool,
|
||||
isBedtimeFillable: json['is_bedtime_fillable'] as bool,
|
||||
activityCoefficient: (json['activity_coefficient'] as num).toDouble(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$UserDetailsImplToJson(_$UserDetailsImpl instance) =>
|
||||
Map<String, dynamic> _$$ProfileDetailsModelImplToJson(
|
||||
_$ProfileDetailsModelImpl instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'user_id': instance.userId,
|
||||
'first_name': instance.firstName,
|
||||
'last_name': instance.lastName,
|
||||
'birthdate': instance.birthdate.toIso8601String(),
|
||||
'birthdate': instance.birthdate,
|
||||
'gender': instance.gender,
|
||||
'country': instance.country,
|
||||
'city': instance.city,
|
||||
@@ -157,31 +99,9 @@ Map<String, dynamic> _$$UserDetailsImplToJson(_$UserDetailsImpl instance) =>
|
||||
'favorite_foods': instance.favoriteFoods,
|
||||
'unfavorite_foods': instance.unfavoriteFoods,
|
||||
'additional_info': instance.additionalInfo,
|
||||
'created_at': instance.createdAt.toIso8601String(),
|
||||
'updated_at': instance.updatedAt.toIso8601String(),
|
||||
'created_at': instance.createdAt?.toIso8601String(),
|
||||
'updated_at': instance.updatedAt?.toIso8601String(),
|
||||
'is_mood_fillable': instance.isMoodFillable,
|
||||
'is_bedtime_fillable': instance.isBedtimeFillable,
|
||||
'activity_coefficient': instance.activityCoefficient,
|
||||
};
|
||||
|
||||
_$ChartPointModelImpl _$$ChartPointModelImplFromJson(
|
||||
Map<String, dynamic> json) =>
|
||||
_$ChartPointModelImpl(
|
||||
id: (json['id'] as num).toInt(),
|
||||
userId: (json['user_id'] as num).toInt(),
|
||||
weight: (json['weight'] as num).toDouble(),
|
||||
bmi: (json['bmi'] as num).toDouble(),
|
||||
createdAt: DateTime.parse(json['created_at'] as String),
|
||||
updatedAt: DateTime.parse(json['updated_at'] as String),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$ChartPointModelImplToJson(
|
||||
_$ChartPointModelImpl instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'user_id': instance.userId,
|
||||
'weight': instance.weight,
|
||||
'bmi': instance.bmi,
|
||||
'created_at': instance.createdAt.toIso8601String(),
|
||||
'updated_at': instance.updatedAt.toIso8601String(),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user