package repo

import (
	"context"

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

type UploadRepo interface {
	Create(ctx context.Context, record *entity.Upload) (err bizerr.BizError)
	GetUploadByID(ctx context.Context, id string) (upload *entity.Upload, err bizerr.BizError)
	GetUploadByIDCompat(ctx context.Context, id uint64) (upload *entity.Upload, err bizerr.BizError)
	UpdateStatus(ctx context.Context, id string, status constant.UploadStatus) bizerr.BizError
}
