- [] Criação de uma task
- [] Listagem de todas as tasks
- [] Atualização de uma task pelo
id
- [] Remover uma task pelo
id
- [] Marcar pelo
id
uma task como completa - [] Importação de tasks em massa por um arquivo CSV
- [] Validar se as propriedades
title
edescription
das rotasPOST
ePUT
estão presentes nobody
da requisição. - [] Nas rotas que recebem o
/:id
, além de validar se oid
existe no banco de dados, retornar a requisição com uma mensagem informando que o registro não existe.
- id - Identificador único de cada task
- title - Título da task
- description - Descrição detalhada da task
- completed_at - Data de quando a task foi concluída. O valor inicial deve ser
null
- created_at - Data de quando a task foi criada.
- updated_at - Deve ser sempre alterado para a data de quando a task foi atualizada.
-
[] POST - /tasks
- [] Deve ser possível criar uma task no banco de dados, enviando os campos
title
edescription
por meio dobody
da requisição. - [] Ao criar uma task, os campos:
id
,created_at
,updated_at
ecompleted_at
devem ser preenchidos automaticamente, conforme a orientação das propriedades acima.
- [] Deve ser possível criar uma task no banco de dados, enviando os campos
-
[] GET - /tasks
- [] Deve ser possível listar todas as tasks salvas no banco de dados.
- [] Também deve ser possível realizar uma busca, filtrando as tasks pelo
title
edescription
-
[] PUT - /tasks/:id
- [] Deve ser possível atualizar uma task pelo
id
. - [] No
body
da requisição, deve receber somente otitle
e/oudescription
para serem atualizados. - [] Se for enviado somente o
title
, significa que odescription
não pode ser atualizado e vice-versa. - [] Antes de realizar a atualização, deve ser feito uma validação se o
id
pertence a uma task salva no banco de dados.
- [] Deve ser possível atualizar uma task pelo
-
[] DELETE - /tasks/:id
- [] Deve ser possível remover uma task pelo
id
. - [] Antes de realizar a remoção, deve ser feito uma validação se o
id
pertence a uma task salva no banco de dados.
- [] Deve ser possível remover uma task pelo
-
PATCH - /tasks/:id/complete
- [] Deve ser possível marcar a task como completa ou não. Isso significa que se a task estiver concluída, deve voltar ao seu estado “normal”.
- [] Antes da alteração, deve ser feito uma validação se o
id
pertence a uma task salva no banco de dados.