Skip to content

feature: Perfis Customizaveis (RBAC dinamico) #75

@risixdzn

Description

@risixdzn

Substituir o RBAC estatico atual (roles fixas em packages/permissions/src/abilities.ts) por um sistema dinamico onde admins podem criar role-levels com permissoes customizadas.

Atualmente: guest|technician|warehouse|financial|manager|admin - roles e permissoes hardcoded.

Schemas:

  • custom_roles (id, name, company_id, permissions JSON array, editable bool, created_at)
  • employee_role_assignments (id, employee_id, role_id) - substituir employees.role ENUM

Implementacao:

  • Migracao dos roles existentes para o novo schema (6 roles padrao com editable: false)
  • Refatorar packages/permissions/ para buscar permissoes do DB ao inves de constantes
  • Atualizar createAbility() para aceitar roles dinamicos
  • Frontend /settings/roles com editor visual (grid: permissoes x roles, checkbox para ativar/desativar)
  • UI de atribuicao de role no cadastro/edicao de employee (dropdown com roles da company)
  • Roles admin nao podem ser editadas nem excluidas

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions