2025-06-08 12:04:18 +08:00

50 lines
1.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package permission
import (
"context"
"122.51.31.227/go-course/go18/devcloud/mcenter/apps/endpoint"
"github.com/infraboard/mcube/v2/ioc"
"github.com/infraboard/mcube/v2/ioc/config/gorestful"
"github.com/infraboard/mcube/v2/ioc/config/log"
"github.com/rs/zerolog"
)
func init() {
ioc.Api().Registry(&ApiRegister{})
}
func GetApiRegister() *ApiRegister {
return ioc.Api().Get("api_register").(*ApiRegister)
}
// 接口注册模块: 扫描当前GoResuful Container下所有路径并完成注册
type ApiRegister struct {
ioc.ObjectImpl
log *zerolog.Logger
}
func (c *ApiRegister) Name() string {
return "api_register"
}
// 这个Init一定要放到所有的路由都添加完成后进行
func (i *ApiRegister) Priority() int {
return -100
}
func (a *ApiRegister) Init() error {
a.log = log.Sub(a.Name())
// 注册认证中间件
entries := endpoint.NewEntryFromRestfulContainer(gorestful.RootRouter())
req := endpoint.NewRegistryEndpointRequest()
req.AddItem(entries...)
set, err := endpoint.GetService().RegistryEndpoint(context.Background(), req)
if err != nil {
return err
}
a.log.Info().Msgf("registry endpoinst: %s", set.Items)
return nil
}