package errorcode

import (
	"context"

	"github.com/tidbcloud/pkgv2/bizerr"
	"github.com/tidbcloud/pkgv2/svcid"
)

var (
	ErrCodeStorageLimitExceed = NewImportBusinessErrCode(1, "ErrCodeStorageLimitExceed")
	ErrCodeTableNotEmpty      = NewImportBusinessErrCode(3, "ErrCodeTableNotEmpty")
	ErrCodeTableNotExist      = NewImportBusinessErrCode(4, "ErrCodeTableNotExist")
)

var ImportErrorMessages = map[bizerr.ErrCode]string{
	ErrCodeStorageLimitExceed: "The storage limit of import has been exceeded. Please try again later.",
}

func NewImportBusinessErrCode(offset int, memo string) bizerr.ErrCode {
	return bizerr.NewBusinessErrCode(svcid.ServerlessService, offset+ImportErrorOffSet, memo)
}

func PrepareImportErrorMessage(ctx context.Context, err error) bizerr.BizError {
	return PrepareErrorMessage(ctx, err, ImportErrorMessages)
}
