Projeto

Geral

Perfil

Implementacao #936

Atualizado por Rodrigo Admin14 dias

# Implementação de Gestão de Usuários do Tenant e RBAC (S3T3) 

 Terceira etapa da Sprint 3, focando no controle granular de acesso por papel (RBAC) e na funcionalidade de gestão de equipe pelos administradores dos tenants. 

 ## Entregas Realizadas 

 ### 1. Gestão de Equipe (TenantsModule) 
 - **TenantsService**: Adicionados métodos `findAllUsers`, `addUser` (com hash de senha) e `removeUser`. 
 - **TenantsController**: Novos endpoints protegidos por `@Roles(ADMIN)` e `TenantInterceptor`: 
   - `GET /tenants/users`: Listar membros da equipe. 
   - `POST /tenants/users`: Adicionar novo membro (MANAGER ou USER). 
   - `DELETE /tenants/users/:id`: Remover acesso de um membro. 

 ### 2. Reforço de RBAC nos Módulos de Negócio 
 - **ChatbotsController**: Aplicado `@Roles(ADMIN, MANAGER)` para operações de escrita (Create, Update, Delete). Leitura permitida para `USER`. 
 - **ChannelsController**: Aplicado `@Roles(ADMIN, MANAGER)` seguindo a mesma lógica de governança. 

 ## Verificação 
 - **Testes E2E**: Criada suíte dedicada `test/user-management.e2e-spec.ts`. 
 - **Casos de Teste**: 
   - `ADMIN` adiciona `MANAGER` e `USER`. 
   - `USER` é impedido de criar chatbots (403 Forbidden). 
   - `MANAGER` tem permissão para criar chatbots (201 Created). 
   - `MANAGER` é impedido de gerenciar usuários (403 Forbidden). 
 - **Resultados**: 8/8 testes E2E aprovados. 

 ## Commit 
 - [S3T3 - implement tenant user management and module-level RBAC](https://github.com/rodrigonunesrp/FTSAssistants/commit/f14dfbc4)

Voltar