package repo

import (
	"context"
	"time"

	"github.com/tidbcloud/dataflow-service/app/repo/entity"
	"github.com/tidbcloud/pkgv2/bizerr"
)

type ClassicRestoreAccessRepo interface {
	GetOrCreate(
		ctx context.Context, access *entity.ClassicRestoreAccess,
	) (*entity.ClassicRestoreAccess, bizerr.BizError)
	Get(ctx context.Context, restoreID string, bucketID uint64) (*entity.ClassicRestoreAccess, bizerr.BizError)
	ListExpired(ctx context.Context, now time.Time) ([]entity.ClassicRestoreAccess, bizerr.BizError)
	Delete(ctx context.Context, id entity.ID) bizerr.BizError
}
