mingyang-admin-iot-app/api/internal/svc/service_context.go

30 lines
811 B
Go

package svc
import (
"github.com/saas-mingyang/mingyang-admin-common/i18n"
"github.com/zeromicro/go-zero/rest"
"github.com/zeromicro/go-zero/zrpc"
"mingyang-admin-app-api/internal/config"
i18n2 "mingyang-admin-app-api/internal/i18n"
"mingyang-admin-app-api/internal/middleware"
"mingyang-admin-app-rpc/appclient"
)
type ServiceContext struct {
Config config.Config
Trans *i18n.Translator
Authority rest.Middleware
AppRpc appclient.App
}
func NewServiceContext(c config.Config) *ServiceContext {
trans := i18n.NewTranslator(c.I18nConf, i18n2.LocaleFS)
rds := c.RedisConf.MustNewUniversalRedis()
return &ServiceContext{
Authority: middleware.NewAuthorityMiddleware(rds).Handle,
Config: c,
Trans: trans,
AppRpc: appclient.NewApp(zrpc.NewClientIfEnable(c.AppRpc)),
}
}