import { Request, Response } from "express"; import { getIO } from "../libs/socket"; import AppError from "../errors/AppError"; import UpdateSettingService from "../services/SettingServices/UpdateSettingService"; import ListSettingsService from "../services/SettingServices/ListSettingsService"; import loadSettings from "../helpers/LoadSettings"; import updateSettingTicket from "../services/SettingServices/UpdateSettingTicket"; import SettingTicket from "../models/SettingTicket"; export const index = async (req: Request, res: Response): Promise => { // if (req.user.profile !== "master") { // throw new AppError("ERR_NO_PERMISSION", 403); // } const settings = await ListSettingsService(); const config = await SettingTicket.findAll(); return res.status(200).json({ settings, config }); }; export const updateTicketSettings = async ( req: Request, res: Response ): Promise => { const { outBusinessHours, ticketExpiration, weekend, saturday, sunday, holiday } = req.body; if (outBusinessHours && Object.keys(outBusinessHours).length > 0) { await updateSettingTicket({ ...outBusinessHours, key: "outBusinessHours" }); } if (ticketExpiration && Object.keys(ticketExpiration).length > 0) { await updateSettingTicket({ ...ticketExpiration, key: "ticketExpiration" }); } if (weekend && Object.keys(weekend).length > 0) { await updateSettingTicket({ ...weekend, key: "weekend" }); } if (saturday && Object.keys(saturday).length > 0) { await updateSettingTicket({ ...saturday, key: "saturday" }); } if (sunday && Object.keys(sunday).length > 0) { await updateSettingTicket({ ...sunday, key: "sunday" }); } if (holiday && Object.keys(holiday).length > 0) { await updateSettingTicket({ ...holiday, key: "holiday" }); } return res .status(200) .json({ outBusinessHours, ticketExpiration, weekend, saturday, sunday, holiday }); }; export const update = async ( req: Request, res: Response ): Promise => { if (req.user.profile !== "master") { throw new AppError("ERR_NO_PERMISSION", 403); } const { settingKey: key } = req.params; const { value } = req.body; const setting = await UpdateSettingService({ key, value }); loadSettings(); const io = getIO(); io.emit("settings", { action: "update", setting }); return res.status(200).json(setting); };