27 lines
1.7 KiB
Go
27 lines
1.7 KiB
Go
package entities
|
|
|
|
import "github.com/google/uuid"
|
|
|
|
type M_User struct {
|
|
ID uuid.UUID `gorm:"type:uuid;primary_key;default:uuid_generate_v4()" json:"id"`
|
|
Name string `gorm:"type:varchar(100);not null" json:"name"`
|
|
Username string `gorm:"type:varchar(100);uniqueIndex;not null" json:"username"`
|
|
Password string `gorm:"type:varchar(255);not null" json:"password"`
|
|
Gender string `gorm:"type:varchar(10)" json:"gender"`
|
|
Address string `gorm:"type:text" json:"address"`
|
|
Phone string `gorm:"type:varchar(20);index" json:"phone"`
|
|
Email string `gorm:"type:varchar(255);uniqueIndex;not null" json:"email"`
|
|
PhotoUrl string `gorm:"type:varchar(255)" json:"photo_url"`
|
|
ClientID uuid.UUID `gorm:"type:uuid;not null;index" json:"client_id"`
|
|
MaintenanceGroupUserID uuid.UUID `gorm:"type:uuid;index" json:"maintenance_group_user_id"`
|
|
LocationID uuid.UUID `gorm:"type:uuid;index" json:"location_id"`
|
|
|
|
Client M_Client `gorm:"foreignKey:ClientID;references:ID"`
|
|
UserRoles []M_User_Role `gorm:"foreignKey:UserID;references:ID" json:"user_roles"`
|
|
Roles []M_Role `gorm:"many2many:m_user_roles;foreignKey:ID;joinForeignKey:UserID;References:ID;JoinReferences:RoleID" json:"roles"`
|
|
UserWarehouses []MUserWarehouseEntity `gorm:"foreignKey:UserID;references:ID" json:"user_warehouses"`
|
|
Warehouses []MWarehouseEntity `gorm:"many2many:m_user_warehouses;foreignKey:ID;joinForeignKey:UserID;References:ID;JoinReferences:WarehouseID" json:"warehouses"`
|
|
|
|
FullAuditTrail
|
|
}
|