package models

// ApiResponse es la respuesta genérica para la API
type ApiResponse struct {
	Success       bool       `json:"success"`
	Status        int        `json:"status"`
	TransaccionID string     `json:"transaccion_id,omitempty"`
	Message       string     `json:"message"`
	Data          []DataItem `json:"data,omitempty"`
}

// DataItem es un item de datos para la respuesta API
type DataItem struct {
	CodigoAutorizacion string `json:"codigoAutorizacion,omitempty"`
	URL                string `json:"url,omitempty"`
	Msg                string `json:"message,omitempty"`
}

// ApiError representa un error de la API con código HTTP y mensaje
type ApiError struct {
	Success bool   `json:"sucess"`
	Status  int    `json:"status"`
	Message string `json:"message"`
	Data    any    `json:"data,omitempty"`
}

func (e ApiError) Error() string {
	return e.Message
}
