package svc import ( "app-cloudep-tweeting-service/internal/config" domainRepo "app-cloudep-tweeting-service/internal/domain/repository" model "app-cloudep-tweeting-service/internal/model/mongo" "app-cloudep-tweeting-service/internal/repository" "github.com/zeromicro/go-zero/core/stores/redis" vi "code.30cm.net/digimon/library-go/validator" ) type ServiceContext struct { Config config.Config Validate vi.Validate PostModel model.PostModel CommentModel model.CommentModel TimelineRepo domainRepo.TimelineRepository } func NewServiceContext(c config.Config) *ServiceContext { newRedis, err := redis.NewRedis(c.RedisCluster, redis.Cluster()) if err != nil { panic(err) } return &ServiceContext{ Config: c, Validate: vi.MustValidator(), PostModel: MustPostModel(c), CommentModel: MustCommentModel(c), TimelineRepo: repository.MustGenerateUseCase(repository.TimelineRepositoryParam{ Config: c, Redis: *newRedis, }), } }