zero-ppanel/apps/api/internal/svc/serviceContext.go

33 lines
1.0 KiB
Go

// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package svc
import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/config"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/middleware"
coreClient "github.com/zero-ppanel/zero-ppanel/apps/rpc/core/coreclient"
"github.com/zero-ppanel/zero-ppanel/pkg/signature"
"github.com/zeromicro/go-zero/core/stores/redis"
"github.com/zeromicro/go-zero/zrpc"
)
type ServiceContext struct {
Config config.Config
CoreRpc coreClient.Core
SignatureMiddleware *middleware.SignatureMiddleware
DecryptMiddleware *middleware.DecryptMiddleware
}
func NewServiceContext(c config.Config) *ServiceContext {
rds := redis.MustNewRedis(c.CacheRedis)
nonceStore := signature.NewRedisNonceStore(rds)
return &ServiceContext{
Config: c,
CoreRpc: coreClient.NewCore(zrpc.MustNewClient(c.CoreRpc)),
SignatureMiddleware: middleware.NewSignatureMiddleware(c, nonceStore),
DecryptMiddleware: middleware.NewDecryptMiddleware(c),
}
}