Files
Wino-Mail/Wino.Core.Domain/Models/Accounts/WinoAccountApiResult.cs
T

30 lines
830 B
C#
Raw Normal View History

2026-03-19 01:50:14 +01:00
#nullable enable
2026-03-19 16:41:35 +01:00
using System.Text.Json;
2026-03-19 01:50:14 +01:00
namespace Wino.Core.Domain.Models.Accounts;
public sealed class WinoAccountApiResult<T>
{
public bool IsSuccess { get; init; }
public string? ErrorCode { get; init; }
public string? ErrorMessage { get; init; }
2026-03-19 16:41:35 +01:00
public JsonElement? ErrorDetails { get; init; }
2026-03-19 01:50:14 +01:00
public T? Result { get; init; }
public static WinoAccountApiResult<T> Success(T result)
=> new()
{
IsSuccess = true,
Result = result
};
2026-03-19 16:41:35 +01:00
public static WinoAccountApiResult<T> Failure(string? errorCode, string? errorMessage = null, JsonElement? errorDetails = null)
2026-03-19 01:50:14 +01:00
=> new()
{
IsSuccess = false,
ErrorCode = errorCode,
2026-03-19 16:41:35 +01:00
ErrorMessage = errorMessage,
ErrorDetails = errorDetails
2026-03-19 01:50:14 +01:00
};
}