refactor: Remove dedicated role management page and update authentication, roles, and permission handling across backend and frontend.
This commit is contained in:
@@ -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, {});
|
||||
|
||||
Reference in New Issue
Block a user