package com.platform2easy.genesis.domain.model;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Entity
@Table(name = "\"user\"")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class AppUser {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "user_id")
    private Long userId;

    @Column(name = "user_name", nullable = false)
    private String userName;

    @Column(name = "user_email", nullable = false, unique = true)
    private String userEmail;

    @Column(name = "user_password", nullable = false)
    private String userPassword;

    @Column(name = "user_phone", nullable = false)
    private String userPhone;

    @Column(name = "user_address", nullable = false)
    private String userAddress;

    @Column(name = "user_city", nullable = false)
    private String userCity;

    @Column(name = "user_state", nullable = false)
    private String userState;

    @Column(name = "user_zip", nullable = false)
    private String userZip;

    @Column(name = "user_country", nullable = false)
    private String userCountry;

    @Column(name = "user_kyc", nullable = false)
    private Integer userKyc;

    @Column(name = "user_birthdate", nullable = false)
    private Integer userBirthdate;

    @Column(name = "user_cpf", nullable = false)
    private String userCpf;

    @Column(name = "company_id", nullable = false)
    private Integer companyId;

    @Column(name = "role_id", nullable = false)
    private Integer roleId;

    @Column(name = "user_flag", nullable = false)
    private String userFlag;
}