package repo

import (
	"context"

	"github.com/tidbcloud/pkgv2/bizerr"
	"github.com/tidbcloud/serverless-service/internal/domain/entity"
)

type ImportRepo interface {
	GetImportByID(ctx context.Context, clusterID string, id string) (*entity.Import, bizerr.BizError)
	Update(ctx context.Context, record *entity.Import, columns ...string) bizerr.BizError
	ListImportsByFilter(ctx context.Context, filter *entity.ImportFilter) ([]*entity.Import, bizerr.BizError)
	CountImports(ctx context.Context, filter *entity.ImportFilter) (int64, bizerr.BizError)
	Create(ctx context.Context, i *entity.Import) bizerr.BizError
	GetImportByIDCompat(ctx context.Context, clusterID string, idCompat uint64) (*entity.Import, bizerr.BizError)
}
