Исправления сваггер

This commit is contained in:
Халимов Рустам
2026-02-11 13:24:56 +03:00
parent 3b2c0029a1
commit b7ba835689
9 changed files with 210 additions and 47 deletions
@@ -14,7 +14,7 @@
<ItemGroup>
<PackageReference Include="MediatR" Version="14.0.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.4" />
</ItemGroup>
<ItemGroup>
@@ -44,7 +44,7 @@ public static class OrderEndpoints
return Results.Ok();
})
.WithName("AddOrderApplication")
.WithOpenApi(operation => new(operation) { Summary = "Добавление отклика на заказ." });
.WithOpenApi(operation => new(operation) { Summary = "Добавление отклика на заказ.", Description = "Позволяет исполнителю откликнуться на заказ." });
group.MapPost("/{id:guid}/select-performer", async (Guid id, SelectPerformerRequest request, ISender sender) =>
{
@@ -53,35 +53,95 @@ public static class OrderEndpoints
return Results.Ok();
})
.WithName("SelectPerformer")
.WithOpenApi(operation => new(operation) { Summary = "Выбор исполнителя для заказа." });
.WithOpenApi(operation => new(operation) { Summary = "Выбор исполнителя для заказа.", Description = "Позволяет заказчику выбрать конкретного исполнителя." });
}
}
/// <summary>
/// Запрос на создание заказа.
/// </summary>
public record CreateOrderRequest(
Guid CustomerId,
Guid ServiceId,
OrderType Type,
string Address,
double Latitude,
double Longitude,
DateTime? Deadline,
Guid? PerformerId
);
public record CreateOrderRequest
{
/// <summary>
/// Идентификатор заказчика.
/// </summary>
public Guid CustomerId { get; init; }
/// <summary>
/// Идентификатор услуги.
/// </summary>
public Guid ServiceId { get; init; }
/// <summary>
/// Тип заказа (прямой, публичный).
/// </summary>
public OrderType Type { get; init; }
/// <summary>
/// Текстовый адрес выполнения заказа.
/// </summary>
public string Address { get; init; } = default!;
/// <summary>
/// Географическая широта места выполнения.
/// </summary>
public double Latitude { get; init; }
/// <summary>
/// Географическая долгота места выполнения.
/// </summary>
public double Longitude { get; init; }
/// <summary>
/// Крайний срок выполнения заказа (опционально).
/// </summary>
public DateTime? Deadline { get; init; }
/// <summary>
/// Идентификатор конкретного исполнителя (если прямой заказ).
/// </summary>
public Guid? PerformerId { get; init; }
public CreateOrderRequest() { }
}
/// <summary>
/// Запрос на добавление отклика.
/// </summary>
public record AddApplicationRequest(
Guid PerformerId,
decimal Amount,
string Currency,
string Comment
);
public record AddApplicationRequest
{
/// <summary>
/// Идентификатор исполнителя.
/// </summary>
public Guid PerformerId { get; init; }
/// <summary>
/// Сумма предложения.
/// </summary>
public decimal Amount { get; init; }
/// <summary>
/// Валюта предложения (например, RUB).
/// </summary>
public string Currency { get; init; } = "RUB";
/// <summary>
/// Комментарий к отклику.
/// </summary>
public string Comment { get; init; } = default!;
public AddApplicationRequest() { }
}
/// <summary>
/// Запрос на выбор исполнителя.
/// </summary>
public record SelectPerformerRequest(Guid PerformerId);
public record SelectPerformerRequest
{
/// <summary>
/// Идентификатор выбранного исполнителя.
/// </summary>
public Guid PerformerId { get; init; }
public SelectPerformerRequest() { }
}