los mensajes de errores se envian como message
This commit is contained in:
@@ -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.' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -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.' })
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -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.' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -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.' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user