Files
planilla/api/server.js
google-labs-jules[bot] a394c25245 feat: Implement CRUD API endpoints for core modules
Adds Express.js routes and Prisma-based handlers for common database operations (Create, Read, Update, Delete) for the following modules:

- Empleados (subset of Cliente model)
- Asistencias
- Tareas (TareaRealizada model)
- Planillas

Each module's routes are separated into their own files within `api/routes/`. The new routes are registered in `api/server.js`.

Basic error handling, including try-catch blocks and checks for common Prisma errors (e.g., P2025 for record not found, P2003 for foreign key violations), has been implemented in each endpoint.
2025-05-30 06:45:54 +00:00

44 lines
1.5 KiB
JavaScript

import express from 'express';
import { PrismaClient } from './prisma/generated/client/index.js';
import { Decimal } from '@prisma/client/runtime/library.js';
// Import new routers
import empleadosRouter from './routes/empleados/empleados.js';
import asistenciasRouter from './routes/asistencias/asistencias.js';
import tareasRouter from './routes/tareas/tareas.js';
import planillasRouter from './routes/planillas/planillas.js';
BigInt.prototype.toJSON = function () { return this.toString(); };
Decimal.prototype.toJSON = function () { return this.toString(); };
const prisma = new PrismaClient();
export const app = express();
app.use(express.json());
// Mount new routers
app.use('/api/empleados', empleadosRouter);
app.use('/api/asistencias', asistenciasRouter);
app.use('/api/tareas', tareasRouter);
app.use('/api/planillas', planillasRouter);
app.get('/api/test', (req, res) => res.json({ message: 'Hello World' }));
app.post('/api/clientes/random', async (_req, res) => {
try {
const cliente = await prisma.cliente.create({
data: {
name: 'Cliente ' + Math.floor(Math.random() * 10000),
cedula: BigInt(Math.floor(Math.random() * 1_000_000_000)),
ubicacion: 'Río Frío',
empleado: true,
},
});
res.json(cliente); // ← ahora sí serializa
} catch (err) {
console.error('❌ Error al crear cliente:', err);
res.status(500).json({ error: 'Error al crear cliente' });
}
});
app.listen(4000, () => console.log('API corriendo en :4000'));