The-Bugger-Ducks / help-duck-tickets

Microsserviço responsável por controlar o registro de chamados (3º DSM - 2022)
https://help-duck-ticket.herokuapp.com/swagger-ui/index.html#/
0 stars 2 forks source link

[CHAMADOS - BACK] Filtragem de chamados #10

Closed MariaGabrielaReis closed 2 years ago

MariaGabrielaReis commented 2 years ago

🚀 Registro e acompanhamento de chamados

O cliente deseja cadastro de chamados para acompanhamento dos problemas levantados e suas respectivas soluções, para que, a partir de uma base de dados estabelecida, consiga evitar retrabalhos e consultar soluções cujo resultado foi verificado.

💡 Esta tarefa se refere à filtragem de chamados (possível a partir da listagem geral de chamados da tela inicial dos usuários comuns e suportes)

Expectativa de finalização

Filtragem de chamados a partir de sua prioridade, status, "até 15 dias" e "até 1 mês" (últimas duas filtragens ainda em estágio de validação).

Solução proposta

VERBO ROTA AÇÃO
[image]() /requests/filter?priority={PRIORITY_ID}&status={STATUS_ID} filtragem de chamados a partir da prioridade e/ou status


Definition of Done

CaioVitorDias1 commented 2 years ago

Filtragem de chamados 📮

Funcionalidade responsável por filtrar chamados específicos de acordo com os parâmetros escolhidos: prioridade e status.

Queries 📝

O primeiro passo foi realizar as queries no TicketRepository

![image](https://user-images.githubusercontent.com/79228873/168480756-bcfd9464-d317-4360-9231-4c7360687abe.png)

Aplicando queries ✒️

Depois foram criados métodos no TicketService para aplicar as queries

![image](https://user-images.githubusercontent.com/79228873/168481000-5005da8b-5118-4a48-b7f6-1125e3957f13.png) ![image](https://user-images.githubusercontent.com/79228873/168481037-076f768f-8ce5-4260-bbc4-0b09f867d02d.png)

Endpoints 🏁

Por fim, foram criadas as rotas que vão receber o parâmetro para filtragem

Os endpoints criados foram o "filterPriority/{priority}" e "filterStatus/{status} no TicketController"

Os parâmetros disponíveis são: "low", "medium" e "high" para Prioridade, e "done", "awaiting" e "underAnalysis" para Status. Eles estão especificados dentro do pacote Enums

![image](https://user-images.githubusercontent.com/79228873/168481545-c7e646da-f550-4518-bb67-d889951718c4.png) ![image](https://user-images.githubusercontent.com/79228873/168481679-2adec56b-305f-4b67-b53a-a5762ea72541.png)