package models import coreTypes "git.apinb.com/bsm-sdk/core/types" // 权限模型 type MgtPermission struct { coreTypes.Std_IICUDS // 标准字段 Title string `gorm:"column:title;type:varchar(255);" json:"title"` // 权限名称 TitleEn string `gorm:"column:title_en;type:varchar(255);" json:"title_en"` // 权限名称 Code string `gorm:"column:code;type:varchar(255);uniqueIndex:idx_mgt_pmn_app_code" json:"code"` // 权限标识,与 app_id 联合唯一 Description string `gorm:"column:description;type:text" json:"description"` // 权限描述 Appid uint `gorm:"column:app_id;uniqueIndex:idx_mgt_pmn_app_code" json:"app_id"` // 应用ID ParentID uint `gorm:"column:parent_id;default:0" json:"parent_id" ` // 父级ID MenuPath string `gorm:"column:menu_path;" json:"menu_path"` // 菜单路径 MenuIcon string `gorm:"column:menu_icon;" json:"menu_icon"` // 菜单图标 SortKey int8 `gorm:"column:sort_key;default:0;" json:"sort_key"` // 排序键 Type int8 `gorm:"column:type;comment:1=菜单 2=按钮" json:"type"` // 类型 1=菜单 2=按钮 Component string `gorm:"column:component;type:varchar(255)" json:"component"` // 组件路径 非必填 IsWebPage bool `gorm:"column:is_web_page;default:0" json:"is_web_page"` IsNewTab bool `gorm:"column:is_new_tab;default:0" json:"is_new_tab"` // 是否在新标签页打开 非必填 IsFull bool `gorm:"column:is_full;default:0" json:"is_full"` // 单独页面,不包含菜单,默认为 false HideMenu bool `gorm:"column:hide_menu;default:0" json:"hide_menu"` // 隐藏菜单栏的菜单,默认为 false WebUrl string `gorm:"column:web_url;type:varchar(500)" json:"web_url"` // 网页地址 Users []MgtUser `gorm:"many2many:mgt_link_user_pmn;foreignKey:ID;joinForeignKey:pmn_id;References:ID;joinReferences:user_id" json:"users,omitempty"` // 权限关联的用户 Roles []MgtRole `gorm:"many2many:mgt_link_role_pmn;foreignKey:ID;joinForeignKey:pmn_id;References:ID;joinReferences:role_id" json:"roles,omitempty"` // 权限关联的角色 Departments []MgtDepartment `gorm:"many2many:mgt_link_dpt_pmn;foreignKey:ID;joinForeignKey:pmn_id;References:ID;joinReferences:dpt_id" json:"departments,omitempty"` // 关联的部门(部门替代用户组) Applications MgtApplication `gorm:"foreignKey:Appid;references:ID" json:"applications,omitempty"` Children []MgtPermission `gorm:"foreignKey:ParentID;references:ID" json:"children,omitempty"` // 子集 } func (MgtPermission) TableName() string { return "mgt_permission" } // func init() { // database.AppendMigrate(&Permission{}) // }