package repo

import (
	"ai_scheduler/internal/config"
	"ai_scheduler/internal/data/impl"
	"ai_scheduler/internal/pkg/utils_oss"
	"ai_scheduler/utils"
)

// Repos 聚合所有 Repository
type Repos struct {
	Session   SessionRepo
	OssClient *utils_oss.Client
	Rdb       *utils.Rdb
}

func NewRepos(sessionImpl *impl.SessionImpl, cfg *config.Config, rdb *utils.Rdb) *Repos {
	ossClient, _ := utils_oss.NewClient(cfg)
	return &Repos{
		Session:   NewSessionAdapter(sessionImpl),
		OssClient: ossClient,
		Rdb:       rdb,
	}
}
