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,29 @@
1
+ /**
2
+ * Payment succeeded payload interface.
3
+ *
4
+ * Represents the payload structure when a payment is successfully processed.
5
+ * Used for event notifications and order status updates.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export interface PaymentSucceededPayload {
10
+ /**
11
+ * Payment charge identifier from the payment provider.
12
+ *
13
+ * @example "ch_1234567890abcdef"
14
+ * @example "pay_abc123def456"
15
+ */
16
+ paymentChargeId: string;
17
+ /**
18
+ * Unique identifier of the paid order.
19
+ *
20
+ * @example "550e8400-e29b-41d4-a716-446655440000"
21
+ */
22
+ orderId: string;
23
+ /**
24
+ * URL to the payment receipt.
25
+ *
26
+ * @example "https://payments.example.com/receipts/receipt_123456"
27
+ */
28
+ receiptUrl: string;
29
+ }
@@ -0,0 +1,8 @@
1
+ import { ApiResponse } from "../../common";
2
+ export interface PaymentCallbackResponse extends ApiResponse {
3
+ data: PaymentCallbackResponseData;
4
+ }
5
+ export interface PaymentCallbackResponseData {
6
+ ok: boolean;
7
+ message: string;
8
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Payment session response interface.
3
+ *
4
+ * Represents the response structure after creating a payment session.
5
+ * Contains URLs for payment completion and cancellation.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export interface StripeSessionResponse {
10
+ /**
11
+ * URL to redirect user if payment is cancelled.
12
+ *
13
+ * @example "https://example.com/checkout/cancel"
14
+ */
15
+ cancelUrl: string;
16
+ /**
17
+ * URL to redirect user after successful payment.
18
+ *
19
+ * @example "https://example.com/checkout/success"
20
+ */
21
+ successUrl: string;
22
+ /**
23
+ * URL to the payment checkout page.
24
+ * User should be redirected here to complete payment.
25
+ *
26
+ * @example "https://checkout.stripe.com/pay/cs_..."
27
+ */
28
+ url: string;
29
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Product interfaces.
3
+ *
4
+ * This module exports interfaces used for product management,
5
+ * product relations, and product submodules in the Products microservice.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export * from './product.interface';
10
+ export * from './product-size.interface';
11
+ export * from './product-translation.interface';
12
+ export * from './product-recipe.interface';
13
+ export * from './product-schedule.interface';
14
+ export * from './product-image.interface';
15
+ export * from './product-tag.interface';
16
+ export * from './response';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Product interfaces.
3
+ *
4
+ * This module exports interfaces used for product management,
5
+ * product relations, and product submodules in the Products microservice.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export * from './product.interface';
10
+ export * from './product-size.interface';
11
+ export * from './product-translation.interface';
12
+ export * from './product-recipe.interface';
13
+ export * from './product-schedule.interface';
14
+ export * from './product-image.interface';
15
+ export * from './product-tag.interface';
16
+ //Responses
17
+ export * from './response';
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Product image interface.
3
+ *
4
+ * Represents images associated with products.
5
+ * Products can have multiple images, with one marked as primary
6
+ * for display purposes.
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ export interface ProductImage {
11
+ /**
12
+ * Unique identifier of the image.
13
+ *
14
+ * @example "cc0e8400-e29b-41d4-a716-446655440007"
15
+ */
16
+ id: string;
17
+ /**
18
+ * Unique identifier of the product.
19
+ *
20
+ * @example "550e8400-e29b-41d4-a716-446655440000"
21
+ */
22
+ productId: string;
23
+ /**
24
+ * URL of the image.
25
+ *
26
+ * @example "https://example.com/images/products/big-mac.jpg"
27
+ */
28
+ url: string;
29
+ /**
30
+ * Whether this is the primary image for the product.
31
+ * Only one image per product should be primary.
32
+ *
33
+ * @example true
34
+ * @example false
35
+ */
36
+ isPrimary: boolean;
37
+ /**
38
+ * Date and time when the image was created.
39
+ *
40
+ * @example "2024-01-15T10:30:00Z"
41
+ */
42
+ createdAt: Date;
43
+ /**
44
+ * Date and time when the image was last updated.
45
+ *
46
+ * @example "2024-01-15T11:00:00Z"
47
+ */
48
+ updatedAt: Date;
49
+ /**
50
+ * Optional date and time when the image was soft-deleted.
51
+ *
52
+ * @example "2024-01-20T10:30:00Z"
53
+ */
54
+ deletedAt?: Date;
55
+ }
@@ -0,0 +1,50 @@
1
+ import { Ingredient } from '../ingredients/ingredient.interface';
2
+ /**
3
+ * Product recipe interface.
4
+ *
5
+ * Represents the relationship between products and ingredients,
6
+ * defining how much of each ingredient is needed to prepare a product.
7
+ * Used for recipe management, cost calculation, and inventory tracking.
8
+ *
9
+ * @since 2.0.0
10
+ */
11
+ export interface ProductRecipe {
12
+ /**
13
+ * Unique identifier of the recipe entry.
14
+ *
15
+ * @example "990e8400-e29b-41d4-a716-446655440004"
16
+ */
17
+ id: string;
18
+ /**
19
+ * Unique identifier of the product.
20
+ *
21
+ * @example "550e8400-e29b-41d4-a716-446655440000"
22
+ */
23
+ productId: string;
24
+ /**
25
+ * Unique identifier of the ingredient.
26
+ *
27
+ * @example "880e8400-e29b-41d4-a716-446655440003"
28
+ */
29
+ ingredientId: string;
30
+ /**
31
+ * Optional ingredient object (loaded when fetched with relations).
32
+ * Contains full ingredient details.
33
+ */
34
+ ingredient?: Ingredient;
35
+ /**
36
+ * Quantity of the ingredient needed.
37
+ *
38
+ * @example 200
39
+ * @example 50.5
40
+ */
41
+ quantity: number;
42
+ /**
43
+ * Unit of measurement for the quantity.
44
+ *
45
+ * @example "grams"
46
+ * @example "ml"
47
+ * @example "pieces"
48
+ */
49
+ unit: string;
50
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Product schedule interface.
3
+ *
4
+ * Represents time-based product availability schedules.
5
+ * Defines when a product is available for ordering during the week.
6
+ * Used to handle time-restricted products or special availability hours.
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ export interface ProductSchedule {
11
+ /**
12
+ * Unique identifier of the schedule entry.
13
+ *
14
+ * @example "bb0e8400-e29b-41d4-a716-446655440006"
15
+ */
16
+ id: string;
17
+ /**
18
+ * Unique identifier of the product.
19
+ *
20
+ * @example "550e8400-e29b-41d4-a716-446655440000"
21
+ */
22
+ productId: string;
23
+ /**
24
+ * Day of week (0-6, where 0 is Sunday and 6 is Saturday).
25
+ * Alternative: 1-7 where 1 is Monday and 7 is Sunday.
26
+ *
27
+ * @example 1 (Monday)
28
+ * @example 5 (Friday)
29
+ */
30
+ dayOfWeek: number;
31
+ /**
32
+ * Start time in HH:MM format (24-hour format).
33
+ *
34
+ * @example "09:00"
35
+ * @example "18:00"
36
+ */
37
+ startTime: string;
38
+ /**
39
+ * End time in HH:MM format (24-hour format).
40
+ *
41
+ * @example "22:00"
42
+ * @example "23:59"
43
+ */
44
+ endTime: string;
45
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Product size interface.
3
+ *
4
+ * Represents different size variants of a product (e.g., Small, Medium, Large).
5
+ * Each size variant can have its own price and availability status.
6
+ *
7
+ * @since 2.0.0
8
+ */
9
+ export interface ProductSize {
10
+ /**
11
+ * Unique identifier of the size variant.
12
+ *
13
+ * @example "660e8400-e29b-41d4-a716-446655440001"
14
+ */
15
+ id: string;
16
+ /**
17
+ * Unique identifier of the product this size belongs to.
18
+ *
19
+ * @example "550e8400-e29b-41d4-a716-446655440000"
20
+ */
21
+ productId: string;
22
+ /**
23
+ * Name of the size variant.
24
+ *
25
+ * @example "Large"
26
+ * @example "Medium"
27
+ * @example "Small"
28
+ */
29
+ name: string;
30
+ /**
31
+ * Price for this size variant.
32
+ *
33
+ * @example 12.99
34
+ * @example 9.99
35
+ */
36
+ price: number;
37
+ /**
38
+ * Whether this size variant is active/available.
39
+ *
40
+ * @example true
41
+ * @example false
42
+ */
43
+ status: boolean;
44
+ /**
45
+ * Date and time when the size variant was created.
46
+ *
47
+ * @example "2024-01-15T10:30:00Z"
48
+ */
49
+ createdAt: Date;
50
+ /**
51
+ * Date and time when the size variant was last updated.
52
+ *
53
+ * @example "2024-01-15T11:00:00Z"
54
+ */
55
+ updatedAt: Date;
56
+ /**
57
+ * Optional date and time when the size variant was soft-deleted.
58
+ *
59
+ * @example "2024-01-20T10:30:00Z"
60
+ */
61
+ deletedAt?: Date;
62
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Tag } from '../tags/tag.interface';
2
+ /**
3
+ * Product tag interface.
4
+ *
5
+ * Represents the many-to-many relationship between products and tags.
6
+ * Allows products to have multiple tags for categorization and searchability.
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ export interface ProductTag {
11
+ /**
12
+ * Unique identifier of the product.
13
+ *
14
+ * @example "550e8400-e29b-41d4-a716-446655440000"
15
+ */
16
+ productId: string;
17
+ /**
18
+ * Unique identifier of the tag.
19
+ *
20
+ * @example "aa0e8400-e29b-41d4-a716-446655440005"
21
+ */
22
+ tagId: string;
23
+ /**
24
+ * Optional tag object (loaded when fetched with relations).
25
+ * Contains full tag details.
26
+ */
27
+ tag?: Tag;
28
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Product translation interface.
3
+ *
4
+ * Represents multi-language support for products.
5
+ * Allows products to have different names and descriptions
6
+ * in different languages.
7
+ *
8
+ * @since 2.0.0
9
+ */
10
+ export interface ProductTranslation {
11
+ /**
12
+ * Unique identifier of the translation.
13
+ *
14
+ * @example "770e8400-e29b-41d4-a716-446655440002"
15
+ */
16
+ id: string;
17
+ /**
18
+ * Unique identifier of the product this translation belongs to.
19
+ *
20
+ * @example "550e8400-e29b-41d4-a716-446655440000"
21
+ */
22
+ productId: string;
23
+ /**
24
+ * Language code (ISO 639-1 or similar).
25
+ *
26
+ * @example "en"
27
+ * @example "es"
28
+ * @example "fr"
29
+ */
30
+ languageCode: string;
31
+ /**
32
+ * Translated product name.
33
+ *
34
+ * @example "Gran Mac" (Spanish translation of "Big Mac")
35
+ */
36
+ name: string;
37
+ /**
38
+ * Optional translated product description.
39
+ *
40
+ * @example "Dos hamburguesas de carne, salsa especial, lechuga, queso, pepinillos, cebollas en pan de sésamo"
41
+ */
42
+ description?: string;
43
+ }
@@ -0,0 +1,113 @@
1
+ import { ProductSize, ProductImage, ProductTag, ProductSchedule, ProductRecipe } from './';
2
+ import { ProductStatus } from '../../enums/product-status.enum';
3
+ import { Translation } from '../translations/translation.interface';
4
+ /**
5
+ * Product interface.
6
+ *
7
+ * Represents the canonical product data structure with all
8
+ * associated relations (sizes, translations, images, tags, schedules, recipes).
9
+ * This is the main product entity used across the platform.
10
+ *
11
+ * @since 2.0.0
12
+ */
13
+ export interface Product {
14
+ /**
15
+ * Unique identifier of the product.
16
+ *
17
+ * @example "550e8400-e29b-41d4-a716-446655440000"
18
+ */
19
+ id: string;
20
+ /**
21
+ * Optional product SKU (Stock Keeping Unit).
22
+ * Used for inventory management and identification.
23
+ *
24
+ * @example "PROD-001"
25
+ */
26
+ sku?: string;
27
+ /**
28
+ * Product name.
29
+ *
30
+ * @example "Big Mac"
31
+ */
32
+ name: string;
33
+ /**
34
+ * Optional product description.
35
+ *
36
+ * @example "Two all-beef patties, special sauce, lettuce, cheese, pickles, onions on a sesame seed bun"
37
+ */
38
+ description?: string;
39
+ /**
40
+ * Product base price.
41
+ *
42
+ * @example 5.99
43
+ */
44
+ basePrice: number;
45
+ /**
46
+ * Product status.
47
+ *
48
+ * @example ProductStatus.ACTIVE
49
+ * @example ProductStatus.INACTIVE
50
+ * @example ProductStatus.OUT_OF_STOCK
51
+ */
52
+ status: ProductStatus;
53
+ /**
54
+ * Date and time when the product was created.
55
+ *
56
+ * @example "2024-01-15T10:30:00Z"
57
+ */
58
+ createdAt: Date;
59
+ /**
60
+ * Date and time when the product was last updated.
61
+ *
62
+ * @example "2024-01-15T11:00:00Z"
63
+ */
64
+ updatedAt: Date;
65
+ /**
66
+ * Optional date and time when the product was soft-deleted.
67
+ *
68
+ * @example "2024-01-20T10:30:00Z"
69
+ */
70
+ deletedAt?: Date;
71
+ /**
72
+ * Optional identifier of the user who created the product.
73
+ *
74
+ * @example "507f1f77bcf86cd799439011"
75
+ */
76
+ createdBy?: string;
77
+ /**
78
+ * Optional identifier of the user who last updated the product.
79
+ *
80
+ * @example "507f1f77bcf86cd799439012"
81
+ */
82
+ updatedBy?: string;
83
+ /**
84
+ * Optional array of product size variants.
85
+ * Loaded when product is fetched with size relations.
86
+ */
87
+ sizes?: ProductSize[];
88
+ /**
89
+ * Optional array of product translations.
90
+ * Loaded when product is fetched with translation relations.
91
+ */
92
+ translations?: Translation[];
93
+ /**
94
+ * Optional array of product images.
95
+ * Loaded when product is fetched with image relations.
96
+ */
97
+ images?: ProductImage[];
98
+ /**
99
+ * Optional array of product tags.
100
+ * Loaded when product is fetched with tag relations.
101
+ */
102
+ tags?: ProductTag[];
103
+ /**
104
+ * Optional array of product availability schedules.
105
+ * Loaded when product is fetched with schedule relations.
106
+ */
107
+ schedules?: ProductSchedule[];
108
+ /**
109
+ * Optional array of product recipe entries.
110
+ * Loaded when product is fetched with recipe relations.
111
+ */
112
+ recipe?: ProductRecipe[];
113
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { ApiResponse } from "../../common";
2
+ import { Product } from "../product.interface";
3
+ export interface CompleteProductResponse extends ApiResponse {
4
+ data: Product;
5
+ }
@@ -0,0 +1,6 @@
1
+ export * from './complete-product-response.interface';
2
+ export * from './product-response.interface';
3
+ export * from './sub-resources/sub-resource-response.interface';
4
+ export * from './products-list-response.interface';
5
+ export * from './simple-product-response.interface';
6
+ export * from './sub-resources';
@@ -0,0 +1,6 @@
1
+ export * from './complete-product-response.interface';
2
+ export * from './product-response.interface';
3
+ export * from './sub-resources/sub-resource-response.interface';
4
+ export * from './products-list-response.interface';
5
+ export * from './simple-product-response.interface';
6
+ export * from './sub-resources';
@@ -0,0 +1,5 @@
1
+ import { ApiResponse } from "../../common";
2
+ import { SimpleProductResponse } from "./simple-product-response.interface";
3
+ export interface ProductResponse extends ApiResponse {
4
+ data: SimpleProductResponse;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { ApiResponse } from "../../common";
2
+ import { PaginationResponse } from "../../common/api-pagination-response.interface";
3
+ import { SimpleProductResponse } from "./simple-product-response.interface";
4
+ export interface ProductsListResponse extends ApiResponse {
5
+ data: PaginationResponse<SimpleProductResponse>;
6
+ }
@@ -0,0 +1,3 @@
1
+ import { Product } from "../product.interface";
2
+ export interface SimpleProductResponse extends Omit<Product, "sizes" | "translations" | "images" | "tags" | "schedules" | "recipe"> {
3
+ }
@@ -0,0 +1,4 @@
1
+ import { Tag } from "../../../tags";
2
+ import { SubResourceResponse } from "./sub-resource-response.interface";
3
+ export interface CreateTagResponse extends SubResourceResponse<Omit<Tag, "createdAt" | "updatedAt" | "deletedAt">, "tag"> {
4
+ }
@@ -0,0 +1,9 @@
1
+ import { ApiResponse } from "../../../common";
2
+ export interface DeleteSubResourceResponse extends ApiResponse {
3
+ data: DeleteSubResourceResponse;
4
+ }
5
+ export interface DeleteSubResourceResponseData {
6
+ message: string;
7
+ productId: string;
8
+ deletedCount: number;
9
+ }
@@ -0,0 +1,4 @@
1
+ import { ProductImage } from "../../product-image.interface";
2
+ import { FindSubResourceResponse } from "./find-sub-resource-response.interface";
3
+ export interface FindProductImageResponse extends FindSubResourceResponse<Omit<ProductImage, "productId" | "createdAt" | "updatedAt" | "deletedAt">> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { FindSubResourceResponse } from "./find-sub-resource-response.interface";
2
+ import { QuestionRelationship } from "./question-relationship.interface";
3
+ export interface FindProductQuestionResponse extends FindSubResourceResponse<QuestionRelationship> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { FindSubResourceResponse } from "./find-sub-resource-response.interface";
2
+ import { RecipeRelationship } from "./recipe-relationship.interface";
3
+ export interface FindProductRecipeResponse extends FindSubResourceResponse<RecipeRelationship> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { ProductSchedule } from "../../product-schedule.interface";
2
+ import { FindSubResourceResponse } from "./find-sub-resource-response.interface";
3
+ export interface FindProductScheduleResponse extends FindSubResourceResponse<ProductSchedule> {
4
+ }
@@ -0,0 +1,4 @@
1
+ import { ProductSize } from "../../product-size.interface";
2
+ import { FindSubResourceResponse } from "./find-sub-resource-response.interface";
3
+ export interface FindProductSizeResponse extends FindSubResourceResponse<Omit<ProductSize, "productId" | "createdAt" | "updatedAt" | "deletedAt">> {
4
+ }