-
Criar Guardian - POST /api/guardians
- Qualquer um pode criar Guardian.
- Não é necessário estar autenticado.
-
Atualizar Guardian - PUT /api/guardians/ID
- Apenas o próprio usuário guardian pode atualizar seus dados.
- É necessário estar autenticado.
-
Buscar por ID - GET /api/guardians/ID
- Qualquer usuário autenticado pode buscar Guardian por ID.
- Não retorna guardian deletado.
- Qualquer usuário autenticado pode buscar Guardian por ID.
-
Buscar todos os Guardians - GET /api/guardians
- Qualquer usuário autenticado pode buscar todos os guardians.
- Não devolver guardians deletados.
- Qualquer usuário autenticado pode buscar todos os guardians.
-
Deletar Guardian por ID - DELETE /api/guardians/ID
- Apenas o próprio usuário Guardian pode se deletar.
- É necessário estar autenticado.
- A ação de deletar não remove a entidade da base de dados, apenas muda a flag DELETED para true.
-
Criar Shelter - POST /api/shelter
- Qualquer um pode criar Shelter.
- Não é necessário estar autenticado.
-
Atualizar Shelter - PUT /api/shelters/ID
- Apenas o próprio usuário shelter pode atualizar seus dados.
- É necessário estar autenticado.
-
Buscar por ID - GET /api/shelters/ID
- Qualquer usuário autenticado pode buscar Shelter por ID.
- Não retorna shelter deletado.
- Qualquer usuário autenticado pode buscar Shelter por ID.
-
Buscar todos os Shelters - GET /api/shelters
- Qualquer usuário autenticado pode buscar todos os shelters.
- Não retorna shelters deletados.
- Qualquer usuário autenticado pode buscar todos os shelters.
-
Deletar Shelter por ID - DELETE /api/shelters/ID
- Apenas o próprio usuário Shelter pode se deletar.
- É necessário estar autenticado.
- A ação de deletar não remove a entidade da base de dados, apenas muda a flag deleted para true
-
Criar Pet - POST /api/pet
- Apenas usuário Shelter pode cadastrar Pet.
- É necessário estar autenticado.
-
Atualizar Pet - PUT /api/pets/ID
- Apenas o usuário shelter que cadastrou o Pet pode atualiza-lo.
- É necessário estar autenticado.
-
Buscar por ID - GET /api/pets/ID
- Qualquer usuário autenticado pode buscar Pet por ID.
- Pet que esta em Shelter deletado não é retornado.
- Qualquer usuário autenticado pode buscar Pet por ID.
-
Buscar todos os Pets - GET /api/pets
- Qualquer usuário autenticado pode buscar todos os pets.
- A busca retorna apenas os pets não adotados
- A busca não retorna pets que estão em shelters deletados.
-
Deletar Pet por ID - DELETE /api/pets/ID
- Apenas o usuário shelter que cadastrou o Pet pode deleta-lo.
- É necessário estar autenticado.
- Pet que estiver relacionado a uma adoção não pode ser deletado.
-
Adotar Pet - POST /api/adoptions
- Apenas usuários Guardian podem realizar adoção.
- É necessário estar autenticado.
- Apenas Pets não adotados podem ser adotados.
- Pets relacionados a Shelters deletados não podem ser adotados
-
Buscar todas as adoções - GET /api/adoptions
- É necessário estar autenticado.
- Essa busca retorna as adoções relacionadas com o usuário autenticado.
-
Atualizar status da Adoção - PUT /api/adoptions/ID/status
- É necessário estar autenticado.
- Apenas usuários Shelter podem atualizar status.
- Quando o status é alterado para CONCLUDED a flag Pet.adopted é alterado para true.
- Quando o status é alterado para ANALYSING ou CANCELED. a flag Pet.adopted é alterado para false.
-
Deletar Adoção - DELETE /api/adoptions/ID
- É necessário estar autenticado.
- Apenas o Shelter relacionado a Adoption pode deleta-la.