package repo

import (
	"github.com/tidbcloud/devops/pkg/service/clustermaintenance/repo/maintenance"
	iew "github.com/tidbcloud/devops/pkg/service/clustermaintenance/repo/ops_execution_window"
	imw "github.com/tidbcloud/devops/pkg/service/clustermaintenance/repo/ops_maintenance_window"

	"github.com/tidbcloud/pkgv2/db"
)

type Repo struct {
	Maintenance          maintenance.MaintenanceRepo
	OpsExecutionWindow   iew.Repo
	OpsMaintenanceWindow imw.Repo
}

func NewRepo(dbp db.Provider) *Repo {
	return &Repo{
		Maintenance:          maintenance.NewMaintenanceRepo(dbp),
		OpsExecutionWindow:   iew.NewRepo(dbp),
		OpsMaintenanceWindow: imw.NewRepo(dbp),
	}
}
