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)