You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.5 KiB

namespace CoreAgent.Domain.Models
{
public class ApiResponse<T>
{
public bool Success { get; set; }
public string? Message { get; set; }
public T? Data { get; set; }
public List<string> Errors { get; set; }
public ApiResponse()
{
Success = true;
Errors = new List<string>();
}
public static ApiResponse<T> CreateSuccess(T data, string? message = null)
{
return new ApiResponse<T>
{
Success = true,
Data = data,
Message = message
};
}
public static ApiResponse<T> CreateError(string message, List<string>? errors = null)
{
return new ApiResponse<T>
{
Success = false,
Message = message,
Errors = errors ?? new List<string>()
};
}
}
public class ApiResponse : ApiResponse<object>
{
public new static ApiResponse CreateSuccess(string? message = null)
{
return new ApiResponse
{
Success = true,
Message = message
};
}
public new static ApiResponse CreateError(string message, List<string>? errors = null)
{
return new ApiResponse
{
Success = false,
Message = message,
Errors = errors ?? new List<string>()
};
}
}
}