Skip to content

Permission Service

Orchestrator · Remuneraciones

ServicePermisosAsistencia

PermissionService administra solicitudes de permisos, licencias médicas y ausencias justificadas. Su salida impacta asistencia y payroll según el tipo, estado, goce de sueldo, parcialidad y respaldo documental.

PiezaRuta
Servicesrc/domain/permissions/PermissionService.ts
Repositorysrc/domain/permissions/PermissionRepository.ts
Routesrc/routes/remuneraciones/permissions.ts
Tablaremuneraciones.permisos
MétodoUso
getById(tenantDb, id)Obtiene permiso por identificador.
list(tenantDb, filter)Lista permisos con filtros.
create(tenantDb, userId, data)Crea solicitud de permiso o licencia.
update(tenantDb, userId, id, data)Actualiza solicitud existente.
delete(tenantDb, id)Elimina solicitud según regla vigente.
ReglaMotivo
empleado_id obligatorioLa ausencia debe pertenecer a un trabajador.
fecha_desde y fecha_hasta obligatoriasPermite impactar asistencia.
tipo_permiso obligatorioDefine regla de remuneración.
motivo obligatorioRespalda revisión funcional.
Permisos parciales con horasEvita descontar días completos por ausencias horarias.
Recuperación posterior al permisoMantiene coherencia si es_recuperable aplica.
FlagUso
es_parcialPermiso por horas.
requiere_documentoExige respaldo adjunto.
es_con_goce_sueldoMantiene remuneración si está aprobado.
descuenta_vacacionesConsume saldo de feriado si la política lo define.
es_recuperableRequiere registro de recuperación.
import { PermissionService } from '@/domain/permissions/PermissionService';
await PermissionService.create('tenant_db', 'user-123', {
empleado_id: 'emp-uuid',
fecha_desde: '2026-05-15',
fecha_hasta: '2026-05-15',
tipo_permiso: 'MEDICO',
motivo: 'Examen preventivo',
es_parcial: true,
hora_desde: '09:00',
hora_hasta: '12:00'
});