using System.Text.Json.Serialization;
namespace Shared.Models;
///
/// A standard response for service calls.
///
/// Return data type
public class ServiceResult : ServiceResult
{
public T? Data { get; set; }
public ServiceResult() { }
public ServiceResult(T? data)
{
Data = data;
}
public ServiceResult(T? data, ServiceError error) : base(error)
{
Data = data;
}
public ServiceResult(ServiceError error) : base(error)
{
}
}
public class ServiceResult
{
public bool Succeeded => Error is null;
public ServiceError? Error { get; set; }
public ServiceResult(ServiceError? error)
{
error ??= ServiceError.DefaultError;
Error = error;
}
public ServiceResult() { }
#region Helper Methods
public static ServiceResult Failed(ServiceError error)
{
return new ServiceResult(error);
}
public static ServiceResult Failed(ServiceError error)
{
return new ServiceResult(error);
}
public static ServiceResult Failed(T data, ServiceError error)
{
return new ServiceResult(data, error);
}
public static ServiceResult Success(T data)
{
return new ServiceResult(data);
}
#endregion
}