import 'package:comwell_key_app/domain/models/address.dart';

import 'package:freezed_annotation/freezed_annotation.dart';

part '../../.generated/domain/models/user.freezed.dart';

@freezed
abstract class User with _$User {
  const factory User({
    @Default("") String userId,
    @Default("") String hmsId,
    @Default("") String firstName,
    @Default("") String lastName,
    @Default("") String phoneNumber,
    @Default("") String email,
    @Default("") String shopperReference,
    @Default("") String gender,
    @Default("") String companyId,
    @Default("") String companyName,
    @Default("") String symplifyId,
    @Default("") String signUpCampaign,
    @Default("") String signUpSource,
    @Default("") String locale,
    @Default("") String nationality,
    @Default(false) bool emailVerified,
    @Default(false) bool isClubMember,
    @Default(false) bool wasRecentlyCreated,
    @Default(Address()) Address address,
    @Default(0) int points,
    DateTime? birthDate,
    DateTime? createDate,
    DateTime? signUpDate,
  }) = _User;
}