Skip to content

Commit ac22038

Browse files
Adição de documentação em Controller
Adição de documentação em Controller de VehicleOperation
1 parent a8a0781 commit ac22038

File tree

1 file changed

+117
-1
lines changed

1 file changed

+117
-1
lines changed
Lines changed: 117 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,132 @@
1-
using OneBus.Application.DTOs.VehicleOperation;
1+
using Microsoft.AspNetCore.Mvc;
2+
using OneBus.Application.DTOs.VehicleOperation;
23
using OneBus.Application.Interfaces.Services;
4+
using OneBus.Domain.Commons;
5+
using OneBus.Domain.Commons.Result;
36
using OneBus.Domain.Entities;
47
using OneBus.Domain.Filters;
8+
using Swashbuckle.AspNetCore.Annotations;
59

610
namespace OneBus.API.Controllers
711
{
12+
[SwaggerTag("Controlador responsável por gerenciar Operações de Veículos")]
813
public class VehicleOperationController : BaseController<VehicleOperation, CreateVehicleOperationDTO, ReadVehicleOperationDTO, UpdateVehicleOperationDTO, BaseFilter>
914
{
1015
public VehicleOperationController(
1116
IBaseService<VehicleOperation, CreateVehicleOperationDTO, ReadVehicleOperationDTO, UpdateVehicleOperationDTO, BaseFilter> baseService)
1217
: base(baseService)
1318
{
1419
}
20+
21+
/// <summary>
22+
/// Cadastrar nova operação de veículo
23+
/// </summary>
24+
/// <remarks>
25+
/// POST de Operação de Veículo
26+
/// </remarks>
27+
/// <param name="createDTO">Campos para cadastrar operação de veículo</param>
28+
/// <param name="cancellationToken"></param>
29+
/// <returns>Operação de Veículo cadastrada</returns>
30+
/// <response code="200">Operação de Veículo cadastrada com sucesso</response>
31+
/// <response code="422">Validação encontrou erros</response>
32+
[ProducesResponseType(typeof(SuccessResult<ReadVehicleOperationDTO>), StatusCodes.Status200OK)]
33+
[ProducesResponseType(typeof(InvalidResult<ReadVehicleOperationDTO>), StatusCodes.Status422UnprocessableEntity)]
34+
public override Task<IActionResult> CreateAsync([FromBody] CreateVehicleOperationDTO createDTO, CancellationToken cancellationToken = default)
35+
{
36+
return base.CreateAsync(createDTO, cancellationToken);
37+
}
38+
39+
/// <summary>
40+
/// Atualizar operação de veículo
41+
/// </summary>
42+
/// <remarks>
43+
/// PUT de Operação de Veículo
44+
/// </remarks>
45+
/// <param name="id">Id da operação de veículo</param>
46+
/// <param name="updateDTO">Campos para atualizar operação de veículo</param>
47+
/// <param name="cancellationToken"></param>
48+
/// <returns>Operação de Veículo atualizada</returns>
49+
/// <response code="200">Operação de Veículo atualizada com sucesso</response>
50+
/// <response code="422">Validação encontrou erros</response>
51+
/// <response code="404">Operação de Veículo não encontrada</response>
52+
/// <response code="409">Conflito entre ids</response>
53+
[ProducesResponseType(typeof(SuccessResult<ReadVehicleOperationDTO>), StatusCodes.Status200OK)]
54+
[ProducesResponseType(typeof(InvalidResult<ReadVehicleOperationDTO>), StatusCodes.Status422UnprocessableEntity)]
55+
[ProducesResponseType(typeof(NotFoundResult<ReadVehicleOperationDTO>), StatusCodes.Status404NotFound)]
56+
[ProducesResponseType(typeof(ConflictResult<ReadVehicleOperationDTO>), StatusCodes.Status409Conflict)]
57+
public override Task<IActionResult> UpdateAsync([FromRoute] ulong id, [FromBody] UpdateVehicleOperationDTO updateDTO, CancellationToken cancellationToken = default)
58+
{
59+
return base.UpdateAsync(id, updateDTO, cancellationToken);
60+
}
61+
62+
/// <summary>
63+
/// Habilitar operação de veículo
64+
/// </summary>
65+
/// <remarks>
66+
/// PUT para habilitar operação de veículo
67+
/// </remarks>
68+
/// <param name="id">Id da operação de veículo</param>
69+
/// <param name="cancellationToken"></param>
70+
/// <returns>Operação de Veículo habilitada</returns>
71+
/// <response code="200">Operação de Veículo habilitada com sucesso</response>
72+
/// <response code="404">Operação de Veículo não encontrada</response>
73+
[ProducesResponseType(typeof(SuccessResult<bool>), StatusCodes.Status200OK)]
74+
[ProducesResponseType(typeof(NotFoundResult<bool>), StatusCodes.Status404NotFound)]
75+
public override Task<IActionResult> EnableAsync([FromRoute] ulong id, CancellationToken cancellationToken = default)
76+
{
77+
return base.EnableAsync(id, cancellationToken);
78+
}
79+
80+
/// <summary>
81+
/// Desabilitar operação de veículo
82+
/// </summary>
83+
/// <remarks>
84+
/// DELETE de Operação de Veículo
85+
/// </remarks>
86+
/// <param name="id">Id da operação de veículo</param>
87+
/// <param name="cancellationToken"></param>
88+
/// <returns>Operação de Veículo deletada</returns>
89+
/// <response code="200">Operação de Veículo deletada com sucesso</response>
90+
/// <response code="404">Operação de Veículo não encontrada</response>
91+
[ProducesResponseType(typeof(SuccessResult<bool>), StatusCodes.Status200OK)]
92+
[ProducesResponseType(typeof(NotFoundResult<bool>), StatusCodes.Status404NotFound)]
93+
public override Task<IActionResult> DisableAsync([FromRoute] ulong id, CancellationToken cancellationToken = default)
94+
{
95+
return base.DisableAsync(id, cancellationToken);
96+
}
97+
98+
/// <summary>
99+
/// Obter operações de veículos paginadas e filtradas
100+
/// </summary>
101+
/// <remarks>
102+
/// GET de Operações de Veículos
103+
/// </remarks>
104+
/// <param name="filter">Filtros para aplicar</param>
105+
/// <param name="cancellationToken"></param>
106+
/// <returns>Operações de Veículos paginadas e filtradas</returns>
107+
/// <response code="200">Operações de Veículos paginadas e filtradas com sucesso</response>
108+
[ProducesResponseType(typeof(SuccessResult<Pagination<ReadVehicleOperationDTO>>), StatusCodes.Status200OK)]
109+
public override Task<IActionResult> GetPaginedAsync([FromQuery] BaseFilter filter, CancellationToken cancellationToken = default)
110+
{
111+
return base.GetPaginedAsync(filter, cancellationToken);
112+
}
113+
114+
/// <summary>
115+
/// Obter operação de veículo por id
116+
/// </summary>
117+
/// <remarks>
118+
/// GET pelo id da operação de veículo
119+
/// </remarks>
120+
/// <param name="id">Id da operação de veículo</param>
121+
/// <param name="cancellationToken"></param>
122+
/// <returns>Operação de Veículo encontrada</returns>
123+
/// <response code="200">Operação de Veículo encontrada com sucesso</response>
124+
/// <response code="404">Operação de Veículo não encontrada</response>
125+
[ProducesResponseType(typeof(SuccessResult<ReadVehicleOperationDTO>), StatusCodes.Status200OK)]
126+
[ProducesResponseType(typeof(NotFoundResult<ReadVehicleOperationDTO>), StatusCodes.Status404NotFound)]
127+
public override Task<IActionResult> GetByIdAsync([FromRoute] ulong id, CancellationToken cancellationToken = default)
128+
{
129+
return base.GetByIdAsync(id, cancellationToken);
130+
}
15131
}
16132
}

0 commit comments

Comments
 (0)