package user

import (
	"time"

	ecore "simrs-vx/internal/domain/base-entities/core"
	erc "simrs-vx/internal/domain/references/common"
	erg "simrs-vx/internal/domain/references/organization"
)

type User struct {
	ecore.Main                                     // adjust this according to the needs
	Name                  string                   `json:"name" gorm:"unique;not null;size:25"`
	Password              string                   `json:"password" gorm:"not null;size:255"`
	Status_Code           erc.UserStatusCode       `json:"status_code" gorm:"not null;size:10"`
	ContractPosition_Code erg.ContractPositionCode `json:"contractPosition_code" gorm:"not null;size:20"`
	FailedLoginCount      uint8                    `json:"failedLoginCount" gorm:"type:smallint"`
	LoginAttemptCount     int                      `json:"-"`
	LastSuccessLogin      *time.Time               `json:"lastSuccessLogin,omitempty"`
	LastAllowdLogin       *time.Time               `json:"lastAllowdLogin,omitempty"`
}
