Tutores e Pets
Domínio
Section titled “Domínio”Tutores (seguranca schema) são os clientes donos dos pets. Pets (pet schema) são vinculados a um tutor via uuidTutor.
Entidades principais
Section titled “Entidades principais”| Entidade | Schema | Tabela |
|---|---|---|
Tutor | seguranca | tutor |
Pet | pet | pet |
CorPet | dominio | cor_pet |
EspeciePet | dominio | especie_pet |
RacaPet | dominio | raca_pet |
PortePet | dominio | porte_pet |
Controllers (Web)
Section titled “Controllers (Web)”Tutores — TutorLojaWebController — /web/tutores
| Método | Path | Descrição |
|---|---|---|
GET | /web/tutores | Lista tutores da loja (paginado, filtro por search) |
POST | /web/tutores | Cria novo tutor |
GET | /web/tutores/tutor/{uuid-tutor} | Recupera tutor |
PUT | /web/tutores/tutor/{uuid-tutor} | Atualiza tutor |
DELETE | /web/tutores/tutor/{uuid-tutor} | Remove tutor da loja |
PUT | /web/tutores/tutor/{uuid-tutor}/statusLoja | Ativa/inativa tutor na loja |
POST | /web/tutores/tutor/{uuid-tutor}/adicionar-loja | Adiciona tutor já existente à loja |
GET | /web/tutores/tutor | Busca tutor por e-mail (?email=) |
GET | /web/tutores/tutor/{uuid-tutor}/convites | Lista convites do tutor |
Pets — PetWebController — /web/pets
| Método | Path | Descrição |
|---|---|---|
GET | /web/pets | Lista todos os pets da loja |
POST | /web/pets | Cria novo pet |
GET | /web/pets/pet/{id-pet} | Recupera pet |
PUT | /web/pets/pet/{id-pet} | Atualiza pet |
DELETE | /web/pets/pet/{id-pet} | Remove pet |
GET | /web/pets/tutor/{uuid-tutor} | Lista pets de um tutor |
GET | /web/pets/pet/linha-tempo/{id-pet} | Linha do tempo veterinária |
GET | /web/pets/pet/carteira-vacinacao/{id-pet} | Carteira de vacinação |
Controllers (App — Tutores)
Section titled “Controllers (App — Tutores)”Tutores editam seus próprios dados e pets via /app/**. A autenticação é feita por JWT do Keycloak com o uuidTutor extraído do token.
Multi-tenancy
Section titled “Multi-tenancy”Toda operação web exige o header Uuid-Loja. A relação tutor ↔ loja é gerenciada por uma tabela de vínculo — um tutor pode pertencer a múltiplas lojas.
Arquivos relevantes
Section titled “Arquivos relevantes”social-pets-service/src/main/java/br/com/socialpets/ controller/web/TutorLojaWebController.java controller/web/PetWebController.java seguranca/entity/Tutor.java seguranca/dto/TutorRequestDTO.java pet/entity/Pet.java dto/request/PetRequestDTO.java service/PetService.java
social-pets-web/src/app/tutores/ listagem/ — listagem de tutores cadastrar/ — formulário de cadastro [id]/tabs/pets/ — aba de pets do tutor pesquisar-tutor/ — busca por e-mail