Files
TueIT_App/backend/models/employeesModel.js
2024-04-07 14:14:02 +02:00

117 lines
4.2 KiB
JavaScript

import ownConn from "../dbConfig.js";
//get single employee by id
export const getEmployeeById = async (id, result) => {
try {
let sql = `SELECT * FROM customeremployees WHERE primaryID = ?`;
const results = await ownConn.execute(sql, [id])
result(null, results[0]);
}
catch (err) {
// Manage Errors
console.log("SQL error : ", err);
result(err, null);
}
};
//get employees by customer id
export const getEmployeesByCustomerId = async (customerId, result) => {
try {
let sql = `SELECT * FROM customeremployees WHERE customerID = ? ORDER BY name ASC`;
const results = await ownConn.query(sql, [customerId])
result(null, results);
}
catch (err) {
// Manage Errors
console.log("SQL error : ", err);
result(err, null);
}
};
// Update employee to Database
export const updateEmployeeById = async (data, result) => {
const id = data.primaryID;
try {
let sql = `UPDATE customeremployees SET name = ?, pronouns = ?, title = ?, firstName = ?, lastName = ?, preferredName = ?, department = ?, departmentID = ?, jobTitle = ?, phonenumber = ?, eMail = ?, notes = ? WHERE primaryID = ?`;
const results = await ownConn.query(sql, [data.name, data.pronouns, data.title, data.firstName, data.lastName, data.preferredName, data.department, data.departmentID, data.jobTitle, data.phonenumber, data.eMail, data.notes, id]);
results.insertId = results.insertId.toString();
result(null, results);
}
catch (err) {
// Manage Errors
console.log("SQL error : ", err);
result(err, null);
}
};
//insert employee to databased
export const insertEmployee = async (data, result) => {
try {
const results = await ownConn.query(`INSERT INTO customeremployees(customerID, customername, name, pronouns, title, firstName, lastName, preferredName, department, departmentID, jobTitle, phonenumber, eMail, notes) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [data.customerID, data.customername, data.name, data.pronouns, data.title, data.firstName, data.lastName, data.preferredName, data.department, data.departmentID, data.jobTitle, data.phonenumber, data.eMail, data.notes])
results.insertId = results.insertId.toString();
result(null, results);
}
catch (err) {
// Manage Errors
console.log("SQL error : ", err);
result(err, null);
}
};
//get all selected employees by name
export const getSelectedEmployeesByName = async (selected, result) => {
try {
let sql = `SELECT * FROM customeremployees WHERE LOWER(name) LIKE '%${selected.toLowerCase()}%' ORDER BY name ASC`;
const results = await ownConn.execute(sql)
result(null, results);
}
catch (err) {
// Manage Errors
console.log("SQL error : ", err);
result(err, null);
}
};
//get all selected employees by department name
export const getSelectedEmployeesByDepartmentName = async (selected, result) => {
try {
let sql = `SELECT * FROM customeremployees WHERE LOWER(department) LIKE '%${selected.toLowerCase()}%' ORDER BY department ASC`;
const results = await ownConn.execute(sql)
result(null, results);
}
catch (err) {
// Manage Errors
console.log("SQL error : ", err);
result(err, null);
}
};
//get all selected employees by departmentID
export const getSelectedEmployeesByDepartment = async (selected, result) => {
try {
let sql = `SELECT * FROM customeremployees WHERE departmentID = ? ORDER BY name ASC`;
const results = await ownConn.execute(sql)
result(null, results);
}
catch (err) {
// Manage Errors
console.log("SQL error : ", err);
result(err, null);
}
};
// Delete employee to Database
export const deleteEmployeeById = async (id, result) => {
try {
let sql = `DELETE FROM customeremployees WHERE primaryID = ?`;
const results = await ownConn.query(sql, [id])
results.insertId = results.insertId.toString();
result(null, results);
}
catch (err) {
// Manage Errors
console.log("SQL error : ", err);
result(err, null);
}
};