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

31 lines
903 B
C#
Raw Normal View History

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