qeai-sdk 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/dist/constants/auth-commands.constant.d.ts +25 -0
  2. package/dist/constants/auth-commands.constant.js +25 -0
  3. package/dist/constants/category-commands.constant.d.ts +35 -0
  4. package/dist/constants/category-commands.constant.js +35 -0
  5. package/dist/constants/chain-commands.constant.d.ts +35 -0
  6. package/dist/constants/chain-commands.constant.js +35 -0
  7. package/dist/constants/index.d.ts +29 -0
  8. package/dist/constants/index.js +39 -0
  9. package/dist/constants/ingredient-commands.constant.d.ts +38 -0
  10. package/dist/constants/ingredient-commands.constant.js +38 -0
  11. package/dist/constants/order-commands.constant.d.ts +34 -0
  12. package/dist/constants/order-commands.constant.js +34 -0
  13. package/dist/constants/payment-commands.constant.d.ts +31 -0
  14. package/dist/constants/payment-commands.constant.js +31 -0
  15. package/dist/constants/payment-events.constant.d.ts +17 -0
  16. package/dist/constants/payment-events.constant.js +17 -0
  17. package/dist/constants/product-commands.constant.d.ts +119 -0
  18. package/dist/constants/product-commands.constant.js +126 -0
  19. package/dist/constants/product-events.constant.d.ts +32 -0
  20. package/dist/constants/product-events.constant.js +32 -0
  21. package/dist/constants/question-commands.constant.d.ts +43 -0
  22. package/dist/constants/question-commands.constant.js +43 -0
  23. package/dist/constants/restaurant-commands.constant.d.ts +33 -0
  24. package/dist/constants/restaurant-commands.constant.js +33 -0
  25. package/dist/constants/tag-commands.constant.d.ts +44 -0
  26. package/dist/constants/tag-commands.constant.js +44 -0
  27. package/dist/dtos/auth/index.d.ts +10 -0
  28. package/dist/dtos/auth/index.js +10 -0
  29. package/dist/dtos/auth/login-user.dto.d.ts +24 -0
  30. package/dist/dtos/auth/login-user.dto.js +44 -0
  31. package/dist/dtos/auth/register-user.dto.d.ts +30 -0
  32. package/dist/dtos/auth/register-user.dto.js +56 -0
  33. package/dist/dtos/categories/create-category.dto.d.ts +38 -0
  34. package/dist/dtos/categories/create-category.dto.js +69 -0
  35. package/dist/dtos/categories/delete-category.dto.d.ts +24 -0
  36. package/dist/dtos/categories/delete-category.dto.js +44 -0
  37. package/dist/dtos/categories/index.d.ts +11 -0
  38. package/dist/dtos/categories/index.js +11 -0
  39. package/dist/dtos/categories/update-category.dto.d.ts +26 -0
  40. package/dist/dtos/categories/update-category.dto.js +48 -0
  41. package/dist/dtos/chain/create-chain.dto.d.ts +43 -0
  42. package/dist/dtos/chain/create-chain.dto.js +75 -0
  43. package/dist/dtos/chain/delete-chain.dto.d.ts +24 -0
  44. package/dist/dtos/chain/delete-chain.dto.js +44 -0
  45. package/dist/dtos/chain/index.d.ts +11 -0
  46. package/dist/dtos/chain/index.js +11 -0
  47. package/dist/dtos/chain/update-chain.dto.d.ts +26 -0
  48. package/dist/dtos/chain/update-chain.dto.js +48 -0
  49. package/dist/dtos/common/index.d.ts +9 -0
  50. package/dist/dtos/common/index.js +9 -0
  51. package/dist/dtos/common/pagination.dto.d.ts +27 -0
  52. package/dist/dtos/common/pagination.dto.js +50 -0
  53. package/dist/dtos/index.d.ts +28 -0
  54. package/dist/dtos/index.js +40 -0
  55. package/dist/dtos/ingredients/create-ingredient.dto.d.ts +31 -0
  56. package/dist/dtos/ingredients/create-ingredient.dto.js +58 -0
  57. package/dist/dtos/ingredients/delete-ingredient.dto.d.ts +24 -0
  58. package/dist/dtos/ingredients/delete-ingredient.dto.js +44 -0
  59. package/dist/dtos/ingredients/index.d.ts +12 -0
  60. package/dist/dtos/ingredients/index.js +12 -0
  61. package/dist/dtos/ingredients/search-by-name.dto.d.ts +18 -0
  62. package/dist/dtos/ingredients/search-by-name.dto.js +33 -0
  63. package/dist/dtos/ingredients/update-ingredient.dto.d.ts +26 -0
  64. package/dist/dtos/ingredients/update-ingredient.dto.js +48 -0
  65. package/dist/dtos/orders/change-order-status.dto.d.ts +25 -0
  66. package/dist/dtos/orders/change-order-status.dto.js +43 -0
  67. package/dist/dtos/orders/create-order.dto.d.ts +62 -0
  68. package/dist/dtos/orders/create-order.dto.js +111 -0
  69. package/dist/dtos/orders/index.d.ts +14 -0
  70. package/dist/dtos/orders/index.js +14 -0
  71. package/dist/dtos/orders/order-item.dto.d.ts +65 -0
  72. package/dist/dtos/orders/order-item.dto.js +120 -0
  73. package/dist/dtos/orders/order-pagination.dto.d.ts +19 -0
  74. package/dist/dtos/orders/order-pagination.dto.js +34 -0
  75. package/dist/dtos/orders/paid-order.dto.d.ts +30 -0
  76. package/dist/dtos/orders/paid-order.dto.js +54 -0
  77. package/dist/dtos/orders/update-order.dto.d.ts +13 -0
  78. package/dist/dtos/orders/update-order.dto.js +13 -0
  79. package/dist/dtos/payments/index.d.ts +11 -0
  80. package/dist/dtos/payments/index.js +11 -0
  81. package/dist/dtos/payments/payment-session-item.dto.d.ts +70 -0
  82. package/dist/dtos/payments/payment-session-item.dto.js +129 -0
  83. package/dist/dtos/payments/payment-session.dto.d.ts +63 -0
  84. package/dist/dtos/payments/payment-session.dto.js +111 -0
  85. package/dist/dtos/payments/webhook-data.dto.d.ts +39 -0
  86. package/dist/dtos/payments/webhook-data.dto.js +68 -0
  87. package/dist/dtos/products/create-product.dto.d.ts +54 -0
  88. package/dist/dtos/products/create-product.dto.js +99 -0
  89. package/dist/dtos/products/delete-product.dto.d.ts +24 -0
  90. package/dist/dtos/products/delete-product.dto.js +44 -0
  91. package/dist/dtos/products/index.d.ts +12 -0
  92. package/dist/dtos/products/index.js +13 -0
  93. package/dist/dtos/products/submodules/index.d.ts +6 -0
  94. package/dist/dtos/products/submodules/index.js +7 -0
  95. package/dist/dtos/products/submodules/product-image/bulk-create-product-image.dto.d.ts +26 -0
  96. package/dist/dtos/products/submodules/product-image/bulk-create-product-image.dto.js +50 -0
  97. package/dist/dtos/products/submodules/product-image/create-product-image.dto.d.ts +32 -0
  98. package/dist/dtos/products/submodules/product-image/create-product-image.dto.js +59 -0
  99. package/dist/dtos/products/submodules/product-image/index.d.ts +12 -0
  100. package/dist/dtos/products/submodules/product-image/index.js +12 -0
  101. package/dist/dtos/products/submodules/product-image/set-primary-image.dto.d.ts +24 -0
  102. package/dist/dtos/products/submodules/product-image/set-primary-image.dto.js +46 -0
  103. package/dist/dtos/products/submodules/product-image/update-product-image.dto.d.ts +30 -0
  104. package/dist/dtos/products/submodules/product-image/update-product-image.dto.js +57 -0
  105. package/dist/dtos/products/submodules/product-question/create-product-question.dto.d.ts +40 -0
  106. package/dist/dtos/products/submodules/product-question/create-product-question.dto.js +76 -0
  107. package/dist/dtos/products/submodules/product-question/find-by-product-id-and-type.dto.d.ts +25 -0
  108. package/dist/dtos/products/submodules/product-question/find-by-product-id-and-type.dto.js +47 -0
  109. package/dist/dtos/products/submodules/product-question/index.d.ts +12 -0
  110. package/dist/dtos/products/submodules/product-question/index.js +12 -0
  111. package/dist/dtos/products/submodules/product-question/replace-by-product-id.dto.d.ts +27 -0
  112. package/dist/dtos/products/submodules/product-question/replace-by-product-id.dto.js +51 -0
  113. package/dist/dtos/products/submodules/product-question/update-product-question.dto.d.ts +32 -0
  114. package/dist/dtos/products/submodules/product-question/update-product-question.dto.js +63 -0
  115. package/dist/dtos/products/submodules/product-recipe/create-product-recipe.dto.d.ts +38 -0
  116. package/dist/dtos/products/submodules/product-recipe/create-product-recipe.dto.js +70 -0
  117. package/dist/dtos/products/submodules/product-recipe/index.d.ts +11 -0
  118. package/dist/dtos/products/submodules/product-recipe/index.js +11 -0
  119. package/dist/dtos/products/submodules/product-recipe/replace-by-product-id.dto.d.ts +27 -0
  120. package/dist/dtos/products/submodules/product-recipe/replace-by-product-id.dto.js +51 -0
  121. package/dist/dtos/products/submodules/product-recipe/update-product-recipe.dto.d.ts +37 -0
  122. package/dist/dtos/products/submodules/product-recipe/update-product-recipe.dto.js +71 -0
  123. package/dist/dtos/products/submodules/product-schedule/create-product-schedule.dto.d.ts +38 -0
  124. package/dist/dtos/products/submodules/product-schedule/create-product-schedule.dto.js +78 -0
  125. package/dist/dtos/products/submodules/product-schedule/index.d.ts +12 -0
  126. package/dist/dtos/products/submodules/product-schedule/index.js +12 -0
  127. package/dist/dtos/products/submodules/product-schedule/is-available-at-time.dto.d.ts +31 -0
  128. package/dist/dtos/products/submodules/product-schedule/is-available-at-time.dto.js +60 -0
  129. package/dist/dtos/products/submodules/product-schedule/replace-by-product-id.dto.d.ts +27 -0
  130. package/dist/dtos/products/submodules/product-schedule/replace-by-product-id.dto.js +51 -0
  131. package/dist/dtos/products/submodules/product-schedule/update-product-schedule.dto.d.ts +38 -0
  132. package/dist/dtos/products/submodules/product-schedule/update-product-schedule.dto.js +79 -0
  133. package/dist/dtos/products/submodules/product-size/create-product-size.dto.d.ts +39 -0
  134. package/dist/dtos/products/submodules/product-size/create-product-size.dto.js +73 -0
  135. package/dist/dtos/products/submodules/product-size/index.d.ts +12 -0
  136. package/dist/dtos/products/submodules/product-size/index.js +12 -0
  137. package/dist/dtos/products/submodules/product-size/product-size-data.dto.d.ts +32 -0
  138. package/dist/dtos/products/submodules/product-size/product-size-data.dto.js +60 -0
  139. package/dist/dtos/products/submodules/product-size/replace-by-product-id.dto.d.ts +27 -0
  140. package/dist/dtos/products/submodules/product-size/replace-by-product-id.dto.js +51 -0
  141. package/dist/dtos/products/submodules/product-size/update-product-size.dto.d.ts +37 -0
  142. package/dist/dtos/products/submodules/product-size/update-product-size.dto.js +72 -0
  143. package/dist/dtos/products/submodules/product-tag/create-product-tag.dto.d.ts +24 -0
  144. package/dist/dtos/products/submodules/product-tag/create-product-tag.dto.js +46 -0
  145. package/dist/dtos/products/submodules/product-tag/find-product-tag.dto.d.ts +24 -0
  146. package/dist/dtos/products/submodules/product-tag/find-product-tag.dto.js +46 -0
  147. package/dist/dtos/products/submodules/product-tag/index.d.ts +12 -0
  148. package/dist/dtos/products/submodules/product-tag/index.js +12 -0
  149. package/dist/dtos/products/submodules/product-tag/remove-product-tag.dto.d.ts +24 -0
  150. package/dist/dtos/products/submodules/product-tag/remove-product-tag.dto.js +46 -0
  151. package/dist/dtos/products/submodules/product-tag/replace-by-product-id.dto.d.ts +26 -0
  152. package/dist/dtos/products/submodules/product-tag/replace-by-product-id.dto.js +48 -0
  153. package/dist/dtos/products/update-product.dto.d.ts +27 -0
  154. package/dist/dtos/products/update-product.dto.js +48 -0
  155. package/dist/dtos/questions/create-question.dto.d.ts +54 -0
  156. package/dist/dtos/questions/create-question.dto.js +96 -0
  157. package/dist/dtos/questions/delete-question.dto.d.ts +24 -0
  158. package/dist/dtos/questions/delete-question.dto.js +44 -0
  159. package/dist/dtos/questions/index.d.ts +12 -0
  160. package/dist/dtos/questions/index.js +12 -0
  161. package/dist/dtos/questions/search-by-name.dto.d.ts +18 -0
  162. package/dist/dtos/questions/search-by-name.dto.js +33 -0
  163. package/dist/dtos/questions/update-question.dto.d.ts +26 -0
  164. package/dist/dtos/questions/update-question.dto.js +48 -0
  165. package/dist/dtos/restaurants/create-restaurant.dto.d.ts +57 -0
  166. package/dist/dtos/restaurants/create-restaurant.dto.js +100 -0
  167. package/dist/dtos/restaurants/delete-restaurant.dto.d.ts +24 -0
  168. package/dist/dtos/restaurants/delete-restaurant.dto.js +44 -0
  169. package/dist/dtos/restaurants/index.d.ts +11 -0
  170. package/dist/dtos/restaurants/index.js +11 -0
  171. package/dist/dtos/restaurants/update-restaurant.dto.d.ts +26 -0
  172. package/dist/dtos/restaurants/update-restaurant.dto.js +48 -0
  173. package/dist/dtos/tags/create-tag.dto.d.ts +24 -0
  174. package/dist/dtos/tags/create-tag.dto.js +46 -0
  175. package/dist/dtos/tags/delete-tag.dto.d.ts +24 -0
  176. package/dist/dtos/tags/delete-tag.dto.js +44 -0
  177. package/dist/dtos/tags/index.d.ts +12 -0
  178. package/dist/dtos/tags/index.js +12 -0
  179. package/dist/dtos/tags/search-by-name.dto.d.ts +18 -0
  180. package/dist/dtos/tags/search-by-name.dto.js +33 -0
  181. package/dist/dtos/tags/update-tag.dto.d.ts +26 -0
  182. package/dist/dtos/tags/update-tag.dto.js +48 -0
  183. package/dist/dtos/translations/create-translation.dto.d.ts +36 -0
  184. package/dist/dtos/translations/create-translation.dto.js +74 -0
  185. package/dist/dtos/translations/delete-translation.dto.d.ts +10 -0
  186. package/dist/dtos/translations/delete-translation.dto.js +25 -0
  187. package/dist/dtos/translations/find-translations-by-entity.dto.d.ts +16 -0
  188. package/dist/dtos/translations/find-translations-by-entity.dto.js +35 -0
  189. package/dist/dtos/translations/index.d.ts +4 -0
  190. package/dist/dtos/translations/index.js +4 -0
  191. package/dist/dtos/translations/update-translation.dto.d.ts +12 -0
  192. package/dist/dtos/translations/update-translation.dto.js +27 -0
  193. package/dist/enums/auth-provider.enum.d.ts +68 -0
  194. package/dist/enums/auth-provider.enum.js +69 -0
  195. package/dist/enums/currency.enum.d.ts +21 -0
  196. package/dist/enums/currency.enum.js +22 -0
  197. package/dist/enums/http-status-code.enum.d.ts +78 -0
  198. package/dist/enums/http-status-code.enum.js +84 -0
  199. package/dist/enums/http-status-text.enum.d.ts +91 -0
  200. package/dist/enums/http-status-text.enum.js +92 -0
  201. package/dist/enums/index.d.ts +12 -0
  202. package/dist/enums/index.js +12 -0
  203. package/dist/enums/language-code.enum.d.ts +19 -0
  204. package/dist/enums/language-code.enum.js +20 -0
  205. package/dist/enums/order-status.enum.d.ts +68 -0
  206. package/dist/enums/order-status.enum.js +69 -0
  207. package/dist/enums/order-type.enum.d.ts +45 -0
  208. package/dist/enums/order-type.enum.js +46 -0
  209. package/dist/enums/product-status.enum.d.ts +55 -0
  210. package/dist/enums/product-status.enum.js +56 -0
  211. package/dist/enums/question-product-type.enum.d.ts +37 -0
  212. package/dist/enums/question-product-type.enum.js +38 -0
  213. package/dist/enums/question-type.enum.d.ts +52 -0
  214. package/dist/enums/question-type.enum.js +53 -0
  215. package/dist/enums/role.enum.d.ts +67 -0
  216. package/dist/enums/role.enum.js +68 -0
  217. package/dist/enums/translation-entity-type.enum.d.ts +42 -0
  218. package/dist/enums/translation-entity-type.enum.js +43 -0
  219. package/dist/index.d.ts +5 -0
  220. package/dist/index.js +5 -0
  221. package/dist/interfaces/auth/access-token.interface.d.ts +24 -0
  222. package/dist/interfaces/auth/access-token.interface.js +1 -0
  223. package/dist/interfaces/auth/access-user.interface.d.ts +17 -0
  224. package/dist/interfaces/auth/access-user.interface.js +1 -0
  225. package/dist/interfaces/auth/account.interface.d.ts +85 -0
  226. package/dist/interfaces/auth/account.interface.js +1 -0
  227. package/dist/interfaces/auth/full-token.interface.d.ts +12 -0
  228. package/dist/interfaces/auth/full-token.interface.js +1 -0
  229. package/dist/interfaces/auth/index.d.ts +17 -0
  230. package/dist/interfaces/auth/index.js +18 -0
  231. package/dist/interfaces/auth/payload-jwt.interface.d.ts +39 -0
  232. package/dist/interfaces/auth/payload-jwt.interface.js +1 -0
  233. package/dist/interfaces/auth/refresh-token.interface.d.ts +25 -0
  234. package/dist/interfaces/auth/refresh-token.interface.js +1 -0
  235. package/dist/interfaces/auth/responses/auth-response.interface.d.ts +37 -0
  236. package/dist/interfaces/auth/responses/auth-response.interface.js +1 -0
  237. package/dist/interfaces/auth/responses/index.d.ts +2 -0
  238. package/dist/interfaces/auth/responses/index.js +2 -0
  239. package/dist/interfaces/auth/responses/refresh-token-response.interface.d.ts +29 -0
  240. package/dist/interfaces/auth/responses/refresh-token-response.interface.js +1 -0
  241. package/dist/interfaces/auth/user.interface.d.ts +53 -0
  242. package/dist/interfaces/auth/user.interface.js +1 -0
  243. package/dist/interfaces/auth/validate-user.interface.d.ts +36 -0
  244. package/dist/interfaces/auth/validate-user.interface.js +1 -0
  245. package/dist/interfaces/categories/categories-list-response.interface.d.ts +17 -0
  246. package/dist/interfaces/categories/categories-list-response.interface.js +1 -0
  247. package/dist/interfaces/categories/category-response.interface.d.ts +16 -0
  248. package/dist/interfaces/categories/category-response.interface.js +1 -0
  249. package/dist/interfaces/categories/category.interface.d.ts +76 -0
  250. package/dist/interfaces/categories/category.interface.js +1 -0
  251. package/dist/interfaces/categories/index.d.ts +11 -0
  252. package/dist/interfaces/categories/index.js +11 -0
  253. package/dist/interfaces/chains/chain-response.interface.d.ts +16 -0
  254. package/dist/interfaces/chains/chain-response.interface.js +1 -0
  255. package/dist/interfaces/chains/chain.interface.d.ts +79 -0
  256. package/dist/interfaces/chains/chain.interface.js +1 -0
  257. package/dist/interfaces/chains/chains-list-response.interface.d.ts +17 -0
  258. package/dist/interfaces/chains/chains-list-response.interface.js +1 -0
  259. package/dist/interfaces/chains/index.d.ts +11 -0
  260. package/dist/interfaces/chains/index.js +11 -0
  261. package/dist/interfaces/common/api-error-response.interface.d.ts +26 -0
  262. package/dist/interfaces/common/api-error-response.interface.js +1 -0
  263. package/dist/interfaces/common/api-error.interface.d.ts +43 -0
  264. package/dist/interfaces/common/api-error.interface.js +1 -0
  265. package/dist/interfaces/common/api-pagination-response.interface.d.ts +9 -0
  266. package/dist/interfaces/common/api-pagination-response.interface.js +1 -0
  267. package/dist/interfaces/common/api-response.interface.d.ts +36 -0
  268. package/dist/interfaces/common/api-response.interface.js +1 -0
  269. package/dist/interfaces/common/index.d.ts +13 -0
  270. package/dist/interfaces/common/index.js +13 -0
  271. package/dist/interfaces/common/rpc-error.interface.d.ts +36 -0
  272. package/dist/interfaces/common/rpc-error.interface.js +1 -0
  273. package/dist/interfaces/index.d.ts +30 -0
  274. package/dist/interfaces/index.js +42 -0
  275. package/dist/interfaces/ingredients/index.d.ts +11 -0
  276. package/dist/interfaces/ingredients/index.js +11 -0
  277. package/dist/interfaces/ingredients/ingredient-response.interface.d.ts +16 -0
  278. package/dist/interfaces/ingredients/ingredient-response.interface.js +1 -0
  279. package/dist/interfaces/ingredients/ingredient.interface.d.ts +79 -0
  280. package/dist/interfaces/ingredients/ingredient.interface.js +1 -0
  281. package/dist/interfaces/ingredients/ingredients-list-response.interface.d.ts +17 -0
  282. package/dist/interfaces/ingredients/ingredients-list-response.interface.js +1 -0
  283. package/dist/interfaces/orders/index.d.ts +14 -0
  284. package/dist/interfaces/orders/index.js +15 -0
  285. package/dist/interfaces/orders/order-created.interface.d.ts +46 -0
  286. package/dist/interfaces/orders/order-created.interface.js +1 -0
  287. package/dist/interfaces/orders/order-creation-strategy.interface.d.ts +17 -0
  288. package/dist/interfaces/orders/order-creation-strategy.interface.js +1 -0
  289. package/dist/interfaces/orders/order-item.interface.d.ts +70 -0
  290. package/dist/interfaces/orders/order-item.interface.js +1 -0
  291. package/dist/interfaces/orders/order-with-products.interface.d.ts +34 -0
  292. package/dist/interfaces/orders/order-with-products.interface.js +1 -0
  293. package/dist/interfaces/orders/order.interface.d.ts +114 -0
  294. package/dist/interfaces/orders/order.interface.js +1 -0
  295. package/dist/interfaces/orders/responses/change-order-status-response.interface.d.ts +5 -0
  296. package/dist/interfaces/orders/responses/change-order-status-response.interface.js +1 -0
  297. package/dist/interfaces/orders/responses/create-order-response.interface.d.ts +7 -0
  298. package/dist/interfaces/orders/responses/create-order-response.interface.js +1 -0
  299. package/dist/interfaces/orders/responses/index.d.ts +4 -0
  300. package/dist/interfaces/orders/responses/index.js +4 -0
  301. package/dist/interfaces/orders/responses/order-with-products-response.interface.d.ts +5 -0
  302. package/dist/interfaces/orders/responses/order-with-products-response.interface.js +1 -0
  303. package/dist/interfaces/orders/responses/orders-list-response.interface.d.ts +6 -0
  304. package/dist/interfaces/orders/responses/orders-list-response.interface.js +1 -0
  305. package/dist/interfaces/payments/audit-storage-strategy.interface.d.ts +19 -0
  306. package/dist/interfaces/payments/audit-storage-strategy.interface.js +1 -0
  307. package/dist/interfaces/payments/culqi-session-response.interface.d.ts +7 -0
  308. package/dist/interfaces/payments/culqi-session-response.interface.js +1 -0
  309. package/dist/interfaces/payments/index.d.ts +17 -0
  310. package/dist/interfaces/payments/index.js +18 -0
  311. package/dist/interfaces/payments/payment-audit-data.interface.d.ts +81 -0
  312. package/dist/interfaces/payments/payment-audit-data.interface.js +1 -0
  313. package/dist/interfaces/payments/payment-method-config.interface.d.ts +86 -0
  314. package/dist/interfaces/payments/payment-method-config.interface.js +1 -0
  315. package/dist/interfaces/payments/payment-provider.interface.d.ts +27 -0
  316. package/dist/interfaces/payments/payment-provider.interface.js +1 -0
  317. package/dist/interfaces/payments/payment-session-item.interface.d.ts +30 -0
  318. package/dist/interfaces/payments/payment-session-item.interface.js +1 -0
  319. package/dist/interfaces/payments/payment-succeeded-payload.interface.d.ts +29 -0
  320. package/dist/interfaces/payments/payment-succeeded-payload.interface.js +1 -0
  321. package/dist/interfaces/payments/responses/payment-callback-response.interface.d.ts +8 -0
  322. package/dist/interfaces/payments/responses/payment-callback-response.interface.js +1 -0
  323. package/dist/interfaces/payments/stripe-session-response.interface.d.ts +29 -0
  324. package/dist/interfaces/payments/stripe-session-response.interface.js +1 -0
  325. package/dist/interfaces/products/index.d.ts +16 -0
  326. package/dist/interfaces/products/index.js +17 -0
  327. package/dist/interfaces/products/product-image.interface.d.ts +55 -0
  328. package/dist/interfaces/products/product-image.interface.js +1 -0
  329. package/dist/interfaces/products/product-recipe.interface.d.ts +50 -0
  330. package/dist/interfaces/products/product-recipe.interface.js +1 -0
  331. package/dist/interfaces/products/product-schedule.interface.d.ts +45 -0
  332. package/dist/interfaces/products/product-schedule.interface.js +1 -0
  333. package/dist/interfaces/products/product-size.interface.d.ts +62 -0
  334. package/dist/interfaces/products/product-size.interface.js +1 -0
  335. package/dist/interfaces/products/product-tag.interface.d.ts +28 -0
  336. package/dist/interfaces/products/product-tag.interface.js +1 -0
  337. package/dist/interfaces/products/product-translation.interface.d.ts +43 -0
  338. package/dist/interfaces/products/product-translation.interface.js +1 -0
  339. package/dist/interfaces/products/product.interface.d.ts +113 -0
  340. package/dist/interfaces/products/product.interface.js +1 -0
  341. package/dist/interfaces/products/response/complete-product-response.interface.d.ts +5 -0
  342. package/dist/interfaces/products/response/complete-product-response.interface.js +1 -0
  343. package/dist/interfaces/products/response/index.d.ts +6 -0
  344. package/dist/interfaces/products/response/index.js +6 -0
  345. package/dist/interfaces/products/response/product-response.interface.d.ts +5 -0
  346. package/dist/interfaces/products/response/product-response.interface.js +1 -0
  347. package/dist/interfaces/products/response/products-list-response.interface.d.ts +6 -0
  348. package/dist/interfaces/products/response/products-list-response.interface.js +1 -0
  349. package/dist/interfaces/products/response/simple-product-response.interface.d.ts +3 -0
  350. package/dist/interfaces/products/response/simple-product-response.interface.js +1 -0
  351. package/dist/interfaces/products/response/sub-resources/create-tag-response.interface.d.ts +4 -0
  352. package/dist/interfaces/products/response/sub-resources/create-tag-response.interface.js +1 -0
  353. package/dist/interfaces/products/response/sub-resources/delete-sub-resource-response.interface.d.ts +9 -0
  354. package/dist/interfaces/products/response/sub-resources/delete-sub-resource-response.interface.js +1 -0
  355. package/dist/interfaces/products/response/sub-resources/find-product-image-response.interface.d.ts +4 -0
  356. package/dist/interfaces/products/response/sub-resources/find-product-image-response.interface.js +1 -0
  357. package/dist/interfaces/products/response/sub-resources/find-product-question-response.interface.d.ts +4 -0
  358. package/dist/interfaces/products/response/sub-resources/find-product-question-response.interface.js +1 -0
  359. package/dist/interfaces/products/response/sub-resources/find-product-recipe-response.interface.d.ts +4 -0
  360. package/dist/interfaces/products/response/sub-resources/find-product-recipe-response.interface.js +1 -0
  361. package/dist/interfaces/products/response/sub-resources/find-product-schedule-response.interface.d.ts +4 -0
  362. package/dist/interfaces/products/response/sub-resources/find-product-schedule-response.interface.js +1 -0
  363. package/dist/interfaces/products/response/sub-resources/find-product-size-response.interface.d.ts +4 -0
  364. package/dist/interfaces/products/response/sub-resources/find-product-size-response.interface.js +1 -0
  365. package/dist/interfaces/products/response/sub-resources/find-product-tag-response.interface.d.ts +4 -0
  366. package/dist/interfaces/products/response/sub-resources/find-product-tag-response.interface.js +1 -0
  367. package/dist/interfaces/products/response/sub-resources/find-sub-resource-response.interface.d.ts +4 -0
  368. package/dist/interfaces/products/response/sub-resources/find-sub-resource-response.interface.js +1 -0
  369. package/dist/interfaces/products/response/sub-resources/index.d.ts +25 -0
  370. package/dist/interfaces/products/response/sub-resources/index.js +25 -0
  371. package/dist/interfaces/products/response/sub-resources/list-product-images-response.interface.d.ts +4 -0
  372. package/dist/interfaces/products/response/sub-resources/list-product-images-response.interface.js +1 -0
  373. package/dist/interfaces/products/response/sub-resources/list-product-questions-response.interface.d.ts +4 -0
  374. package/dist/interfaces/products/response/sub-resources/list-product-questions-response.interface.js +1 -0
  375. package/dist/interfaces/products/response/sub-resources/list-product-recipes-response.interface.d.ts +4 -0
  376. package/dist/interfaces/products/response/sub-resources/list-product-recipes-response.interface.js +1 -0
  377. package/dist/interfaces/products/response/sub-resources/list-product-schedules-response.interface.d.ts +4 -0
  378. package/dist/interfaces/products/response/sub-resources/list-product-schedules-response.interface.js +1 -0
  379. package/dist/interfaces/products/response/sub-resources/list-product-sizes-response.interface.d.ts +4 -0
  380. package/dist/interfaces/products/response/sub-resources/list-product-sizes-response.interface.js +1 -0
  381. package/dist/interfaces/products/response/sub-resources/list-sub-resource-response.interface.d.ts +8 -0
  382. package/dist/interfaces/products/response/sub-resources/list-sub-resource-response.interface.js +1 -0
  383. package/dist/interfaces/products/response/sub-resources/product-schedule-availability.interface.d.ts +7 -0
  384. package/dist/interfaces/products/response/sub-resources/product-schedule-availability.interface.js +1 -0
  385. package/dist/interfaces/products/response/sub-resources/question-relationship.interface.d.ts +7 -0
  386. package/dist/interfaces/products/response/sub-resources/question-relationship.interface.js +1 -0
  387. package/dist/interfaces/products/response/sub-resources/recipe-relationship.interface.d.ts +9 -0
  388. package/dist/interfaces/products/response/sub-resources/recipe-relationship.interface.js +1 -0
  389. package/dist/interfaces/products/response/sub-resources/replace-sub-products-response.interface.d.ts +9 -0
  390. package/dist/interfaces/products/response/sub-resources/replace-sub-products-response.interface.js +1 -0
  391. package/dist/interfaces/products/response/sub-resources/sub-resource-response.interface.d.ts +10 -0
  392. package/dist/interfaces/products/response/sub-resources/sub-resource-response.interface.js +1 -0
  393. package/dist/interfaces/products/response/sub-resources/write-image-response.interface.d.ts +12 -0
  394. package/dist/interfaces/products/response/sub-resources/write-image-response.interface.js +1 -0
  395. package/dist/interfaces/products/response/sub-resources/write-question-product-response.interface.d.ts +4 -0
  396. package/dist/interfaces/products/response/sub-resources/write-question-product-response.interface.js +1 -0
  397. package/dist/interfaces/products/response/sub-resources/write-recipe-response.interface.d.ts +4 -0
  398. package/dist/interfaces/products/response/sub-resources/write-recipe-response.interface.js +1 -0
  399. package/dist/interfaces/products/response/sub-resources/write-schedule-response.interface.d.ts +4 -0
  400. package/dist/interfaces/products/response/sub-resources/write-schedule-response.interface.js +1 -0
  401. package/dist/interfaces/products/response/sub-resources/write-size-response.interface.d.ts +4 -0
  402. package/dist/interfaces/products/response/sub-resources/write-size-response.interface.js +1 -0
  403. package/dist/interfaces/questions/index.d.ts +3 -0
  404. package/dist/interfaces/questions/index.js +3 -0
  405. package/dist/interfaces/questions/question-response.interface.d.ts +16 -0
  406. package/dist/interfaces/questions/question-response.interface.js +1 -0
  407. package/dist/interfaces/questions/question.interface.d.ts +15 -0
  408. package/dist/interfaces/questions/question.interface.js +1 -0
  409. package/dist/interfaces/questions/questions-list-response.interface.d.ts +17 -0
  410. package/dist/interfaces/questions/questions-list-response.interface.js +1 -0
  411. package/dist/interfaces/restaurants/index.d.ts +11 -0
  412. package/dist/interfaces/restaurants/index.js +11 -0
  413. package/dist/interfaces/restaurants/restaurant-response.interface.d.ts +16 -0
  414. package/dist/interfaces/restaurants/restaurant-response.interface.js +1 -0
  415. package/dist/interfaces/restaurants/restaurant.interface.d.ts +96 -0
  416. package/dist/interfaces/restaurants/restaurant.interface.js +1 -0
  417. package/dist/interfaces/restaurants/restaurants-list-response.interface.d.ts +17 -0
  418. package/dist/interfaces/restaurants/restaurants-list-response.interface.js +1 -0
  419. package/dist/interfaces/tags/index.d.ts +11 -0
  420. package/dist/interfaces/tags/index.js +11 -0
  421. package/dist/interfaces/tags/tag-response.interface.d.ts +16 -0
  422. package/dist/interfaces/tags/tag-response.interface.js +1 -0
  423. package/dist/interfaces/tags/tag.interface.d.ts +64 -0
  424. package/dist/interfaces/tags/tag.interface.js +1 -0
  425. package/dist/interfaces/tags/tags-list-response.interface.d.ts +17 -0
  426. package/dist/interfaces/tags/tags-list-response.interface.js +1 -0
  427. package/dist/interfaces/translations/index.d.ts +11 -0
  428. package/dist/interfaces/translations/index.js +11 -0
  429. package/dist/interfaces/translations/translation-response.interface.d.ts +16 -0
  430. package/dist/interfaces/translations/translation-response.interface.js +1 -0
  431. package/dist/interfaces/translations/translation.interface.d.ts +77 -0
  432. package/dist/interfaces/translations/translation.interface.js +1 -0
  433. package/dist/interfaces/translations/translations-list-response.interface.d.ts +16 -0
  434. package/dist/interfaces/translations/translations-list-response.interface.js +1 -0
  435. package/dist/types/index.d.ts +1 -0
  436. package/dist/types/index.js +1 -0
  437. package/dist/types/order-mode.type.d.ts +14 -0
  438. package/dist/types/order-mode.type.js +1 -0
  439. package/package.json +27 -0
  440. package/tsconfig.json +25 -0
  441. package/tsconfig.node.json +9 -0
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Enumerates the supported entity types subject to translation within the QeHay platform.
3
+ *
4
+ * @enum TranslationEntityType
5
+ * @since 2.0.0
6
+ *
7
+ * @description
8
+ * This enum defines the different entity types that can have localized (translated) fields.
9
+ * It is used across the platform to identify which model or resource is being translated,
10
+ * ensuring consistent referencing in translation tables, API contracts, and UI elements.
11
+ * Extend this enum as new entities require localization.
12
+ *
13
+ * @remarks
14
+ * Synchronize this enum with database schemas and frontend localization management.
15
+ *
16
+ * @property CATEGORY Represents a product or menu category requiring translation.
17
+ * @property PRODUCT Represents a product entity (e.g., menu item) requiring translation.
18
+ * @property QUESTION Represents an FAQ, feedback, or custom question requiring translation.
19
+ *
20
+ * @example
21
+ * ```
22
+ * import { TranslationEntityType } from './translation-entity-type.enum';
23
+ *
24
+ * function isProductTranslation(entityType: TranslationEntityType): boolean {
25
+ * return entityType === TranslationEntityType.PRODUCT;
26
+ * }
27
+ * ```
28
+ */
29
+ export declare enum TranslationEntityType {
30
+ /**
31
+ * Represents a category entity that can be translated.
32
+ */
33
+ CATEGORY = "categoryId",
34
+ /**
35
+ * Represents a product entity (e.g., a dish or item) that can be translated.
36
+ */
37
+ PRODUCT = "productId",
38
+ /**
39
+ * Represents a question entity subject to translation (e.g., FAQ or form question).
40
+ */
41
+ QUESTION = "questionId"
42
+ }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Enumerates the supported entity types subject to translation within the QeHay platform.
3
+ *
4
+ * @enum TranslationEntityType
5
+ * @since 2.0.0
6
+ *
7
+ * @description
8
+ * This enum defines the different entity types that can have localized (translated) fields.
9
+ * It is used across the platform to identify which model or resource is being translated,
10
+ * ensuring consistent referencing in translation tables, API contracts, and UI elements.
11
+ * Extend this enum as new entities require localization.
12
+ *
13
+ * @remarks
14
+ * Synchronize this enum with database schemas and frontend localization management.
15
+ *
16
+ * @property CATEGORY Represents a product or menu category requiring translation.
17
+ * @property PRODUCT Represents a product entity (e.g., menu item) requiring translation.
18
+ * @property QUESTION Represents an FAQ, feedback, or custom question requiring translation.
19
+ *
20
+ * @example
21
+ * ```
22
+ * import { TranslationEntityType } from './translation-entity-type.enum';
23
+ *
24
+ * function isProductTranslation(entityType: TranslationEntityType): boolean {
25
+ * return entityType === TranslationEntityType.PRODUCT;
26
+ * }
27
+ * ```
28
+ */
29
+ export var TranslationEntityType;
30
+ (function (TranslationEntityType) {
31
+ /**
32
+ * Represents a category entity that can be translated.
33
+ */
34
+ TranslationEntityType["CATEGORY"] = "categoryId";
35
+ /**
36
+ * Represents a product entity (e.g., a dish or item) that can be translated.
37
+ */
38
+ TranslationEntityType["PRODUCT"] = "productId";
39
+ /**
40
+ * Represents a question entity subject to translation (e.g., FAQ or form question).
41
+ */
42
+ TranslationEntityType["QUESTION"] = "questionId";
43
+ })(TranslationEntityType || (TranslationEntityType = {}));
@@ -0,0 +1,5 @@
1
+ export * from './enums';
2
+ export * from './constants';
3
+ export * from './dtos';
4
+ export * from './interfaces';
5
+ export * from './types';
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from './enums';
2
+ export * from './constants';
3
+ export * from './dtos';
4
+ export * from './interfaces';
5
+ export * from './types';
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Access token interface.
3
+ *
4
+ * Represents the access token response structure
5
+ * returned after successful authentication.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export interface AccessToken {
10
+ /**
11
+ * JWT access token string.
12
+ * Used for authenticating API requests.
13
+ *
14
+ * @example "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
15
+ */
16
+ accessToken: string;
17
+ /**
18
+ * Access token expiration time in seconds.
19
+ *
20
+ * @example 3600 (1 hour)
21
+ * @example 86400 (24 hours)
22
+ */
23
+ accessTokenExpiresIn: number;
24
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import { FullToken } from './full-token.interface';
2
+ import { User } from './user.interface';
3
+ /**
4
+ * Access user interface.
5
+ *
6
+ * Represents user information along with authentication tokens.
7
+ * Used when returning user data after successful authentication
8
+ * or token refresh.
9
+ *
10
+ * @since 2.0.0
11
+ */
12
+ export interface AccessUser extends FullToken {
13
+ /**
14
+ * User information without sensitive data.
15
+ */
16
+ user: User;
17
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,85 @@
1
+ import { AuthProvider } from '../../enums/auth-provider.enum';
2
+ /**
3
+ * Account interface.
4
+ *
5
+ * Represents user authentication credentials and provider information.
6
+ * Users can have multiple accounts (one per authentication provider).
7
+ * Used for managing user authentication across different providers.
8
+ *
9
+ * @since 2.0.0
10
+ */
11
+ export interface Account {
12
+ /**
13
+ * Unique identifier of the account.
14
+ *
15
+ * @example "507f1f77bcf86cd799439011"
16
+ */
17
+ id: string;
18
+ /**
19
+ * Unique identifier of the user this account belongs to.
20
+ *
21
+ * @example "507f1f77bcf86cd799439010"
22
+ */
23
+ userId: string;
24
+ /**
25
+ * Email address associated with this account.
26
+ *
27
+ * @example "user@example.com"
28
+ */
29
+ email: string;
30
+ /**
31
+ * Optional password hash for local authentication.
32
+ * Null for OAuth providers (Google, Facebook, Apple).
33
+ *
34
+ * @example "hashed_password_string"
35
+ * @example null
36
+ */
37
+ passwordHash?: string;
38
+ /**
39
+ * Authentication provider for this account.
40
+ *
41
+ * @example AuthProvider.LOCAL
42
+ * @example AuthProvider.GOOGLE
43
+ * @example AuthProvider.FACEBOOK
44
+ */
45
+ provider: AuthProvider;
46
+ /**
47
+ * Optional provider-specific user identifier.
48
+ * Used for OAuth providers (e.g., Google's 'sub', Facebook's user ID).
49
+ * Null for local accounts.
50
+ *
51
+ * @example "google_user_sub_123456789"
52
+ * @example null
53
+ */
54
+ providerId?: string;
55
+ /**
56
+ * Optional OAuth access token.
57
+ * Used for OAuth providers to make authenticated requests.
58
+ * Null for local accounts.
59
+ *
60
+ * @example "ya29.a0AfH6SMB..."
61
+ * @example null
62
+ */
63
+ accessToken?: string;
64
+ /**
65
+ * Optional OAuth refresh token.
66
+ * Used for OAuth providers to obtain new access tokens.
67
+ * Null for local accounts.
68
+ *
69
+ * @example "1//0gXpJ..."
70
+ * @example null
71
+ */
72
+ refreshToken?: string;
73
+ /**
74
+ * Date and time when the account was created.
75
+ *
76
+ * @example "2024-01-15T10:30:00Z"
77
+ */
78
+ createdAt: Date;
79
+ /**
80
+ * Date and time when the account was last updated.
81
+ *
82
+ * @example "2024-01-15T11:00:00Z"
83
+ */
84
+ updatedAt: Date;
85
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { AccessToken } from './access-token.interface';
2
+ import { RefreshToken } from './refresh-token.interface';
3
+ /**
4
+ * Full token interface.
5
+ *
6
+ * Represents the complete token response containing both
7
+ * access and refresh tokens after successful authentication.
8
+ *
9
+ * @since 2.0.0
10
+ */
11
+ export interface FullToken extends AccessToken, RefreshToken {
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Authentication interfaces.
3
+ *
4
+ * This module exports interfaces used for authentication and authorization
5
+ * in the Auth microservice and across the platform.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export * from "./account.interface";
10
+ export * from "./user.interface";
11
+ export * from "./payload-jwt.interface";
12
+ export * from "./access-token.interface";
13
+ export * from "./refresh-token.interface";
14
+ export * from "./full-token.interface";
15
+ export * from "./access-user.interface";
16
+ export * from "./validate-user.interface";
17
+ export * from "./responses";
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Authentication interfaces.
3
+ *
4
+ * This module exports interfaces used for authentication and authorization
5
+ * in the Auth microservice and across the platform.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export * from "./account.interface";
10
+ export * from "./user.interface";
11
+ export * from "./payload-jwt.interface";
12
+ export * from "./access-token.interface";
13
+ export * from "./refresh-token.interface";
14
+ export * from "./full-token.interface";
15
+ export * from "./access-user.interface";
16
+ export * from "./validate-user.interface";
17
+ // Responses
18
+ export * from "./responses";
@@ -0,0 +1,39 @@
1
+ import { AuthProvider } from '../../enums/auth-provider.enum';
2
+ import { Role } from '../../enums/role.enum';
3
+ /**
4
+ * JWT payload interface.
5
+ *
6
+ * Represents the data structure encoded in JWT tokens
7
+ * used for authentication and authorization across microservices.
8
+ *
9
+ * @since 2.0.0
10
+ */
11
+ export interface PayloadJwt {
12
+ /**
13
+ * Subject identifier (typically the user ID).
14
+ *
15
+ * @example "550e8400-e29b-41d4-a716-446655440000"
16
+ */
17
+ sub: string;
18
+ /**
19
+ * User's email address.
20
+ *
21
+ * @example "user@example.com"
22
+ */
23
+ email: string;
24
+ /**
25
+ * Array of user roles for authorization.
26
+ *
27
+ * @example [Role.CONSUMER, Role.ADMIN]
28
+ * @example [Role.WAITER]
29
+ */
30
+ roles: Role[];
31
+ /**
32
+ * Authentication provider used by the user.
33
+ *
34
+ * @example AuthProvider.LOCAL
35
+ * @example AuthProvider.GOOGLE
36
+ * @example AuthProvider.FACEBOOK
37
+ */
38
+ provider: AuthProvider;
39
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Refresh token interface.
3
+ *
4
+ * Represents the refresh token response structure
5
+ * used to obtain new access tokens.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export interface RefreshToken {
10
+ /**
11
+ * JWT refresh token string.
12
+ * Used to obtain new access tokens when they expire.
13
+ *
14
+ * @example "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
15
+ */
16
+ refreshToken: string;
17
+ /**
18
+ * Refresh token expiration time in seconds.
19
+ * Typically longer than access token expiration.
20
+ *
21
+ * @example 604800 (7 days)
22
+ * @example 2592000 (30 days)
23
+ */
24
+ refreshTokenExpiresIn: number;
25
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ import { ApiResponse } from "../../common";
2
+ import { FullToken } from "../full-token.interface";
3
+ import { User } from "../user.interface";
4
+ /**
5
+ * AuthResponse interface returned upon successful authentication.
6
+ *
7
+ * Extends ApiResponse to provide standard API response fields, and
8
+ * includes the login-specific data containing tokens and the authenticated user.
9
+ *
10
+ * @extends ApiResponse
11
+ * @since 2.0.0
12
+ */
13
+ export interface AuthResponse extends ApiResponse {
14
+ /**
15
+ * Data object containing authentication tokens and user information.
16
+ *
17
+ * @type {AuthResponseData}
18
+ */
19
+ data: AuthResponseData;
20
+ }
21
+ /**
22
+ * AuthResponseData interface containing user's authentication tokens and profile data.
23
+ *
24
+ * Extends FullToken to include access and refresh tokens, and
25
+ * includes the authenticated user's public profile.
26
+ *
27
+ * @extends FullToken
28
+ * @since 2.0.0
29
+ */
30
+ export interface AuthResponseData extends FullToken {
31
+ /**
32
+ * Authenticated user information.
33
+ *
34
+ * @type {User}
35
+ */
36
+ user: User;
37
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./auth-response.interface";
2
+ export * from "./refresh-token-response.interface";
@@ -0,0 +1,2 @@
1
+ export * from "./auth-response.interface";
2
+ export * from "./refresh-token-response.interface";
@@ -0,0 +1,29 @@
1
+ import { ApiResponse } from "../../common";
2
+ import { AccessToken } from "../access-token.interface";
3
+ /**
4
+ * Interface for the response returned when a refresh token is exchanged for a new access token.
5
+ *
6
+ * Extends ApiResponse to provide standardized API metadata,
7
+ * and returns the new access token in the data property.
8
+ *
9
+ * @extends ApiResponse
10
+ * @since 2.0.0
11
+ */
12
+ export interface RefreshTokenResponse extends ApiResponse {
13
+ /**
14
+ * Contains the new access token issued after refreshing.
15
+ *
16
+ * @type {RefreshTokenResponseData}
17
+ */
18
+ data: RefreshTokenResponseData;
19
+ }
20
+ /**
21
+ * Payload object containing the newly issued access token.
22
+ *
23
+ * Extends AccessToken, which includes the JWT and its expiration time.
24
+ *
25
+ * @extends AccessToken
26
+ * @since 2.0.0
27
+ */
28
+ export interface RefreshTokenResponseData extends AccessToken {
29
+ }
@@ -0,0 +1,53 @@
1
+ import { AuthProvider } from '../../enums/auth-provider.enum';
2
+ import { Role } from '../../enums/role.enum';
3
+ /**
4
+ * User interface representing user information.
5
+ *
6
+ * Used across authentication and authorization modules
7
+ * to represent user data without sensitive information.
8
+ *
9
+ * @since 2.0.0
10
+ */
11
+ export interface User {
12
+ /**
13
+ * Unique identifier of the user.
14
+ *
15
+ * @example "550e8400-e29b-41d4-a716-446655440000"
16
+ */
17
+ id: string;
18
+ /**
19
+ * User's email address.
20
+ *
21
+ * @example "user@example.com"
22
+ */
23
+ email: string;
24
+ /**
25
+ * User's full name.
26
+ *
27
+ * @example "John Doe"
28
+ */
29
+ name: string;
30
+ /**
31
+ * Optional URL to user's avatar image.
32
+ *
33
+ * @example "https://example.com/avatars/user123.jpg"
34
+ */
35
+ avatarUrl?: string;
36
+ /**
37
+ * Array of user roles for authorization.
38
+ * Users can have multiple roles simultaneously.
39
+ *
40
+ * @example [Role.CONSUMER]
41
+ * @example [Role.WAITER, Role.ADMIN]
42
+ */
43
+ roles: Role[];
44
+ /**
45
+ * Authentication provider used by the user.
46
+ *
47
+ * @example AuthProvider.LOCAL
48
+ * @example AuthProvider.GOOGLE
49
+ * @example AuthProvider.FACEBOOK
50
+ * @example AuthProvider.APPLE
51
+ */
52
+ provider: AuthProvider;
53
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
1
+ import { Account } from './account.interface';
2
+ import { User } from './user.interface';
3
+ /**
4
+ * Validate user interface.
5
+ *
6
+ * Represents user information including associated accounts.
7
+ * Used during user validation processes in authentication flows.
8
+ * Extends the User interface to include authentication credentials.
9
+ *
10
+ * @since 2.0.0
11
+ */
12
+ export interface ValidateUser extends User {
13
+ /**
14
+ * Array of user accounts (authentication credentials).
15
+ * Users can have multiple accounts (one per authentication provider).
16
+ * Includes password hashes and provider information.
17
+ */
18
+ Accounts: Account[];
19
+ }
20
+ /**
21
+ * Validate user interface without password information.
22
+ *
23
+ * Represents user information with accounts but excludes
24
+ * sensitive password hash data for safe data transfer.
25
+ * Used when returning user data that should not expose passwords.
26
+ *
27
+ * @since 2.0.0
28
+ */
29
+ export interface ValidateUserWithoutPassword extends User {
30
+ /**
31
+ * Array of user accounts without password hashes.
32
+ * Safe for client-side use or logging.
33
+ * All other account information is preserved.
34
+ */
35
+ Accounts: Omit<Account, 'passwordHash'>[];
36
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import { ApiResponse } from '../common';
2
+ import { PaginationResponse } from '../common/api-pagination-response.interface';
3
+ import { Category } from './category.interface';
4
+ /**
5
+ * Categories list response interface.
6
+ *
7
+ * Represents the response structure for retrieving a paginated list of categories.
8
+ * Extends from the generic ApiResponse and encapsulates a paginated list of categories.
9
+ *
10
+ * @since 2.0.0
11
+ */
12
+ export interface CategoriesListResponse extends ApiResponse {
13
+ /**
14
+ * Paginated data containing categories.
15
+ */
16
+ data: PaginationResponse<Category>;
17
+ }
@@ -0,0 +1,16 @@
1
+ import { ApiResponse } from '../common';
2
+ import { Category } from './category.interface';
3
+ /**
4
+ * Category response interface.
5
+ *
6
+ * Represents the response structure for retrieving a single category resource.
7
+ * Extends from the generic ApiResponse, encapsulating the category data.
8
+ *
9
+ * @since 2.0.0
10
+ */
11
+ export interface CategoryResponse extends ApiResponse {
12
+ /**
13
+ * Category data payload.
14
+ */
15
+ data: Category;
16
+ }
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Category interface.
3
+ *
4
+ * Represents a product category used for organizing products in menus.
5
+ * Categories help customers navigate menus and group related products.
6
+ * Categories can have translations for multi-language support.
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ export interface Category {
11
+ /**
12
+ * Unique identifier of the category.
13
+ *
14
+ * @example "550e8400-e29b-41d4-a716-446655440000"
15
+ */
16
+ id: string;
17
+ /**
18
+ * Category name.
19
+ *
20
+ * @example "Beverages"
21
+ * @example "Main Courses"
22
+ * @example "Desserts"
23
+ */
24
+ name: string;
25
+ /**
26
+ * Optional category description.
27
+ *
28
+ * @example "All types of drinks and beverages"
29
+ * @example "Delicious main dishes and entrees"
30
+ */
31
+ description?: string;
32
+ /**
33
+ * Category status (active/inactive).
34
+ * Determines if the category is visible in menus.
35
+ *
36
+ * @example true
37
+ * @example false
38
+ */
39
+ status: boolean;
40
+ /**
41
+ * Date and time when the category was created.
42
+ *
43
+ * @example "2024-01-15T10:30:00Z"
44
+ */
45
+ createdAt: Date;
46
+ /**
47
+ * Date and time when the category was last updated.
48
+ *
49
+ * @example "2024-01-15T11:00:00Z"
50
+ */
51
+ updatedAt: Date;
52
+ /**
53
+ * Optional date and time when the category was soft-deleted.
54
+ *
55
+ * @example "2024-01-20T10:30:00Z"
56
+ */
57
+ deletedAt?: Date;
58
+ /**
59
+ * Optional identifier of the user who created the category.
60
+ *
61
+ * @example "507f1f77bcf86cd799439011"
62
+ */
63
+ createdBy?: string;
64
+ /**
65
+ * Optional identifier of the user who last updated the category.
66
+ *
67
+ * @example "507f1f77bcf86cd799439012"
68
+ */
69
+ updatedBy?: string;
70
+ /**
71
+ * Optional identifier of the user who deleted the category.
72
+ *
73
+ * @example "507f1f77bcf86cd799439013"
74
+ */
75
+ deletedBy?: string;
76
+ }
@@ -0,0 +1 @@
1
+ export {};