refactor(ApiResponse): change generic type parameter from T to TResult for clarity

This commit is contained in:
Jean Gatto
2025-04-25 13:42:58 -03:00
parent b0b3ca4b41
commit 22e7a6c85a
+11 -7
View File
@@ -4,11 +4,15 @@ using Microsoft.AspNetCore.Http;
namespace Shop.PublicApi.Models; namespace Shop.PublicApi.Models;
public sealed class ApiResponse<T> : ApiResponse public sealed class ApiResponse<TResult> : ApiResponse
{ {
[JsonConstructor] [JsonConstructor]
public ApiResponse(T result, bool success, string successMessage, int statusCode, IEnumerable<ApiErrorResponse> errors) public ApiResponse(
: base(success, successMessage, statusCode, errors) TResult result,
bool success,
string successMessage,
int statusCode,
IEnumerable<ApiErrorResponse> errors) : base(success, successMessage, statusCode, errors)
{ {
Result = result; Result = result;
} }
@@ -17,14 +21,14 @@ public sealed class ApiResponse<T> : ApiResponse
{ {
} }
public T Result { get; private init; } public TResult Result { get; private init; }
public static ApiResponse<T> Ok(T result) => public static ApiResponse<TResult> Ok(TResult result) =>
new() { Success = true, StatusCode = StatusCodes.Status200OK, Result = result }; new() { Success = true, StatusCode = StatusCodes.Status200OK, Result = result };
public static ApiResponse<T> Ok(T result, string successMessage) => public static ApiResponse<TResult> Ok(TResult result, string successMessage) =>
new() { Success = true, StatusCode = StatusCodes.Status200OK, Result = result, SuccessMessage = successMessage }; new() { Success = true, StatusCode = StatusCodes.Status200OK, Result = result, SuccessMessage = successMessage };
public static ApiResponse<T> Created(T result) => public static ApiResponse<TResult> Created(TResult result) =>
new() { Success = true, StatusCode = StatusCodes.Status201Created, Result = result }; new() { Success = true, StatusCode = StatusCodes.Status201Created, Result = result };
} }