trash_system/backend/src/controllers/QueueOptionController.ts

61 lines
1.7 KiB
TypeScript

import { Request, Response } from "express";
import CreateService from "../services/QueueOptionService/CreateService";
import ListService from "../services/QueueOptionService/ListService";
import UpdateService from "../services/QueueOptionService/UpdateService";
import ShowService from "../services/QueueOptionService/ShowService";
import DeleteService from "../services/QueueOptionService/DeleteService";
type FilterList = {
queueId: string | number;
queueOptionId: string | number;
parentId: string | number | boolean;
};
export const index = async (req: Request, res: Response): Promise<Response> => {
const { queueId, queueOptionId, parentId } = req.query as FilterList;
const queueOptions = await ListService({ queueId, queueOptionId, parentId });
return res.json(queueOptions);
};
export const store = async (req: Request, res: Response): Promise<Response> => {
const queueOptionData = req.body;
const queueOption = await CreateService(queueOptionData);
return res.status(200).json(queueOption);
};
export const show = async (req: Request, res: Response): Promise<Response> => {
const { queueOptionId } = req.params;
const queueOption = await ShowService(queueOptionId);
return res.status(200).json(queueOption);
};
export const update = async (
req: Request,
res: Response
): Promise<Response> => {
const { queueOptionId } = req.params
const queueOptionData = req.body;
const queueOption = await UpdateService(queueOptionId, queueOptionData);
return res.status(200).json(queueOption);
};
export const remove = async (
req: Request,
res: Response
): Promise<Response> => {
const { queueOptionId } = req.params
await DeleteService(queueOptionId);
return res.status(200).json({ message: "Option Delected" });
};