los mensajes de errores se envian como message
Some checks failed
build-and-deploy / filter (push) Successful in 2s
Sync to GitHub / sync (push) Failing after 1s
build-and-deploy / build (push) Successful in 12s
build-and-deploy / deploy (push) Successful in 15s

This commit is contained in:
2025-05-30 11:45:23 -06:00
parent 6c7e008164
commit 1eccd8d424
5 changed files with 48 additions and 48 deletions

View File

@@ -10,7 +10,7 @@ router.get('/', async (req, res) => {
res.json(asistencias); res.json(asistencias);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
res.status(500).json({ error: 'Error al obtener asistencias.' }); res.status(500).json({ message: 'Error al obtener asistencias.' });
} }
}); });
@@ -24,11 +24,11 @@ router.get('/:id', async (req, res) => {
if (asistencia) { if (asistencia) {
res.json(asistencia); res.json(asistencia);
} else { } else {
res.status(404).json({ error: 'Asistencia no encontrada.' }); res.status(404).json({ message: 'Asistencia no encontrada.' });
} }
} catch (error) { } catch (error) {
console.error(error); console.error(error);
res.status(500).json({ error: 'Error al obtener asistencia.' }); res.status(500).json({ message: 'Error al obtener asistencia.' });
} }
}); });
@@ -48,7 +48,7 @@ router.post('/', async (req, res) => {
} = req.body } = req.body
if (!empleado_id) if (!empleado_id)
return res.status(400).json({ error: 'El campo empleado_id es obligatorio.' }) return res.status(400).json({ message: 'El campo empleado_id es obligatorio.' })
try { try {
const nuevaAsistencia = await prisma.asistencia.create({ const nuevaAsistencia = await prisma.asistencia.create({
@@ -72,12 +72,12 @@ router.post('/', async (req, res) => {
// ⚠️ captura FK error: Asistencia_empleado_id_fkey // ⚠️ captura FK error: Asistencia_empleado_id_fkey
if(e instanceof Prisma.PrismaClientKnownRequestError ) { if(e instanceof Prisma.PrismaClientKnownRequestError ) {
if( e.code === 'P2003') { if( e.code === 'P2003') {
return res.status(400).json({ error: 'El empleado_id proporcionado no existe.' }) return res.status(400).json({ message: 'El empleado_id proporcionado no existe.' })
} }
} }
console.error(e) console.error(e)
res.status(500).json({ error: 'Error al crear asistencia.' }) res.status(500).json({ message: 'Error al crear asistencia.' })
} }
}) })
@@ -114,14 +114,14 @@ router.put('/:id', async (req, res) => {
} catch (error) { } catch (error) {
console.error(error); console.error(error);
if (error.code === 'P2025') { // Record to update not found if (error.code === 'P2025') { // Record to update not found
return res.status(404).json({ error: 'Asistencia no encontrada para actualizar.' }); return res.status(404).json({ message: 'Asistencia no encontrada para actualizar.' });
} }
if (error.code === 'P2003') { // Foreign key constraint failed if (error.code === 'P2003') { // Foreign key constraint failed
if (error.meta?.field_name?.includes('empleado_id')) { if (error.meta?.field_name?.includes('empleado_id')) {
return res.status(400).json({ error: 'El empleado_id proporcionado no existe.' }); return res.status(400).json({ message: 'El empleado_id proporcionado no existe.' });
} }
} }
res.status(500).json({ error: 'Error al actualizar asistencia.' }); res.status(500).json({ message: 'Error al actualizar asistencia.' });
} }
}); });
@@ -136,9 +136,9 @@ router.delete('/:id', async (req, res) => {
} catch (error) { } catch (error) {
console.error(error); console.error(error);
if (error.code === 'P2025') { // Record to delete not found if (error.code === 'P2025') { // Record to delete not found
return res.status(404).json({ error: 'Asistencia no encontrada para eliminar.' }); return res.status(404).json({ message: 'Asistencia no encontrada para eliminar.' });
} }
res.status(500).json({ error: 'Error al eliminar asistencia.' }); res.status(500).json({ message: 'Error al eliminar asistencia.' });
} }
}); });

View File

