wms-be/database/entities/m_menu_entity.go

27 lines
1.3 KiB
Go

package entities
import (
"github.com/google/uuid"
)
type M_Menu 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"`
IconUrl string `gorm:"type:varchar(255)" json:"icon_url"`
Url string `gorm:"type:varchar(255);not null" json:"url"`
Sequence int `gorm:"type:int;not null" json:"sequence"`
Mode string `gorm:"type:varchar(50);not null" json:"mode"`
TableName string `gorm:"type:varchar(100)" json:"table_name"`
Status string `gorm:"type:varchar(50);not null" json:"status"`
ParentID *uuid.UUID `gorm:"type:uuid" json:"parent_id"`
Parent *M_Menu `gorm:"foreignKey:ParentID;references:ID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"parent"`
Children []M_Menu `gorm:"foreignKey:ParentID;references:ID" json:"children"`
RoleMenus []M_Role_Menu `gorm:"foreignKey:MenuID;references:ID" json:"role_menus"`
Permissions []M_Permissions `gorm:"foreignKey:MenuID;references:ID" json:"permissions"`
MenusClients []M_Menu_Client `gorm:"foreignKey:MenuID;references:ID" json:"menus_clients"`
Clients []M_Client `gorm:"many2many:m_menu_clients;joinForeignKey:MenuID;JoinReferences:ClientID" json:"clients"`
FullAuditTrail
}