|
|
@@ -0,0 +1,92 @@
|
|
|
+import {
|
|
|
+ Response
|
|
|
+} from "express";
|
|
|
+import {
|
|
|
+ updateProduct as _updateProduct,
|
|
|
+ deleteProduct as _deleteProduct,
|
|
|
+ getProducts as _getProducts,
|
|
|
+ addProduct as _addProduct
|
|
|
+} from "../actions/menu";
|
|
|
+import {
|
|
|
+ AuthRequest
|
|
|
+} from "../middlewares/authMiddleware";
|
|
|
+
|
|
|
+export const addProduct = async (req: AuthRequest, res: Response): Promise<void> => {
|
|
|
+ try {
|
|
|
+ const result = await _addProduct(req.body, req.context!);
|
|
|
+
|
|
|
+ res.status(result.code).json({
|
|
|
+ message: result.message,
|
|
|
+ code: result.code,
|
|
|
+ ...(result.payload && {
|
|
|
+ payload: result.payload
|
|
|
+ })
|
|
|
+ });
|
|
|
+ } catch (error) {
|
|
|
+ console.error("AddProduct controller error:", error);
|
|
|
+ res.status(500).json({
|
|
|
+ message: "server-error",
|
|
|
+ code: 500
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+export const getProducts = async (req: AuthRequest, res: Response): Promise<void> => {
|
|
|
+ try {
|
|
|
+ const result = await _getProducts(req.query, req.context!);
|
|
|
+
|
|
|
+ res.status(result.code).json({
|
|
|
+ message: result.message,
|
|
|
+ code: result.code,
|
|
|
+ ...(result.payload && {
|
|
|
+ payload: result.payload
|
|
|
+ })
|
|
|
+ });
|
|
|
+ } catch (error) {
|
|
|
+ console.error("GetProducts controller error:", error);
|
|
|
+ res.status(500).json({
|
|
|
+ message: "server-error",
|
|
|
+ code: 500
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+export const updateProduct = async (req: AuthRequest, res: Response): Promise<void> => {
|
|
|
+ try {
|
|
|
+ const result = await _updateProduct(req.body, req.context!);
|
|
|
+
|
|
|
+ res.status(result.code).json({
|
|
|
+ message: result.message,
|
|
|
+ code: result.code,
|
|
|
+ ...(result.payload && {
|
|
|
+ payload: result.payload
|
|
|
+ })
|
|
|
+ });
|
|
|
+ } catch (error) {
|
|
|
+ console.error("UpdateProduct controller error:", error);
|
|
|
+ res.status(500).json({
|
|
|
+ message: "server-error",
|
|
|
+ code: 500
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+export const deleteProduct = async (req: AuthRequest, res: Response): Promise<void> => {
|
|
|
+ try {
|
|
|
+ const result = await _deleteProduct(req.body, req.context!);
|
|
|
+
|
|
|
+ res.status(result.code).json({
|
|
|
+ message: result.message,
|
|
|
+ code: result.code,
|
|
|
+ ...(result.payload && {
|
|
|
+ payload: result.payload
|
|
|
+ })
|
|
|
+ });
|
|
|
+ } catch (error) {
|
|
|
+ console.error("DeleteProduct controller error:", error);
|
|
|
+ res.status(500).json({
|
|
|
+ message: "server-error",
|
|
|
+ code: 500
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|