# -*- coding: utf-8 -*-
"""
response.py — 统一 API 响应封装

提供 success_response / error_response，规范 API 返回结构：
  成功：{"success": True, ...data}
  失败：{"success": False, "error": {"code": int, "message": str}}
"""

from utils.error_codes import ErrorCodes


def success_response(**data):
    """统一成功响应"""
    result = {"success": True}
    result.update(data)
    return result


def error_response(error_code, message=None):
    """
    统一错误响应。

    参数：
      error_code: ErrorCodes 中的 (code, default_msg) 元组
      message: 自定义错误信息，None 时用默认信息
    """
    code, default_msg = error_code
    return {
        "success": False,
        "error": {
            "code": code,
            "message": message or default_msg,
        },
    }


# 便捷别名
INTERNAL_ERROR = lambda msg=None: error_response(ErrorCodes.UNKNOWN_ERROR, msg)
