Frontend de Gestão de Utilizadores e Integração API #37

Merged
puctw merged 2 commits from config-page-and-integration into main 2026-01-17 17:09:50 +00:00
puctw commented 2026-01-17 16:46:49 +00:00 (Migrated from github.com)

Resumo

Este PR implementa a interface completa de gestão de utilizadores na página de configurações e realiza a integração com o backend via fetch.

Alterações Realizadas

Frontend

  • UI: Criação da página configuracoes.tsx com lista de utilizadores e formulário de registo.
  • UX: Substituição do componente Dialog por Sheet para melhor experiência mobile na edição de utilizadores.
  • Componentes: Utilização de RadioGroup para seleção de roles e Card para listagem.

Integração API

  • Cliente HTTP: Atualização do client.ts para suportar métodos PATCH e DELETE.
  • Serviço de Users: Criação de src/api/users.ts para centralizar as chamadas de API (Get, Register, Update, Delete).
  • Tipagem: Definição das interfaces User, RegisterUserData e UpdateUserData.
  • Correção de Rotas: Ajuste do prefixo /auth nas chamadas de registo para corresponder ao router do backend.

Estado Atual

  • Layout e Componentes UI completos.
  • Registo de utilizadores a funcionar (Retorno 201 Created confirmado).
  • Cliente API configurado com tratamento de erros e tokens.

O que falta / A verificar (Backend)

  • Endpoint de Listagem: Confirmar se o endpoint GET /users (ou /auth/users) está implementado no backend e retorna a lista completa.
  • Campo Role: Garantir que o UserResponse do backend inclui o campo role para que o frontend possa exibir a permissão correta na lista (atualmente o frontend espera este campo, mas o schema Python pode precisar de ajuste).
## Resumo Este PR implementa a interface completa de gestão de utilizadores na página de configurações e realiza a integração com o backend via `fetch`. ## Alterações Realizadas ### Frontend - **UI:** Criação da página `configuracoes.tsx` com lista de utilizadores e formulário de registo. - **UX:** Substituição do componente `Dialog` por `Sheet` para melhor experiência mobile na edição de utilizadores. - **Componentes:** Utilização de `RadioGroup` para seleção de roles e `Card` para listagem. ### Integração API - **Cliente HTTP:** Atualização do `client.ts` para suportar métodos `PATCH` e `DELETE`. - **Serviço de Users:** Criação de `src/api/users.ts` para centralizar as chamadas de API (Get, Register, Update, Delete). - **Tipagem:** Definição das interfaces `User`, `RegisterUserData` e `UpdateUserData`. - **Correção de Rotas:** Ajuste do prefixo `/auth` nas chamadas de registo para corresponder ao router do backend. ## Estado Atual - ✅ Layout e Componentes UI completos. - ✅ Registo de utilizadores a funcionar (Retorno 201 Created confirmado). - ✅ Cliente API configurado com tratamento de erros e tokens. ## O que falta / A verificar (Backend) - [ ] **Endpoint de Listagem:** Confirmar se o endpoint `GET /users` (ou `/auth/users`) está implementado no backend e retorna a lista completa. - [ ] **Campo Role:** Garantir que o `UserResponse` do backend inclui o campo `role` para que o frontend possa exibir a permissão correta na lista (atualmente o frontend espera este campo, mas o schema Python pode precisar de ajuste).
Cordeir01 (Migrated from github.com) reviewed 2026-01-17 16:46:49 +00:00
AndreFerreira5 (Migrated from github.com) approved these changes 2026-01-17 17:06:52 +00:00
AndreFerreira5 (Migrated from github.com) left a comment

looks okay. as for the tasks tbd by the backend, you should create an issue for each one in the beckend repo

looks okay. as for the tasks tbd by the backend, you should create an issue for each one in the beckend repo
Sign in to join this conversation.
No description provided.