Skip to content

Commit cdae06b

Browse files
Adição de documentação para Controller de Garagem
Adição de documentação para Swagger UI
1 parent 24ccef6 commit cdae06b

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.Garage;
1+
using Microsoft.AspNetCore.Mvc;
2+
using OneBus.Application.DTOs.Garage;
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 Garagens")]
813
public class GarageController : BaseController<Garage, CreateGarageDTO, ReadGarageDTO, UpdateGarageDTO, BaseFilter>
914
{
1015
public GarageController(
1116
IBaseService<Garage, CreateGarageDTO, ReadGarageDTO, UpdateGarageDTO, BaseFilter> baseService)
1217
: base(baseService)
1318
{
1419
}
20+
21+
/// <summary>
22+
/// Cadastrar nova garagem
23+
/// </summary>
24+
/// <remarks>
25+
/// POST de Garagem
26+
/// </remarks>
27+
/// <param name="createDTO">Campos para cadastrar garagem</param>
28+
/// <param name="cancellationToken"></param>
29+
/// <returns>Garagem cadastrada</returns>
30+
/// <response code="200">Garagem cadastrada com sucesso</response>
31+
/// <response code="422">Validação encontrou erros</response>
32+
[ProducesResponseType(typeof(SuccessResult<ReadGarageDTO>), StatusCodes.Status200OK)]
33+
[ProducesResponseType(typeof(InvalidResult<ReadGarageDTO>), StatusCodes.Status422UnprocessableEntity)]
34+
public override Task<IActionResult> CreateAsync([FromBody] CreateGarageDTO createDTO, CancellationToken cancellationToken = default)
35+
{
36+
return base.CreateAsync(createDTO, cancellationToken);
37+
}
38+
39+
/// <summary>
40+
/// Atualizar garagem
41+
/// </summary>
42+
/// <remarks>
43+
/// PUT de Garagem
44+
/// </remarks>
45+
/// <param name="id">Id da garagem</param>
46+
/// <param name="updateDTO">Campos para atualizar garagem</param>
47+
/// <param name="cancellationToken"></param>
48+
/// <returns>Garagem atualizada</returns>
49+
/// <response code="200">Garagem atualizada com sucesso</response>
50+
/// <response code="422">Validação encontrou erros</response>
51+
/// <response code="404">Garagem não encontrada</response>
52+
/// <response code="409">Conflito entre ids</response>
53+
[ProducesResponseType(typeof(SuccessResult<ReadGarageDTO>), StatusCodes.Status200OK)]
54+
[ProducesResponseType(typeof(InvalidResult<ReadGarageDTO>), StatusCodes.Status422UnprocessableEntity)]
55+
[ProducesResponseType(typeof(NotFoundResult<ReadGarageDTO>), StatusCodes.Status404NotFound)]
56+
[ProducesResponseType(typeof(ConflictResult<ReadGarageDTO>), StatusCodes.Status409Conflict)]
57+
public override Task<IActionResult> UpdateAsync([FromRoute] ulong id, [FromBody] UpdateGarageDTO updateDTO, CancellationToken cancellationToken = default)
58+
{
59+
return base.UpdateAsync(id, updateDTO, cancellationToken);
60+
}
61+
62+
/// <summary>
63+
/// Habilitar garagem
64+
/// </summary>
65+
/// <remarks>
66+
/// PUT para habilitar garagem
67+
/// </remarks>
68+
/// <param name="id">Id da garagem</param>
69+
/// <param name="cancellationToken"></param>
70+
/// <returns>Garagem habilitada</returns>
71+
/// <response code="200">Garagem habilitada com sucesso</response>
72+
/// <response code="404">Garagem 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 garagem
82+
/// </summary>
83+
/// <remarks>
84+
/// DELETE de Garagem
85+
/// </remarks>
86+
/// <param name="id">Id da garagem</param>
87+
/// <param name="cancellationToken"></param>
88+
/// <returns>Garagem deletada</returns>
89+
/// <response code="200">Garagem deletada com sucesso</response>
90+
/// <response code="404">Garagem 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 garagens paginadas e filtradas
100+
/// </summary>
101+
/// <remarks>
102+
/// GET de Garagens
103+
/// </remarks>
104+
/// <param name="filter">Filtros para aplicar</param>
105+
/// <param name="cancellationToken"></param>
106+
/// <returns>Garagens paginadas e filtradas</returns>
107+
/// <response code="200">Garagens paginadas e filtradas com sucesso</response>
108+
[ProducesResponseType(typeof(SuccessResult<Pagination<ReadGarageDTO>>), 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 garagem por id
116+
/// </summary>
117+
/// <remarks>
118+
/// GET pelo id da garagem
119+
/// </remarks>
120+
/// <param name="id">Id da garagem</param>
121+
/// <param name="cancellationToken"></param>
122+
/// <returns>Garagem encontrada</returns>
123+
/// <response code="200">Garagem encontrada com sucesso</response>
124+
/// <response code="404">Garagem não encontrada</response>
125+
[ProducesResponseType(typeof(SuccessResult<ReadGarageDTO>), StatusCodes.Status200OK)]
126+
[ProducesResponseType(typeof(NotFoundResult<ReadGarageDTO>), 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)