package utils

import "errors"

var (
	// 通用错误
	ErrInvalidInput = errors.New("无效的输入")
	ErrNotFound     = errors.New("资源不存在")
	ErrUnauthorized = errors.New("未授权的访问")
	ErrForbidden    = errors.New("禁止访问")

	// 授权相关错误
	ErrInvalidToken     = errors.New("无效的令牌")
	ErrTokenExpired     = errors.New("令牌已过期")
	ErrInvalidCaptcha   = errors.New("无效的验证码")
	ErrCaptchaExpired   = errors.New("验证码已过期")
	ErrInvalidLicense   = errors.New("无效的授权码")
	ErrLicenseExpired   = errors.New("授权码已过期")
	ErrLicenseUsed      = errors.New("授权码已被使用")
	ErrDeviceNotFound   = errors.New("设备不存在")
	ErrDeviceRegistered = errors.New("设备已注册")
)

// ErrorResponse 统一错误响应结构
type ErrorResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Detail  string `json:"detail,omitempty"`
}
