API
This commit is contained in:
@@ -27,6 +27,20 @@
|
||||
public const string Metrics = Base + "/metrics";
|
||||
}
|
||||
|
||||
public static class Scheduler
|
||||
{
|
||||
public const string GetAll = Base + "/schedulers/";
|
||||
|
||||
public const string GetByIp = Base + "/schedulers/ip/";
|
||||
//public const string Get = Base + "/schedulers/" + getParam;
|
||||
|
||||
//public const string GetAreas = Base + "/schedulers/" + getParam + "/areas";
|
||||
//public const string GetPlaces = Base + "/schedulers/" + getParam + "/places";
|
||||
//public const string GetTemplates = Base + "/schedulers/" + getParam + "/templates";
|
||||
|
||||
public const string getParam = "{id}";
|
||||
}
|
||||
|
||||
//public static class Layer
|
||||
//{
|
||||
// public const string GetAll = Base + "/layers/";
|
||||
@@ -37,6 +51,7 @@
|
||||
// public const string GetTemplates = Base + "/layers/" + getParam + "/templates";
|
||||
|
||||
// public const string getParam = "{id}";
|
||||
//}
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
57
PARR.API/Contracts/V1/Requests/Queries/PaginationQuery.cs
Normal file
57
PARR.API/Contracts/V1/Requests/Queries/PaginationQuery.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
namespace PARR.API.Contracts.V1.Requests.Queries
|
||||
{
|
||||
public class PaginationQuery
|
||||
{
|
||||
private int pageSizeMax = 100;
|
||||
private int pageSizeDefault = 10;
|
||||
|
||||
private int pageNumberMin = 1;
|
||||
|
||||
public PaginationQuery()
|
||||
{
|
||||
PageNumber = pageNumberMin;
|
||||
PageSize = pageSizeDefault;
|
||||
}
|
||||
|
||||
public PaginationQuery(int pageNumber, int pageSize)
|
||||
{
|
||||
PageNumber = pageNumber;
|
||||
PageSize = pageSize;
|
||||
}
|
||||
|
||||
private int _pageNumber;
|
||||
public int PageNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
return _pageNumber;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value < pageNumberMin)
|
||||
_pageNumber = pageNumberMin;
|
||||
else
|
||||
_pageNumber = value;
|
||||
}
|
||||
}
|
||||
|
||||
private int _pageSize;
|
||||
public int PageSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return _pageSize;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value > pageSizeMax)
|
||||
_pageSize = pageSizeMax;
|
||||
else
|
||||
_pageSize = value;
|
||||
|
||||
if (_pageSize < 1)
|
||||
_pageSize = pageSizeDefault;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace PARR.API.Contracts.V1.Requests.Queries
|
||||
{
|
||||
public class SchedulerGetAllQuery
|
||||
{
|
||||
/// <summary>
|
||||
/// true - вкл задания, false - выкл задания, null - все задания
|
||||
/// </summary>
|
||||
public bool? IsEnabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Список запланированных заданий на указанную дату
|
||||
/// </summary>
|
||||
public DateTimeOffset? StartDatePlanned { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace PARR.API.Contracts.V1.Requests.Queries
|
||||
{
|
||||
public class SchedulerGetByIpQuery
|
||||
{
|
||||
public string? Ip { get; set; }
|
||||
}
|
||||
}
|
||||
6
PARR.API/Contracts/V1/Responses/ApiHealthResponse.cs
Normal file
6
PARR.API/Contracts/V1/Responses/ApiHealthResponse.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace PARR.API.Contracts.V1.Responses
|
||||
{
|
||||
public class ApiHealthResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
9
PARR.API/Contracts/V1/Responses/ApiVersionResponse.cs
Normal file
9
PARR.API/Contracts/V1/Responses/ApiVersionResponse.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace PARR.API.Contracts.V1.Responses
|
||||
{
|
||||
public class ApiVersionResponse
|
||||
{
|
||||
public string? Version { get; set; }
|
||||
|
||||
public string? Environment { get; set; }
|
||||
}
|
||||
}
|
||||
29
PARR.API/Contracts/V1/Responses/Base/BaseResponse.cs
Normal file
29
PARR.API/Contracts/V1/Responses/Base/BaseResponse.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
namespace PARR.API.Contracts.V1.Responses.Base
|
||||
{
|
||||
public class BaseResponse
|
||||
{
|
||||
public BaseResponse() { }
|
||||
|
||||
public BaseResponse(bool isSuccess)
|
||||
{
|
||||
IsSuccess = isSuccess;
|
||||
}
|
||||
|
||||
public BaseResponse(bool isSuccess, List<ErrorModel> errors)
|
||||
{
|
||||
IsSuccess = isSuccess;
|
||||
Errors = errors;
|
||||
}
|
||||
|
||||
public BaseResponse(bool isSuccess, List<ErrorModel> errors, string message)
|
||||
{
|
||||
IsSuccess = isSuccess;
|
||||
Errors = errors;
|
||||
Message = message;
|
||||
}
|
||||
|
||||
public List<ErrorModel> Errors { get; set; } = new List<ErrorModel>();
|
||||
public bool IsSuccess { get; private set; }
|
||||
public string? Message { get; private set; }
|
||||
}
|
||||
}
|
||||
9
PARR.API/Contracts/V1/Responses/Base/ErrorModel.cs
Normal file
9
PARR.API/Contracts/V1/Responses/Base/ErrorModel.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace PARR.API.Contracts.V1.Responses.Base
|
||||
{
|
||||
public class ErrorModel
|
||||
{
|
||||
public string? FieldName { get; set; }
|
||||
|
||||
public string? Message { get; set; }
|
||||
}
|
||||
}
|
||||
29
PARR.API/Contracts/V1/Responses/Base/PagedResponse.cs
Normal file
29
PARR.API/Contracts/V1/Responses/Base/PagedResponse.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
namespace PARR.API.Contracts.V1.Responses.Base
|
||||
{
|
||||
public class PagedResponse<T> : BaseResponse
|
||||
{
|
||||
public PagedResponse(bool isSuccess) : base(isSuccess) { }
|
||||
|
||||
public PagedResponse(bool isSuccess, List<ErrorModel> errors) : base(isSuccess, errors) { }
|
||||
|
||||
public PagedResponse(bool isSuccess, List<ErrorModel> errors, string message) : base(isSuccess, errors, message) { }
|
||||
|
||||
|
||||
public PagedResponse(IEnumerable<T> data, bool isSuccess) : base(isSuccess) { Data = data; }
|
||||
|
||||
public PagedResponse(IEnumerable<T> data, bool isSuccess, List<ErrorModel> errors) : base(isSuccess, errors) { Data = data; }
|
||||
|
||||
public PagedResponse(IEnumerable<T> data, bool isSuccess, List<ErrorModel> errors, string message) : base(isSuccess, errors, message) { Data = data; }
|
||||
|
||||
|
||||
public IEnumerable<T>? Data { get; set; }
|
||||
|
||||
public int? PageNumber { get; set; }
|
||||
|
||||
public int? PageSize { get; set; }
|
||||
|
||||
public int? TotalPage { get; set; }
|
||||
|
||||
public int? TotalItems { get; set; }
|
||||
}
|
||||
}
|
||||
57
PARR.API/Contracts/V1/Responses/Base/Response.cs
Normal file
57
PARR.API/Contracts/V1/Responses/Base/Response.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using FluentValidation.Results;
|
||||
|
||||
namespace PARR.API.Contracts.V1.Responses.Base
|
||||
{
|
||||
public class Response<T> : BaseResponse
|
||||
{
|
||||
public Response(T response, bool isSuccess) : base(isSuccess)
|
||||
{
|
||||
Data = response;
|
||||
}
|
||||
|
||||
public Response(T response, bool isSuccess, List<ErrorModel> errors) : base(isSuccess, errors)
|
||||
{
|
||||
Data = response;
|
||||
}
|
||||
|
||||
public Response(T response, bool isSuccess, List<ErrorModel> errors, string message) : base(isSuccess, errors, message)
|
||||
{
|
||||
Data = response;
|
||||
}
|
||||
|
||||
public T? Data { get; private set; }
|
||||
}
|
||||
|
||||
|
||||
public class Response : Response<object?>
|
||||
{
|
||||
/// <summary>
|
||||
/// Респонс для валидации от FluentValidator
|
||||
/// </summary>
|
||||
/// <param name="validationErrors">ResultValidate.Errors</param>
|
||||
public Response(List<ValidationFailure> validationErrors) : base(null, false)
|
||||
{
|
||||
var errors = new List<ErrorModel>();
|
||||
foreach (var error in validationErrors)
|
||||
{
|
||||
errors.Add(new ErrorModel
|
||||
{
|
||||
FieldName = error.PropertyName,
|
||||
Message = error.ErrorMessage
|
||||
});
|
||||
}
|
||||
|
||||
Errors = errors;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Респонс когда не нужно передавать объект
|
||||
/// </summary>
|
||||
/// <param name="isSuccess"></param>
|
||||
/// <param name="errors"></param>
|
||||
public Response(bool isSuccess, List<ErrorModel> errors) : base(null, isSuccess, errors)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
21
PARR.API/Contracts/V1/Responses/SchedulerResponse.cs
Normal file
21
PARR.API/Contracts/V1/Responses/SchedulerResponse.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
namespace PARR.API.Contracts.V1.Responses
|
||||
{
|
||||
public class SchedulerBaseResponse
|
||||
{
|
||||
public required string Name { get; set; }
|
||||
public DateTimeOffset StartAt { get; set; }
|
||||
public int FrequencyMinute { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class SchedulerGetAllResponse: SchedulerBaseResponse
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public bool IsEnabled { get; set; }
|
||||
}
|
||||
|
||||
public class SchedulerResponse
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user