package utils

import (
	"github.com/gin-gonic/gin"
)

// SuccessResponse 成功响应结构
type SuccessResponse struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

// ErrorResponse 错误响应结构
type ErrorResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

// RespondSuccess 返回成功响应
func RespondSuccess(c *gin.Context, code int, message string, data interface{}) {
	c.JSON(code, SuccessResponse{
		Code:    code,
		Message: message,
		Data:    data,
	})
}

// RespondError 返回错误响应
func RespondError(c *gin.Context, code int, message string) {
	c.JSON(code, ErrorResponse{
		Code:    code,
		Message: message,
	})
}

// RespondValidationError 返回验证错误响应
func RespondValidationError(c *gin.Context, errors map[string]string) {
	c.JSON(400, gin.H{
		"code":    400,
		"message": "Validation error",
		"errors":  errors,
	})
}