package product

import "errors"

var (
	ErrActiveLimit      = errors.New("ACTIVE_LIMIT_REACHED")
	ErrAlreadyWorking   = errors.New("ALREADY_WORKING")
	ErrDailyAddLimit    = errors.New("DAILY_ADD_LIMIT")
	ErrFeatureDisabled  = errors.New("FEATURE_DISABLED")
	ErrInvalidCNPJ      = errors.New("INVALID_CNPJ")
	ErrLeadNotFound     = errors.New("LEAD_NOT_FOUND")
	ErrInvalidStage     = errors.New("INVALID_STAGE")
	ErrExportLimit      = errors.New("EXPORT_LIMIT")
)

type APIError struct {
	Code    string
	Message string
	Status  int
}

func (e *APIError) Error() string { return e.Message }

func ApiErr(code, msg string, status int) *APIError {
	return &APIError{Code: code, Message: msg, Status: status}
}

func apiErr(code, msg string, status int) *APIError {
	return ApiErr(code, msg, status)
}
