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

42 lines
1.9 KiB
Dart

import 'package:freezed_annotation/freezed_annotation.dart';
part 'user_registration_model.freezed.dart';
part 'user_registration_model.g.dart';
@freezed
abstract class UserRegistrationSheet with _$UserRegistrationSheet {
const factory UserRegistrationSheet({
@JsonKey(name: 'first_name') required String firstName,
@JsonKey(name: 'last_name') required String lastName,
required String email,
required String password,
@JsonKey(name: 'password_confirmation') required String passwordConfirmation,
@Default('accepted') @JsonKey(name: 'terms') String termsAccepted,
required String birthdate,
required String gender,
required String location,
@JsonKey(name: 'response_body') required String responseBody,
required String lang,
required int weight,
required int height,
required String phone,
@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 aboutAllergy,
@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,
@Default(1.2) @JsonKey(name: 'activity_coefficient') double activityCoefficient,
}) = _UserRegistrationSheet;
factory UserRegistrationSheet.fromJson(Map<String, Object?> json) => _$UserRegistrationSheetFromJson(json);
}