Atenção: O acesso para o Retake, só vai ser permitido para os devs que realizarem a Parte 1, Parte 2, Parte 3, Parte 4 e Parte 5 do conteúdo de estudos para o Retake.
Antes de começar, faça o fork e em seguida clone este repositório.
Não esqueça de criar o venv e de rodar o comando pip install -r requirements.txt no seu terminal, para instalar todas as dependências.
Conforme explicado no vídeo, a rota GET "/games" funciona das seguinte maneiras:
- Com dois argumentos (filtros), por exemplo "http://127.0.0.1:5000/games?name=ps2&column=platform"
Observação: Ao aplicar os filtros na URL, a pesquisa no arquivo CSV NÃO DEVE ser case sensitive.
Caso a rota tenha um, ou nenhum argumento, deverá retornar os 10 primeiros registros do arquivo games.csv.
Exemplos de rotas que retornam os 10 primeiros registros do arquivo csv:
Fique atento: Nos arquivos do repositório existem comentários que podem te auxiliar no desenvolvimento da entrega.
Esse método deve verificar se existe os 2 argumentos na URL:
- Caso exista um, ou nenhum argumento na URL, o método deve estourar AttributeError ou o Custom Error MissingArg.
Esse método deve verificar se o argumento column é valido.
- O filtro Column aceita somente os valores de VALID_FILTERS, caso o usuário passe um valor diferente, o método deve estourar ValueError ou o Custom Error InvalidColumnFilter.
Você irá chamar esse metódo na rota para aplicar os filtros, ele deve retornar uma LISTA DE DICIONÁRIOS com os valores filtrados.
- Certifique-se de que haja os 2 argumentos na rota e o filtro por coluna seja válido.
- Caso não encontre nenhum valor após aplicar o filtro deve estourar ValueError ou o Custom Error NotFound.
Esse método deve retornar os 10 primeiros games (registros) do CSV.
Observação: Dentro do repositório existe o arquivo insomnia-retake5, importe-o no insomnia para realizar os testes de rota.
- Envie o link do seu repositório, não esqueça de adicionar o grupo de correções.