refactor: Remove dedicated role management page and update authentication, roles, and permission handling across backend and frontend.

This commit is contained in:
2025-12-05 14:29:34 -03:00
parent c8d717b315
commit 69f32a342c
16 changed files with 358 additions and 958 deletions

View File

@@ -172,13 +172,7 @@ export const seedCreateRoles = internalMutation({
returns: v.null(),
handler: async (ctx) => {
console.log('🔐 Criando roles...');
const ensureRole = async (
nome: string,
descricao: string,
nivel: number,
setor?: string,
editavel?: boolean
) => {
const ensureRole = async (nome: string, descricao: string, admin: boolean) => {
const existing = await ctx.db
.query('roles')
.withIndex('by_nome', (q) => q.eq('nome', nome))
@@ -190,23 +184,20 @@ export const seedCreateRoles = internalMutation({
const id = await ctx.db.insert('roles', {
nome,
descricao,
nivel,
setor,
customizado: false,
editavel
admin
});
console.log(` ✅ Role criada: ${nome}`);
return id;
};
// Níveis agora são apenas 0 e 1.
// 0 = máximo, 1 = administrativo (ambos com acesso total).
await ensureRole('ti_master', 'TI Master', 0, 'ti', false);
await ensureRole('admin', 'Administrador Geral', 1, 'administrativo', true);
await ensureRole('ti_usuario', 'TI Usuário', 1, 'ti', true);
await ensureRole('rh', 'Recursos Humanos', 1, 'recursos_humanos', false);
await ensureRole('financeiro', 'Financeiro', 1, 'financeiro', false);
await ensureRole('usuario', 'Usuário Padrão', 1, undefined, false);
// admin: true = acesso total ao sistema
// admin: false = permissões via rolePermissoes
await ensureRole('ti_master', 'TI Master', true);
await ensureRole('admin', 'Administrador Geral', true);
await ensureRole('ti_usuario', 'TI Usuário', false);
await ensureRole('rh', 'Recursos Humanos', false);
await ensureRole('financeiro', 'Financeiro', false);
await ensureRole('usuario', 'Usuário Padrão', false);
// Encadeia próximas etapas
await ctx.scheduler.runAfter(0, internal.seed.seedCreateSimbolos, {});
await ctx.scheduler.runAfter(0, internal.seed.seedCreatePermissoesBase, {});