package employee

import (
	ecore "simrs-vx/internal/domain/base-entities/core"
	ep "simrs-vx/internal/domain/main-entities/person"
	eu "simrs-vx/internal/domain/main-entities/user"
	erc "simrs-vx/internal/domain/references/common"
	erg "simrs-vx/internal/domain/references/organization"
	"time"
)

type Employee struct {
	ecore.Main                                     // adjust this according to the needs
	User_Id              *uint                     `json:"user_id"`
	User                 *eu.User                  `json:"user,omitempty" gorm:"foreignKey:User_Id;references:Id"`
	Person_Id            *uint                     `json:"person_id"`
	Person               *ep.Person                `json:"person,omitempty" gorm:"foreignKey:Person_Id;references:Id"`
	Position_Code        *erg.EmployeePositionCode `json:"position_code" gorm:"size:20"`
	Number               *string                   `json:"number" gorm:"size:20"`
	Contract_ExpiredDate *time.Time                `json:"contract_expiredDate"`
	Status_Code          erc.ActiveStatusCode      `json:"status_code" gorm:"not null;size:10"`
}
