| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using System.Text.Json.Serialization;
- namespace Web.Api.Common;
- public sealed class ApiResponse
- {
- [JsonPropertyName("success")]
- public bool Success { get; init; }
- [JsonPropertyName("data")]
- [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public object? Data { get; init; }
- [JsonPropertyName("status")]
- [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
- public int Status { get; init; }
- [JsonPropertyName("message")]
- [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public string? Message { get; init; }
- [JsonPropertyName("errors")]
- [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public object? Errors { get; init; }
- public static IResult Ok(object? data = null)
- {
- return Results.Ok(new ApiResponse
- {
- Success = true,
- Data = data
- });
- }
- public static IResult Created(object? data = null)
- {
- return Results.Json(new ApiResponse
- {
- Success = true,
- Data = data
- }, statusCode: StatusCodes.Status201Created);
- }
- public static IResult Fail(int status, string message, object? errors = null)
- {
- return Results.Json(new ApiResponse
- {
- Success = false,
- Status = status,
- Message = message,
- Errors = errors
- }, statusCode: status);
- }
- }
|