33 lines
937 B
Go
33 lines
937 B
Go
package svc
|
|
|
|
import (
|
|
"code.30cm.net/digimon/app-cloudep-permission-server/internal/config"
|
|
duc "code.30cm.net/digimon/app-cloudep-permission-server/pkg/domain/usecase"
|
|
"code.30cm.net/digimon/app-cloudep-permission-server/pkg/repository"
|
|
"code.30cm.net/digimon/app-cloudep-permission-server/pkg/usecase"
|
|
"github.com/zeromicro/go-zero/core/stores/redis"
|
|
)
|
|
|
|
type ServiceContext struct {
|
|
Config config.Config
|
|
TokenUseCase duc.TokenUseCase
|
|
}
|
|
|
|
func NewServiceContext(c config.Config) *ServiceContext {
|
|
newRedis, err := redis.NewRedis(c.RedisCluster)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
repo := repository.NewTokenRepository(repository.TokenRepositoryParam{Redis: newRedis})
|
|
|
|
return &ServiceContext{
|
|
Config: c,
|
|
TokenUseCase: usecase.NewTokenUseCase(usecase.TokenUseCaseParam{
|
|
TokenRepo: repo,
|
|
RefreshExpires: c.Token.RefreshExpires,
|
|
Expired: c.Token.Expired,
|
|
Secret: c.Token.Secret,
|
|
}),
|
|
}
|
|
}
|