// 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/rest" "github.com/zeromicro/go-zero/zrpc" ) type ServiceContext struct { Config config.Config CoreRpc coreClient.Core Redis *redis.Redis SignatureMiddleware *middleware.SignatureMiddleware DecryptMiddleware rest.Middleware } 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)), Redis: rds, SignatureMiddleware: middleware.NewSignatureMiddleware(c, nonceStore), DecryptMiddleware: middleware.NewDecryptMiddleware(c).Handle, } }