// employeeRouter.{ts|js}
import { employeeController } from './employeeController';
import { CRUDMySQL } from 'crud-node';
import { employeeSchema } from './schemas/employee';
// Executes operations in a single transaction
const transacted = true;
const employeeController = new CRUDMySQL(db, employeeSchema);
// Create record
await db.usingSession(async (session) => {
const payload = {
email: 'leslie46@24mailin.com',
firstName: 'Leslie',
lastName: 'Brett',
};
const data = await employeeController.createDocument(session, payload);
return data;
}, transacted);
// Update record
await db.usingSession(async (session) => {
const employeeId = '<_id>';
const payload = {
email: 'leslie46@24mailin.com',
firstName: 'Leslie',
lastName: 'Brett',
};
const data = await employeeController.updateDocument(session, employeeId, payload);
return data;
}, transacted);
// Delete record
await db.usingSession(async (session) => {
const employeeId = '<_id>';
const data = await employeeController.deleteDocument(session, employeeId);
return data;
}, transacted);