Implementacao #936
Atualizado por Rodrigo Admin há 14 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) RBAC](https://github.com/rodrigonunesrp/FTSAssistants/commit/80b5401d) (Placeholder for now, will update with real hash)