- Configure workspace Git repository with comprehensive .gitignore - Add Odoo as submodule for ERP reference code - Include documentation: SETUP.md, GIT-STRUCTURE.md - Add gitignore templates for projects (backend, frontend, database) - Structure supports independent repos per project/subproject level Workspace includes: - core/ - Reusable patterns, modules, orchestration system - projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.) - knowledge-base/ - Reference code and patterns (includes Odoo submodule) - devtools/ - Development tools and templates - customers/ - Client implementations template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
ADR-006: RBAC - Sistema de Permisos
Estado: Aceptada Fecha: 2025-11-24 Responsable: Architecture-Analyst Proyecto: ERP Construccion
Contexto
El ERP de Construccion requiere control de acceso granular para:
- Roles de construccion: Director, Residente, Almacenista, Contador
- Permisos por proyecto/fraccionamiento
- Control de datos sensibles (presupuestos, estimaciones)
- Cumplimiento INFONAVIT
Decision
RBAC (Role-Based Access Control) con:
- Roles jerarquicos (herencia)
- Permisos por recurso y accion
- RLS (Row-Level Security) en PostgreSQL
- Field-level permissions para datos sensibles
// Roles especificos de construccion
const ROLES = {
SUPER_ADMIN: 'super_admin',
DIRECTOR_GENERAL: 'director_general',
DIRECTOR_PROYECTO: 'director_proyecto',
RESIDENTE_OBRA: 'residente_obra',
SUPERVISOR: 'supervisor',
ALMACENISTA: 'almacenista',
CONTADOR: 'contador',
DERECHOHABIENTE: 'derechohabiente', // Portal INFONAVIT
};
Justificacion
Referencia a Odoo
- ir.rule pattern para RLS
- Permisos por modelo y accion
Referencia a Gamilit
- RBAC con herencia funcional
- RLS policies robustas
Especifico para Construccion
- Residente solo ve sus proyectos asignados
- Director ve todos los proyectos
- Derechohabiente solo ve su vivienda
- Almacenista no ve presupuestos
Consecuencias
Positivas
- Control granular por rol
- Seguridad a nivel de base de datos (RLS)
- Cumplimiento regulatorio
- Audit trail completo
Negativas
- Complejidad en gestion de permisos
- Mitigacion: UI de administracion de roles
Implementacion
Acciones Requeridas
- Definir matriz de roles y permisos
- Implementar RLS policies por rol
- UI de gestion de roles
- Field-level permissions para presupuestos
Criterios de Aceptacion
- Residente no ve proyectos de otros
- Director ve todos los proyectos
- Derechohabiente solo ve su vivienda en portal
- Audit trail de accesos