import 'package:comwell_key_app/services/models/user_permissions.dart';
import 'package:json_annotation/json_annotation.dart';
part '../../.generated/services/models/user_dto.g.dart';
@JsonSerializable()
class UserDto {
final int id;
final String userId;
final String? hmsId;
final String firstName;
final String lastName;
final String email;
final bool emailVerified;
final bool isClubMember;
final DateTime? birthDate;
final DateTime? createDate;
final String? companyId;
final String? companyName;
final String? symplifyId;
final String phoneNumber;
final String? gender;
final String addressStreet;
final String addressZip;
final String addressCity;
final String addressCountry;
final int points;
final DateTime? signUpDate;
final String? signUpCampaign;
final String? signUpSource;
final String? locale;
final bool wasRecentlyCreated;
final UserPermissions? permissions;
final String? nationality;
UserDto({
required this.id,
this.userId = '',
this.hmsId,
required this.firstName,
required this.lastName,
required this.email,
required this.emailVerified,
required this.isClubMember,
this.birthDate,
this.createDate,
this.companyId,
this.companyName,
this.symplifyId,
this.phoneNumber = '',
this.gender,
this.addressStreet = '',
this.addressZip = '',
this.addressCity = '',
this.addressCountry = '',
required this.points,
this.signUpDate,
this.signUpCampaign,
this.signUpSource,
this.locale = '',
required this.wasRecentlyCreated,
this.permissions,
this.nationality,
});
factory UserDto.fromJson(Map<String, dynamic> json) =>
_$UserDtoFromJson(json);
Map<String, dynamic> toJson() => _$UserDtoToJson(this);
}