Skip to content

Commit bb965d3

Browse files
Merge pull request #1 from OneBus/develop
Develop
2 parents 976c477 + ac22038 commit bb965d3

13 files changed

+1411
-17
lines changed

OneBus-Db.pdf

101 KB
Binary file not shown.
Lines changed: 117 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,132 @@
1-
using OneBus.Application.DTOs.LineAddress;
1+
using Microsoft.AspNetCore.Mvc;
2+
using OneBus.Application.DTOs.LineAddress;
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 Endereços da Linha")]
813
public class LineAddressController : BaseController<LineAddress, CreateLineAddressDTO, ReadLineAddressDTO, UpdateLineAddressDTO, BaseFilter>
914
{
1015
public LineAddressController(
1116
IBaseService<LineAddress, CreateLineAddressDTO, ReadLineAddressDTO, UpdateLineAddressDTO, BaseFilter> baseService)
1217
: base(baseService)
1318
{
1419
}
20+
21+
/// <summary>
22+
/// Cadastrar novo endereço de linha
23+
/// </summary>
24+
/// <remarks>
25+
/// POST de Endereço Linha
26+
/// </remarks>
27+
/// <param name="createDTO">Campos para cadastrar endereço de linha</param>
28+
/// <param name="cancellationToken"></param>
29+
/// <returns>Endereço de Linha cadastrado</returns>
30+
/// <response code="200">Endereço de Linha cadastrado com sucesso</response>
31+
/// <response code="422">Validação encontrou erros</response>
32+
[ProducesResponseType(typeof(SuccessResult<ReadLineAddressDTO>), StatusCodes.Status200OK)]
33+
[ProducesResponseType(typeof(InvalidResult<ReadLineAddressDTO>), StatusCodes.Status422UnprocessableEntity)]
34+
public override Task<IActionResult> CreateAsync([FromBody] CreateLineAddressDTO createDTO, CancellationToken cancellationToken = default)
35+
{
36+
return base.CreateAsync(createDTO, cancellationToken);
37+
}
38+
39+
/// <summary>
40+
/// Atualizar endereço de linha
41+
/// </summary>
42+
/// <remarks>
43+
/// PUT de Endereço Linha
44+
/// </remarks>
45+
/// <param name="id">Id de endereço de linha</param>
46+
/// <param name="updateDTO">Campos para atualizar endereço de linha</param>
47+
/// <param name="cancellationToken"></param>
48+
/// <returns>Endereço de Linha atualizado</returns>
49+
/// <response code="200">Endereço de Linha atualizado com sucesso</response>
50+
/// <response code="422">Validação encontrou erros</response>
51+
/// <response code="404">Endereço de Linha não encontrado</response>
52+
/// <response code="409">Conflito entre ids</response>
53+
[ProducesResponseType(typeof(SuccessResult<ReadLineAddressDTO>), StatusCodes.Status200OK)]
54+
[ProducesResponseType(typeof(InvalidResult<ReadLineAddressDTO>), StatusCodes.Status422UnprocessableEntity)]
55+
[ProducesResponseType(typeof(NotFoundResult<ReadLineAddressDTO>), StatusCodes.Status404NotFound)]
56+
[ProducesResponseType(typeof(ConflictResult<ReadLineAddressDTO>), StatusCodes.Status409Conflict)]
57+
public override Task<IActionResult> UpdateAsync([FromRoute] ulong id, [FromBody] UpdateLineAddressDTO updateDTO, CancellationToken cancellationToken = default)
58+
{
59+
return base.UpdateAsync(id, updateDTO, cancellationToken);
60+
}
61+
62+
/// <summary>
63+
/// Habilitar endereço de linha
64+
/// </summary>
65+
/// <remarks>
66+
/// PUT para habilitar endereço de linha
67+
/// </remarks>
68+
/// <param name="id">Id de endereço de linha</param>
69+
/// <param name="cancellationToken"></param>
70+
/// <returns>Endereço de Linha habilitado</returns>
71+
/// <response code="200">Endereço de Linha habilitado com sucesso</response>
72+
/// <response code="404">Endereço de Linha não encontrado</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 endereço de linha
82+
/// </summary>
83+
/// <remarks>
84+
/// DELETE de Endereço Linha
85+
/// </remarks>
86+
/// <param name="id">Id de endereço de linha</param>
87+
/// <param name="cancellationToken"></param>
88+
/// <returns>Endereço de Linha deletado</returns>
89+
/// <response code="200">Endereço de Linha deletado com sucesso</response>
90+
/// <response code="404">Endereço de Linha não encontrado</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 endereços de linha paginados e filtrados
100+
/// </summary>
101+
/// <remarks>
102+
/// GET de Endereços Linha
103+
/// </remarks>
104+
/// <param name="filter">Filtros para aplicar</param>
105+
/// <param name="cancellationToken"></param>
106+
/// <returns>Endereços de Linha paginados e filtrados</returns>
107+
/// <response code="200">Endereços de Linha paginados e filtrados com sucesso</response>
108+
[ProducesResponseType(typeof(SuccessResult<Pagination<ReadLineAddressDTO>>), 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 endereço de linha por id
116+
/// </summary>
117+
/// <remarks>
118+
/// GET pelo id de endereço de linha
119+
/// </remarks>
120+
/// <param name="id">Id de endereço de linha</param>
121+
/// <param name="cancellationToken"></param>
122+
/// <returns>Endereço de Linha encontrado</returns>
123+
/// <response code="200">Endereço de Linha encontrado com sucesso</response>
124+
/// <response code="404">Endereço de Linha não encontrado</response>
125+
[ProducesResponseType(typeof(SuccessResult<ReadLineAddressDTO>), StatusCodes.Status200OK)]
126+
[ProducesResponseType(typeof(NotFoundResult<ReadLineAddressDTO>), StatusCodes.Status404NotFound)]
127+
public override Task<IActionResult> GetByIdAsync([FromRoute] ulong id, CancellationToken cancellationToken = default)
128+
{
129+
return base.GetByIdAsync(id, cancellationToken);
130+
}
15131
}
16132
}
Lines changed: 118 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,132 @@
1-
using OneBus.Application.DTOs.Line;
1+
using Microsoft.AspNetCore.Mvc;
2+
using OneBus.Application.DTOs.Line;
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 Linhas")]
813
public class LineController : BaseController<Line, CreateLineDTO, ReadLineDTO, UpdateLineDTO, BaseFilter>
914
{
1015
public LineController(
11-
IBaseService<Line, CreateLineDTO, ReadLineDTO, UpdateLineDTO, BaseFilter> baseService)
16+
IBaseService<Line, CreateLineDTO, ReadLineDTO, UpdateLineDTO, BaseFilter> baseService)
1217
: base(baseService)
1318
{
1419
}
20+
21+
/// <summary>
22+
/// Cadastrar nova linha
23+
/// </summary>
24+
/// <remarks>
25+
/// POST de Linha
26+
/// </remarks>
27+
/// <param name="createDTO">Campos para cadastrar linha</param>
28+
/// <param name="cancellationToken"></param>
29+
/// <returns>Linha cadastrada</returns>
30+
/// <response code="200">Linha cadastrada com sucesso</response>
31+
/// <response code="422">Validação encontrou erros</response>
32+
[ProducesResponseType(typeof(SuccessResult<ReadLineDTO>), StatusCodes.Status200OK)]
33+
[ProducesResponseType(typeof(InvalidResult<ReadLineDTO>), StatusCodes.Status422UnprocessableEntity)]
34+
public override Task<IActionResult> CreateAsync([FromBody] CreateLineDTO createDTO, CancellationToken cancellationToken = default)
35+
{
36+
return base.CreateAsync(createDTO, cancellationToken);
37+
}
38+
39+
/// <summary>
40+
/// Atualizar linha
41+
/// </summary>
42+
/// <remarks>
43+
/// PUT de Linha
44+
/// </remarks>
45+
/// <param name="id">Id da linha</param>
46+
/// <param name="updateDTO">Campos para atualizar linha</param>
47+
/// <param name="cancellationToken"></param>
48+
/// <returns>Linha atualizada</returns>
49+
/// <response code="200">Linha atualizada com sucesso</response>
50+
/// <response code="422">Validação encontrou erros</response>
51+
/// <response code="404">Linha não encontrada</response>
52+
/// <response code="409">Conflito entre ids</response>
53+
[ProducesResponseType(typeof(SuccessResult<ReadLineDTO>), StatusCodes.Status200OK)]
54+
[ProducesResponseType(typeof(InvalidResult<ReadLineDTO>), StatusCodes.Status422UnprocessableEntity)]
55+
[ProducesResponseType(typeof(NotFoundResult<ReadLineDTO>), StatusCodes.Status404NotFound)]
56+
[ProducesResponseType(typeof(ConflictResult<ReadLineDTO>), StatusCodes.Status409Conflict)]
57+
public override Task<IActionResult> UpdateAsync([FromRoute] ulong id, [FromBody] UpdateLineDTO updateDTO, CancellationToken cancellationToken = default)
58+
{
59+
return base.UpdateAsync(id, updateDTO, cancellationToken);
60+
}
61+
62+
/// <summary>
63+
/// Habilitar linha
64+
/// </summary>
65+
/// <remarks>
66+
/// PUT para habilitar linha
67+
/// </remarks>
68+
/// <param name="id">Id da linha</param>
69+
/// <param name="cancellationToken"></param>
70+
/// <returns>Linha habilitada</returns>
71+
/// <response code="200">Linha habilitada com sucesso</response>
72+
/// <response code="404">Linha 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 linha
82+
/// </summary>
83+
/// <remarks>
84+
/// DELETE de Linha
85+
/// </remarks>
86+
/// <param name="id">Id da linha</param>
87+
/// <param name="cancellationToken"></param>
88+
/// <returns>Linha deletada</returns>
89+
/// <response code="200">Linha deletada com sucesso</response>
90+
/// <response code="404">Linha 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 linhas paginadas e filtradas
100+
/// </summary>
101+
/// <remarks>
102+
/// GET de Linhas
103+
/// </remarks>
104+
/// <param name="filter">Filtros para aplicar</param>
105+
/// <param name="cancellationToken"></param>
106+
/// <returns>Linhas paginadas e filtradas</returns>
107+
/// <response code="200">Linhas paginadas e filtradas com sucesso</response>
108+
[ProducesResponseType(typeof(SuccessResult<Pagination<ReadLineDTO>>), 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 linha por id
116+
/// </summary>
117+
/// <remarks>
118+
/// GET pelo id da linha
119+
/// </remarks>
120+
/// <param name="id">Id da linha</param>
121+
/// <param name="cancellationToken"></param>
122+
/// <returns>Linha encontrada</returns>
123+
/// <response code="200">Linha encontrada com sucesso</response>
124+
/// <response code="404">Linha não encontrada</response>
125+
[ProducesResponseType(typeof(SuccessResult<ReadLineDTO>), StatusCodes.Status200OK)]
126+
[ProducesResponseType(typeof(NotFoundResult<ReadLineDTO>), 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)