using Microsoft.AspNetCore.Http;
namespace Hua.Todo.Application.CloudSync.Models;
///
/// 云同步 API 错误响应生成器。
///
public static class CloudApiErrors
{
///
/// 生成标准错误响应。
///
/// HTTP 状态码。
/// 业务错误码。
/// 错误消息。
/// 最小 API 结果。
public static IResult Error(int statusCode, string code, string message)
{
return Results.Json(
new ApiErrorResponse { Code = code, Message = message },
statusCode: statusCode);
}
///
/// 未认证。
///
public static IResult Unauthorized(string message = "Unauthorized.")
=> Error(StatusCodes.Status401Unauthorized, "UNAUTHORIZED", message);
///
/// 权限不足。
///
public static IResult Forbidden(string message = "Forbidden.")
=> Error(StatusCodes.Status403Forbidden, "FORBIDDEN", message);
///
/// 请求非法。
///
public static IResult BadRequest(string message = "Bad request.")
=> Error(StatusCodes.Status400BadRequest, "BAD_REQUEST", message);
///
/// 资源不存在。
///
public static IResult NotFound(string message = "Not found.")
=> Error(StatusCodes.Status404NotFound, "NOT_FOUND", message);
}