package repo

import (
	"context"

	"github.com/tidbcloud/cluster-service-ng/domain/entity"
)

type BackupGcSettingFilter struct {
	IncludeStatuses []string
	HasManualBackup *bool
}

type BackupGcSettingRepo interface {
	Create(ctx context.Context, backupGcSetting *entity.BackupGcSetting) error
	Save(ctx context.Context, backupGcSetting *entity.BackupGcSetting) error
	Load(ctx context.Context, sharedPoolId string) (*entity.BackupGcSetting, error)
	Delete(ctx context.Context, sharedPoolId string) error
	List(ctx context.Context, filter *BackupGcSettingFilter) ([]*entity.BackupGcSetting, error)
}
