26 lines
1.2 KiB
Go
26 lines
1.2 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"`
|
|
|
|
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
|
|
}
|