Cargo Service
El CargoService administra el catálogo maestro de posiciones laborales, incluyendo operaciones CRUD con validación de datos.
Ubicación
Section titled “Ubicación”Archivo: src/domain/cargos/CargoService.ts
Métodos Disponibles
Section titled “Métodos Disponibles”| Método | Descripción |
|---|---|
findAll(tenantDb) | Lista todos los cargos |
findById(tenantDb, id) | Obtiene un cargo por ID |
create(tenantDb, userId, data) | Crea un nuevo cargo |
update(tenantDb, userId, id, data) | Actualiza un cargo existente |
delete(tenantDb, id) | Elimina un cargo |
Validaciones
Section titled “Validaciones”- Código y Nombre son obligatorios.
- El código se convierte automáticamente a mayúsculas.
- Validación de existencia antes de update/delete.
Ejemplo de Uso
Section titled “Ejemplo de Uso”import { CargoService } from '@/domain/cargos/CargoService';
// Crear un nuevo cargoawait CargoService.create('tenant_db', 'user-123', { codigo: 'GER-001', nombre: 'Gerente General', descripcion: 'Responsable de la dirección estratégica'});Dependencias
Section titled “Dependencias”- CargoRepository: Acceso a datos de cargos en PostgreSQL.