const sqlite3 = require('sqlite3').verbose();
const Worker = require('./Model.js');
const { SQLITE } = require('../config.json');
function Controller() {
const db = new sqlite3.Database(SQLITE.FULL, (err) => {
if (err) throw err;
this.serialize(() => this.run(Worker.createTable));
this.close();
});
this.new = (req, res) => {
db.run(Worker.createRow(req.body), (err) => {
if (err) throw err;
res.json({
status: 200,
massege: 'Роботки добавлен',
});
});
};
this.getAll = (req, res) => {
db.all(Worker.index, (err, rows) => {
if (!err) {
res.json(rows);
} else {
res.json({
status: 500,
massege: 'Проблемы с сервером',
});
}
});
};
this.update = (req, res) => {
db.run(Worker.update(req.body), req.params.id, (err) => {
if (err) throw err;
res.json({
status: 200,
massege: 'Работник изменен',
});
});
};
this.delete = (req, res) => {
db.serialize(() => {
db.run(Worker.deleteRow('?'), req.params.id, (err) => {
if (!err) {
res.json({
status: 200,
massege: 'Удалено',
});
} else {
res.json({
status: 500,
massege: 'Что то пошло нет так',
});
}
});
});
};
this.updateUserUses = (req, res) => {
db.run(Worker.communicationOfEmployeesToUser(
req.body.id,
req.params.token,
), (err) => {
try {
res.json({
status: 200,
});
} catch (e) {
res.json({
satus: 500,
});
}
});
};
this.employeeСhange = (req, res) => {
const params = [req.params.token, req.params.workerID];
db.run(Worker.communicationOfEmployeesToUser, params, (err) => {
try {
res.json({
status: 200,
maseege: 'Пользовотель редактирует работника',
});
} catch (e) {
res.json({
status: 500,
maseege: 'Проблеммы с сервером',
});
}
});
};
/**
* @param {params} workerID
* @param {status, maseege}
*/
this.employeeDelete = (req, res) => {
const params = [req.params.workerID];
db.run(Worker.deleteEmployeesToUser, params, (err) => {
try {
res.json({
status: 200,
maseege: 'Не кто не редактирует пользовотеля',
});
} catch (e) {
res.json({
status: 500,
maseege: 'Проблеммы с сервером',
});
}
});
};
}
module.exports = new Controller();