@@ -15,7 +15,7 @@ router.get('/', async (_req, res) => {
res.json(fixBigInt(empleados)) res.json(fixBigInt(empleados))
} catch (e) { } catch (e) {
console.error(e) console.error(e)
res.status(500).json({ error: 'Error al obtener empleados.' }) res.status(500).json({ message: 'Error al obtener empleados.' })
} }
}) })
@@ -24,11 +24,11 @@ router.get('/:id', async (req, res) => {
const id = BigInt(req.params.id) const id = BigInt(req.params.id)
try { try {
const empleado = await prisma.cliente.findFirst({ where: { id, empleado: true } }) const empleado = await prisma.cliente.findFirst({ where: { id, empleado: true } })
if (!empleado) return res.status(404).json({ error: 'Empleado no encontrado.' }) if (!empleado) return res.status(404).json({ message: 'Empleado no encontrado.' })
res.json(fixBigInt(empleado)) res.json(fixBigInt(empleado))
} catch (e) { } catch (e) {
console.error(e) console.error(e)
res.status(500).json({ error: 'Error al obtener empleado.' }) res.status(500).json({ message: 'Error al obtener empleado.' })
} }
}) })
@@ -61,8 +61,8 @@ router.post('/', async (req, res) => {
} catch (e) { } catch (e) {
console.error(e) console.error(e)
if (e.code === 'P2002' && e.meta?.target?.includes('cedula')) if (e.code === 'P2002' && e.meta?.target?.includes('cedula'))
return res.status(400).json({ error: 'Ya existe un cliente con esa cédula.' }) return res.status(400).json({ message: 'Ya existe un cliente con esa cédula.' })
res.status(500).json({ error: 'Error al crear empleado.' }) res.status(500).json({ message: 'Error al crear empleado.' })
} }
}) })
@@ -81,7 +81,7 @@ router.put('/:id', async (req, res) => {
try { try {
const existe = await prisma.cliente.findFirst({ where: { id, empleado: true } }) const existe = await prisma.cliente.findFirst({ where: { id, empleado: true } })
if (!existe) return res.status(404).json({ error: 'Empleado no encontrado.' }) if (!existe) return res.status(404).json({ message: 'Empleado no encontrado.' })
const actualizado = await prisma.cliente.update({ const actualizado = await prisma.cliente.update({
where: { id }, where: { id },
@@ -99,10 +99,10 @@ router.put('/:id', async (req, res) => {
} catch (e) { } catch (e) {
console.error(e) console.error(e)
if (e.code === 'P2002' && e.meta?.target?.includes('cedula')) if (e.code === 'P2002' && e.meta?.target?.includes('cedula'))
return res.status(400).json({ error: 'Ya existe un cliente con esa cédula.' }) return res.status(400).json({ message: 'Ya existe un cliente con esa cédula.' })
if (e.code === 'P2025') if (e.code === 'P2025')
return res.status(404).json({ error: 'Empleado no encontrado para actualizar.' }) return res.status(404).json({ message: 'Empleado no encontrado para actualizar.' })
res.status(500).json({ error: 'Error al actualizar empleado.' }) res.status(500).json({ message: 'Error al actualizar empleado.' })
} }
}) })
@@ -111,15 +111,15 @@ router.delete('/:id', async (req, res) => {
const id = BigInt(req.params.id) const id = BigInt(req.params.id)
try { try {
const existe = await prisma.cliente.findFirst({ where: { id, empleado: true } }) const existe = await prisma.cliente.findFirst({ where: { id, empleado: true } })
if (!existe) return res.status(404).json({ error: 'Empleado no encontrado.' }) if (!existe) return res.status(404).json({ message: 'Empleado no encontrado.' })
await prisma.cliente.delete({ where: { id } }) await prisma.cliente.delete({ where: { id } })
res.status(204).send() res.status(204).send()
} catch (e) { } catch (e) {
console.error(e) console.error(e)
if (e.code === 'P2025') if (e.code === 'P2025')
return res.status(404).json({ error: 'Empleado no encontrado para eliminar.' }) return res.status(404).json({ message: 'Empleado no encontrado para eliminar.' })
res.status(500).json({ error: 'Error al eliminar empleado.' }) res.status(500).json({ message: 'Error al eliminar empleado.' })
} }
}) })

View File

@@ -10,7 +10,7 @@ router.get('/', async (req, res) => {
res.json(planillas); res.json(planillas);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
res.status(500).json({ error: 'Error al obtener planillas.' }); res.status(500).json({ message: 'Error al obtener planillas.' });
} }
}); });
@@ -24,11 +24,11 @@ router.get('/:id', async (req, res) => {
if (planilla) { if (planilla) {
res.json(planilla); res.json(planilla);
} else { } else {
res.status(404).json({ error: 'Planilla no encontrada.' }); res.status(404).json({ message: 'Planilla no encontrada.' });
} }
} catch (error) { } catch (error) {
console.error(error); console.error(error);
res.status(500).json({ error: 'Error al obtener planilla.' }); res.status(500).json({ message: 'Error al obtener planilla.' });
} }
}); });
@@ -49,7 +49,7 @@ router.post('/', async (req, res) => {
try { try {
// Basic validation // Basic validation
if (!empleado_id || !fecha_desde || !fecha_hasta || !titulo) { if (!empleado_id || !fecha_desde || !fecha_hasta || !titulo) {
return res.status(400).json({ error: 'Los campos empleado_id, fecha_desde, fecha_hasta y titulo son obligatorios.' }); return res.status(400).json({ message: 'Los campos empleado_id, fecha_desde, fecha_hasta y titulo son obligatorios.' });
} }
const nuevaPlanilla = await prisma.planilla.create({ const nuevaPlanilla = await prisma.planilla.create({
@@ -70,10 +70,10 @@ router.post('/', async (req, res) => {
console.error(error); console.error(error);
if (error.code === 'P2003') { // Foreign key constraint failed if (error.code === 'P2003') { // Foreign key constraint failed
if (error.meta?.field_name?.includes('empleado_id')) { if (error.meta?.field_name?.includes('empleado_id')) {
return res.status(400).json({ error: 'El empleado_id proporcionado no existe.' }); return res.status(400).json({ message: 'El empleado_id proporcionado no existe.' });
} }
} }
res.status(500).json({ error: 'Error al crear planilla.' }); res.status(500).json({ message: 'Error al crear planilla.' });
} }
}); });
@@ -111,14 +111,14 @@ router.put('/:id', async (req, res) => {
} catch (error) { } catch (error) {
console.error(error); console.error(error);
if (error.code === 'P2025') { // Record to update not found if (error.code === 'P2025') { // Record to update not found
return res.status(404).json({ error: 'Planilla no encontrada para actualizar.' }); return res.status(404).json({ message: 'Planilla no encontrada para actualizar.' });
} }
if (error.code === 'P2003') { // Foreign key constraint failed if (error.code === 'P2003') { // Foreign key constraint failed
if (error.meta?.field_name?.includes('empleado_id')) { if (error.meta?.field_name?.includes('empleado_id')) {
return res.status(400).json({ error: 'El empleado_id proporcionado no existe.' }); return res.status(400).json({ message: 'El empleado_id proporcionado no existe.' });
} }
} }
res.status(500).json({ error: 'Error al actualizar planilla.' }); res.status(500).json({ message: 'Error al actualizar planilla.' });
} }
}); });
@@ -133,9 +133,9 @@ router.delete('/:id', async (req, res) => {
} catch (error) { } catch (error) {
console.error(error); console.error(error);
if (error.code === 'P2025') { // Record to delete not found if (error.code === 'P2025') { // Record to delete not found
return res.status(404).json({ error: 'Planilla no encontrada para eliminar.' }); return res.status(404).json({ message: 'Planilla no encontrada para eliminar.' });
} }
res.status(500).json({ error: 'Error al eliminar planilla.' }); res.status(500).json({ message: 'Error al eliminar planilla.' });
} }
}); });

