menuController.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. import {
  2. Response
  3. } from "express";
  4. import {
  5. AuthRequest
  6. } from "../middlewares/authMiddleware";
  7. import {
  8. deleteCategory as _deleteCategory,
  9. updateCategory as _updateCategory,
  10. deleteProduct as _deleteProduct,
  11. updateProduct as _updateProduct,
  12. getCategories as _getCategories,
  13. getProducts as _getProducts,
  14. addCategory as _addCategory,
  15. addProduct as _addProduct,
  16. updateMenu as _updateMenu,
  17. deleteMenu as _deleteMenu,
  18. getMenus as _getMenus,
  19. addMenu as _addMenu
  20. } from "../actions/menu";
  21. //#region Category Controllers
  22. export const addCategory = async (req: AuthRequest, res: Response): Promise<void> => {
  23. const categoryLimit = req.context!.planDetails?.categoryLimit ?? 0;
  24. const result = await _addCategory(req.context!.userID, categoryLimit, req.body);
  25. res.status(result.code)
  26. .json({
  27. message: result.message,
  28. code: result.code,
  29. ...(result.payload && {
  30. payload: result.payload
  31. })
  32. });
  33. };
  34. export const deleteCategory = async (req: AuthRequest, res: Response): Promise<void> => {
  35. const result = await _deleteCategory(req.context!.userID, req.body);
  36. res.status(result.code)
  37. .json({
  38. message: result.message,
  39. code: result.code
  40. });
  41. };
  42. export const updateCategory = async (req: AuthRequest, res: Response): Promise<void> => {
  43. const result = await _updateCategory(req.context!.userID, req.body);
  44. res.status(result.code)
  45. .json({
  46. message: result.message,
  47. code: result.code,
  48. ...(result.payload && {
  49. payload: result.payload
  50. })
  51. });
  52. };
  53. export const getCategories = async (req: AuthRequest, res: Response): Promise<void> => {
  54. const result = await _getCategories(req.context!.userID);
  55. res.status(result.code)
  56. .json({
  57. message: result.message,
  58. code: result.code,
  59. ...(result.payload && {
  60. payload: result.payload
  61. }),
  62. });
  63. };
  64. //#endregion
  65. //#region Product Controllers
  66. export const addProduct = async (req: AuthRequest, res: Response): Promise<void> => {
  67. const productLimit = req.context!.planDetails?.productLimit ?? 0;
  68. const result = await _addProduct(req.context!.userID, productLimit, req.body);
  69. res.status(result.code)
  70. .json({
  71. message: result.message,
  72. code: result.code,
  73. ...(result.payload && {
  74. payload: result.payload
  75. })
  76. });
  77. };
  78. export const getProducts = async (req: AuthRequest, res: Response): Promise<void> => {
  79. const result = await _getProducts(req.context!.userID, req.query);
  80. res.status(result.code)
  81. .json({
  82. message: result.message,
  83. code: result.code,
  84. ...(result.payload && {
  85. payload: result.payload
  86. })
  87. });
  88. };
  89. export const updateProduct = async (req: AuthRequest, res: Response): Promise<void> => {
  90. const result = await _updateProduct(req.context!.userID, req.body);
  91. res.status(result.code)
  92. .json({
  93. message: result.message,
  94. code: result.code,
  95. ...(result.payload && {
  96. payload: result.payload
  97. })
  98. });
  99. };
  100. export const deleteProduct = async (req: AuthRequest, res: Response): Promise<void> => {
  101. const result = await _deleteProduct(req.context!.userID, req.body);
  102. res.status(result.code)
  103. .json({
  104. message: result.message,
  105. code: result.code,
  106. ...(result.payload && {
  107. payload: result.payload
  108. })
  109. });
  110. };
  111. // #endregion
  112. //#region Menu Controllers
  113. export const addMenu = async (req: AuthRequest, res: Response): Promise<void> => {
  114. const menuLimit = req.context!.planDetails?.menuLimit ?? 0;
  115. const result = await _addMenu(req.context!.userID, menuLimit, req.body);
  116. res.status(result.code)
  117. .json({
  118. message: result.message,
  119. code: result.code,
  120. ...(result.payload && {
  121. payload: result.payload
  122. })
  123. });
  124. };
  125. export const getMenus = async (req: AuthRequest, res: Response): Promise<void> => {
  126. const result = await _getMenus(req.context!.userID, req.query);
  127. res.status(result.code)
  128. .json({
  129. message: result.message,
  130. code: result.code,
  131. ...(result.payload && {
  132. payload: result.payload
  133. })
  134. });
  135. };
  136. export const deleteMenu = async (req: AuthRequest, res: Response): Promise<void> => {
  137. const result = await _deleteMenu(req.context!.userID, req.body);
  138. res.status(result.code)
  139. .json({
  140. message: result.message,
  141. code: result.code
  142. });
  143. };
  144. export const updateMenu = async (req: AuthRequest, res: Response): Promise<void> => {
  145. const result = await _updateMenu(req.context!.userID, req.body);
  146. res.status(result.code)
  147. .json({
  148. message: result.message,
  149. code: result.code,
  150. ...(result.payload && {
  151. payload: result.payload
  152. })
  153. });
  154. };
  155. //#endregion