TableController.js 3.00 KiB
const Auth = require("../models/auth");
const Table = require("../models/table");
const TableStatus = require("../models/tablestatus");
const TableTypes = require("../models/tabletypes");
const User = require("../models/user");
const tableModel = new Table();
const tableTypesModel = new TableTypes();
const tableStatusModel = new TableStatus();
const userModel = new User();
const showIndex = async(req, res, next) => {
const { query } = req.query;
const authResult = await Auth.getSessionData(req.session.token);
var tableResult;
if(!query) {
tableResult = await tableModel.findAllJoinTypesUsers() || [ ];
}
else tableResult = await tableModel.searchJoinTypes(query) || [ ];
const tableStatusResult = await tableStatusModel.findAll() || [ ];
res.render("restaurant/table/index",{ role: authResult.role,tableResult: tableResult,tableStatusData: tableStatusResult });
};
const showCreate = async(req, res, next) => {
const authResult = await Auth.getSessionData(req.session.token);
const tableTypesResult = await tableTypesModel.findAll() || [ ];
const tableStatusResult = await tableStatusModel.findAll() || [ ];
res.render("restaurant/table/create",{ role: authResult.role,tableTypeData: tableTypesResult,tableStatusData: tableStatusResult });
};
const showManage = async(req, res, next) => {
const { id } = req.params;
const authResult = await Auth.getSessionData(req.session.token);
const tableResult = await tableModel.findOneJoinTypesUsersByID(id) || [ ];
if(tableResult == null) return res.status(404).send("Not Found.");
const tableTypesResult = await tableTypesModel.findAll() || [ ];
const tableStatusResult = await tableStatusModel.findAll() || [ ];
const usersResult = await userModel.findAll() || [ ];
console.log(tableResult);
res.render("restaurant/table/manage",{ role: authResult.role,tableData: tableResult,tableTypeData: tableTypesResult,tableStatusData: tableStatusResult,usersData: usersResult });
};
const updateTable = async(req, res, next) => {
const { id,table_number,table_type,table_status,user_id } = req.body;
console.log(id);
const tableResult = await tableModel.findOneBy('id',id);
if(tableResult == null) return res.status(404).send("Not Found.");
await tableModel.updateBy('id',id,{ table_number, table_type, table_status,user_id: user_id == 0 ? null : user_id });
res.redirect("/table/manage/" + id);
};
const deleteTable = async(req, res, next) => {
const { id } = req.body;
const tableResult = await tableModel.findOneBy('id',id);
if(tableResult == null) return res.status(404).send("Not Found.");
await tableModel.deleteById(id);
res.redirect("/table");
};
const createTable = async(req, res, next) => {