import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:vk_id/vk_id.dart'; part 'auth_result_entity.freezed.dart'; @freezed abstract class AuthResultEntity with _$AuthResultEntity { const factory AuthResultEntity({ required String accessToken, required String userId, String? refreshToken, String? firstName, String? lastName, String? email, String? phone, GenderEnum? gender, String? birthDate, }) = _AuthResultEntity; } enum GenderEnum { male, female, notSet; static GenderEnum? fromVkGender(VkSex? vkGender) { switch (vkGender) { case VkSex.male: return GenderEnum.male; case VkSex.female: return GenderEnum.female; case VkSex.notStated: return GenderEnum.notSet; case null: return null; } } static GenderEnum? fromString(String? gender) { switch (gender) { case 'male': return GenderEnum.male; case 'female': return GenderEnum.female; case 'notSet': return GenderEnum.notSet; default: return null; } } }