View File

@@ -10,7 +10,7 @@ router.get('/', async (req, res) => {
res.json(tareas); res.json(tareas);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
res.status(500).json({ error: 'Error al obtener tareas.' }); res.status(500).json({ message: 'Error al obtener tareas.' });
} }
}); });
@@ -24,11 +24,11 @@ router.get('/:id', async (req, res) => {
if (tarea) { if (tarea) {
res.json(tarea); res.json(tarea);
} else { } else {
res.status(404).json({ error: 'Tarea no encontrada.' }); res.status(404).json({ message: 'Tarea no encontrada.' });
} }
} catch (error) { } catch (error) {
console.error(error); console.error(error);
res.status(500).json({ error: 'Error al obtener tarea.' }); res.status(500).json({ message: 'Error al obtener tarea.' });
} }
}); });
@@ -51,7 +51,7 @@ router.post('/', async (req, res) => {
try { try {
// Basic validation // Basic validation
if (!empleado_id || !titulo || !fecha) { if (!empleado_id || !titulo || !fecha) {
return res.status(400).json({ error: 'Los campos empleado_id, titulo y fecha son obligatorios.' }); return res.status(400).json({ message: 'Los campos empleado_id, titulo y fecha son obligatorios.' });
} }
const nuevaTarea = await prisma.tareaRealizada.create({ const nuevaTarea = await prisma.tareaRealizada.create({
@@ -74,13 +74,13 @@ router.post('/', async (req, res) => {
console.error(error); console.error(error);
if (error.code === 'P2003') { // Foreign key constraint failed if (error.code === 'P2003') { // Foreign key constraint failed
if (error.meta?.field_name?.includes('empleado_id')) { if (error.meta?.field_name?.includes('empleado_id')) {
return res.status(400).json({ error: 'El empleado_id proporcionado no existe.' }); return res.status(400).json({ message: 'El empleado_id proporcionado no existe.' });
} }
if (error.meta?.field_name?.includes('planilla_id')) { if (error.meta?.field_name?.includes('planilla_id')) {
return res.status(400).json({ error: 'El planilla_id proporcionado no existe.' }); return res.status(400).json({ message: 'El planilla_id proporcionado no existe.' });
} }
} }
res.status(500).json({ error: 'Error al crear tarea.' }); res.status(500).json({ message: 'Error al crear tarea.' });
} }
}); });
@@ -122,17 +122,17 @@ router.put('/:id', async (req, res) => {
} catch (error) { } catch (error) {
console.error(error); console.error(error);
if (error.code === 'P2025') { // Record to update not found if (error.code === 'P2025') { // Record to update not found
return res.status(404).json({ error: 'Tarea no encontrada para actualizar.' }); return res.status(404).json({ message: 'Tarea no encontrada para actualizar.' });
} }
if (error.code === 'P2003') { // Foreign key constraint failed if (error.code === 'P2003') { // Foreign key constraint failed
if (error.meta?.field_name?.includes('empleado_id')) { if (error.meta?.field_name?.includes('empleado_id')) {
return res.status(400).json({ error: 'El empleado_id proporcionado no existe.' }); return res.status(400).json({ message: 'El empleado_id proporcionado no existe.' });
} }
if (error.meta?.field_name?.includes('planilla_id')) { if (error.meta?.field_name?.includes('planilla_id')) {
return res.status(400).json({ error: 'El planilla_id proporcionado no existe.' }); return res.status(400).json({ message: 'El planilla_id proporcionado no existe.' });
} }
} }
res.status(500).json({ error: 'Error al actualizar tarea.' }); res.status(500).json({ message: 'Error al actualizar tarea.' });
} }
}); });
@@ -147,9 +147,9 @@ router.delete('/:id', async (req, res) => {
} catch (error) { } catch (error) {
console.error(error); console.error(error);
if (error.code === 'P2025') { // Record to delete not found if (error.code === 'P2025') { // Record to delete not found
return res.status(404).json({ error: 'Tarea no encontrada para eliminar.' }); return res.status(404).json({ message: 'Tarea no encontrada para eliminar.' });
} }
res.status(500).json({ error: 'Error al eliminar tarea.' }); res.status(500).json({ message: 'Error al eliminar tarea.' });
} }
}); });

View File

@@ -52,7 +52,7 @@ export const useAsistenciasStore = defineStore('asistencias', {
await this.fetchAsistencias(); // Refresh the list await this.fetchAsistencias(); // Refresh the list
return data; return data;
} catch (error) { } catch (error) {
console.error('Error creating asistencia:', error); console.error('Error creating asistencia:', error.message);
throw error; // Re-throw to allow form to handle it throw error; // Re-throw to allow form to handle it
} }
}, },