forked from eatvio/eatvio_app
53 lines
1.1 KiB
Dart
53 lines
1.1 KiB
Dart
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,
|
|
required String clientId,
|
|
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;
|
|
}
|
|
}
|
|
}
|