1 Star 0 Fork 0

aurora-engine / adman

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
adman.go 1.70 KB
一键复制 编辑 原始数据 按行查看 历史
aurora.io 提交于 2023-07-28 22:01 . update
package adman
import (
"embed"
"gitee.com/aurora-engine/adman/api/configuration"
"gitee.com/aurora-engine/adman/api/user"
"gitee.com/aurora-engine/adman/mappers"
"gitee.com/aurora-engine/adman/notify"
"gitee.com/aurora-engine/adman/primary"
"gitee.com/aurora-engine/adman/utils/tokenutils"
"gitee.com/aurora-engine/aurora"
"gitee.com/aurora-engine/web"
)
//go:embed mappers/*.xml
var mp embed.FS
// Adman
// T 系统主键类型
type Adman[T primary.Key] struct {
*aurora.Engine
User *user.Control[T]
MenuManage *configuration.MenuManagement[T]
OrgManage *configuration.OrgManagement[T]
RoleManage *configuration.RoleManagement[T]
AccountManage *configuration.AccountManagement[T]
FuncManage *configuration.FuncManagement[T]
ToolManage *configuration.ToolManagement[T]
}
func NewAdman[T primary.Key]() web.Constructor {
return func() any {
return &Adman[T]{}
}
}
// MapperInfo 导出 adman 的 mapper文件 和文件根路径 以及 对应的 mapper 结构体
// T 系统用户主键类型
func MapperInfo[T primary.Key]() (root string, fs embed.FS, ms []any) {
return "mappers",
mp,
[]any{
new(mappers.UserMapper[T]),
new(mappers.MenuManageMapper[T]),
new(mappers.OrgManageMapper[T]),
new(mappers.RoleManageMapper[T]),
new(mappers.RbacManageMapper[T]),
new(mappers.AccountManageMapper[T]),
new(mappers.FuncManageMapper[T]),
new(mappers.ToolManageMapper[T]),
new(notify.NotifyMapper[T]),
}
}
// InitAdman 初始化配置项
func InitAdman[T primary.Key]() aurora.Option {
return func(engine *aurora.Engine) {
// 注册系统参数 token 参数解析
engine.Variate(&tokenutils.Token[T]{}, tokenutils.GetToken[T])
engine.Use(config[T]()...)
}
}
Go
1
https://gitee.com/aurora-engine/adman.git
git@gitee.com:aurora-engine/adman.git
aurora-engine
adman
adman
v0.0.2

搜索帮助