CRUD de Usuários e Papéis (role weight, permissões, gitignore de worktrees)
- apps/api/src/users/: invite (senha temporária, mesma entropia do legado), PATCH (role/isActive, com checagem de peso), reset de senha administrativo, troca de senha self-service, grant/revoke de acesso a aplicação — cada ação sensível auditada. - apps/api/src/roles/: CRUD de papéis e gestão de role_permissions, exclusivo super_admin (SuperAdminGuard), mirando o requireSuperAdmin do legado — deliberadamente não generalizado para o modelo de permissão resource+action+scope, por ser a raiz do próprio sistema de autorização (documentado em roles.service.ts). - apps/api/src/auth/role-weight.ts: assertCanAssignRole/assertCanActOnUser (eden.md §1.6) — um ator nunca atribui papel nem mexe em usuário com peso maior que o seu; super_admin sempre passa. - .gitignore: .claude/worktrees/ (worktrees temporários de subagentes paralelos nunca devem virar submódulo do repo principal). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,9 +5,19 @@ import { ConfigModule } from "./config/config.module.js";
|
||||
import { AuthModule } from "./auth/auth.module.js";
|
||||
import { BootstrapModule } from "./bootstrap/bootstrap.module.js";
|
||||
import { CompaniesModule } from "./companies/companies.module.js";
|
||||
import { UsersModule } from "./users/users.module.js";
|
||||
import { RolesModule } from "./roles/roles.module.js";
|
||||
|
||||
@Module({
|
||||
imports: [ConfigModule, TerminusModule, AuthModule, BootstrapModule, CompaniesModule],
|
||||
imports: [
|
||||
ConfigModule,
|
||||
TerminusModule,
|
||||
AuthModule,
|
||||
BootstrapModule,
|
||||
CompaniesModule,
|
||||
UsersModule,
|
||||
RolesModule,
|
||||
],
|
||||
controllers: [HealthController],
|
||||
})
|
||||
export class AppModule {}
|
||||
|
||||
Reference in New Issue
Block a user