qeai-sdk 2.0.0 → 2.0.2

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 (284) hide show
  1. package/dist/constants/index.d.ts +14 -12
  2. package/dist/constants/index.js +16 -12
  3. package/dist/constants/product-commands.constant.d.ts +6 -0
  4. package/dist/constants/product-commands.constant.js +6 -0
  5. package/dist/constants/services-config.constant.d.ts +3 -0
  6. package/dist/constants/services-config.constant.js +1 -0
  7. package/dist/constants/translation-commands.constant.d.ts +35 -0
  8. package/dist/constants/translation-commands.constant.js +35 -0
  9. package/dist/dtos/auth/index.d.ts +2 -2
  10. package/dist/dtos/auth/index.js +2 -2
  11. package/dist/dtos/auth/register-user.dto.js +4 -1
  12. package/dist/dtos/categories/create-category.dto.js +6 -3
  13. package/dist/dtos/categories/delete-category.dto.d.ts +1 -1
  14. package/dist/dtos/categories/delete-category.dto.js +5 -3
  15. package/dist/dtos/categories/index.d.ts +3 -3
  16. package/dist/dtos/categories/index.js +3 -3
  17. package/dist/dtos/categories/update-category.dto.d.ts +30 -11
  18. package/dist/dtos/categories/update-category.dto.js +48 -14
  19. package/dist/dtos/chain/create-chain.dto.d.ts +12 -13
  20. package/dist/dtos/chain/create-chain.dto.js +16 -15
  21. package/dist/dtos/chain/delete-chain.dto.d.ts +6 -6
  22. package/dist/dtos/chain/delete-chain.dto.js +11 -9
  23. package/dist/dtos/chain/index.d.ts +3 -3
  24. package/dist/dtos/chain/index.js +3 -3
  25. package/dist/dtos/chain/update-chain.dto.d.ts +45 -11
  26. package/dist/dtos/chain/update-chain.dto.js +67 -15
  27. package/dist/dtos/common/index.d.ts +2 -1
  28. package/dist/dtos/common/index.js +2 -1
  29. package/dist/dtos/common/search-by-name.dto.d.ts +27 -0
  30. package/dist/dtos/{tags → common}/search-by-name.dto.js +18 -9
  31. package/dist/dtos/index.d.ts +12 -12
  32. package/dist/dtos/index.js +12 -12
  33. package/dist/dtos/ingredients/create-ingredient.dto.d.ts +5 -5
  34. package/dist/dtos/ingredients/create-ingredient.dto.js +9 -8
  35. package/dist/dtos/ingredients/delete-ingredient.dto.d.ts +14 -7
  36. package/dist/dtos/ingredients/delete-ingredient.dto.js +18 -9
  37. package/dist/dtos/ingredients/index.d.ts +3 -4
  38. package/dist/dtos/ingredients/index.js +3 -4
  39. package/dist/dtos/ingredients/update-ingredient.dto.d.ts +32 -11
  40. package/dist/dtos/ingredients/update-ingredient.dto.js +48 -15
  41. package/dist/dtos/orders/change-order-status.dto.d.ts +19 -10
  42. package/dist/dtos/orders/change-order-status.dto.js +27 -14
  43. package/dist/dtos/orders/create-order.dto.d.ts +34 -24
  44. package/dist/dtos/orders/create-order.dto.js +44 -32
  45. package/dist/dtos/orders/index.d.ts +5 -6
  46. package/dist/dtos/orders/index.js +5 -6
  47. package/dist/dtos/orders/order-item.dto.d.ts +35 -18
  48. package/dist/dtos/orders/order-item.dto.js +54 -32
  49. package/dist/dtos/orders/order-pagination.dto.d.ts +2 -2
  50. package/dist/dtos/orders/order-pagination.dto.js +4 -4
  51. package/dist/dtos/orders/paid-order.dto.d.ts +16 -8
  52. package/dist/dtos/orders/paid-order.dto.js +25 -14
  53. package/dist/dtos/payments/create-payment-audit-dynamo.dto.d.ts +81 -0
  54. package/dist/dtos/payments/create-payment-audit-dynamo.dto.js +81 -0
  55. package/dist/dtos/payments/create-payment-audit-s3.dto.d.ts +81 -0
  56. package/dist/dtos/payments/create-payment-audit-s3.dto.js +81 -0
  57. package/dist/dtos/payments/index.d.ts +5 -3
  58. package/dist/dtos/payments/index.js +5 -3
  59. package/dist/dtos/payments/payment-session-item.dto.d.ts +4 -4
  60. package/dist/dtos/payments/payment-session-item.dto.js +7 -4
  61. package/dist/dtos/payments/payment-session.dto.d.ts +1 -1
  62. package/dist/dtos/payments/payment-session.dto.js +1 -1
  63. package/dist/dtos/payments/webhook-data.dto.d.ts +1 -1
  64. package/dist/dtos/payments/webhook-data.dto.js +1 -0
  65. package/dist/dtos/products/create-product.dto.d.ts +2 -2
  66. package/dist/dtos/products/create-product.dto.js +3 -2
  67. package/dist/dtos/products/delete-product.dto.d.ts +1 -1
  68. package/dist/dtos/products/delete-product.dto.js +5 -3
  69. package/dist/dtos/products/index.d.ts +4 -4
  70. package/dist/dtos/products/index.js +4 -4
  71. package/dist/dtos/products/submodules/index.d.ts +6 -6
  72. package/dist/dtos/products/submodules/index.js +6 -6
  73. package/dist/dtos/products/submodules/product-image/bulk-create-product-image.dto.d.ts +3 -3
  74. package/dist/dtos/products/submodules/product-image/bulk-create-product-image.dto.js +5 -5
  75. package/dist/dtos/products/submodules/product-image/create-product-image.dto.d.ts +1 -1
  76. package/dist/dtos/products/submodules/product-image/create-product-image.dto.js +4 -4
  77. package/dist/dtos/products/submodules/product-image/index.d.ts +4 -4
  78. package/dist/dtos/products/submodules/product-image/index.js +4 -4
  79. package/dist/dtos/products/submodules/product-image/update-product-image.dto.d.ts +1 -1
  80. package/dist/dtos/products/submodules/product-image/update-product-image.dto.js +4 -4
  81. package/dist/dtos/products/submodules/product-question/create-product-question.dto.d.ts +2 -2
  82. package/dist/dtos/products/submodules/product-question/create-product-question.dto.js +8 -8
  83. package/dist/dtos/products/submodules/product-question/find-by-product-id-and-type.dto.d.ts +1 -1
  84. package/dist/dtos/products/submodules/product-question/find-by-product-id-and-type.dto.js +1 -1
  85. package/dist/dtos/products/submodules/product-question/index.d.ts +4 -4
  86. package/dist/dtos/products/submodules/product-question/index.js +4 -4
  87. package/dist/dtos/products/submodules/product-question/replace-by-product-id.dto.d.ts +2 -2
  88. package/dist/dtos/products/submodules/product-question/replace-by-product-id.dto.js +1 -1
  89. package/dist/dtos/products/submodules/product-question/update-product-question.dto.d.ts +2 -2
  90. package/dist/dtos/products/submodules/product-question/update-product-question.dto.js +5 -5
  91. package/dist/dtos/products/submodules/product-recipe/create-product-recipe.dto.d.ts +1 -1
  92. package/dist/dtos/products/submodules/product-recipe/create-product-recipe.dto.js +2 -2
  93. package/dist/dtos/products/submodules/product-recipe/index.d.ts +3 -3
  94. package/dist/dtos/products/submodules/product-recipe/index.js +3 -3
  95. package/dist/dtos/products/submodules/product-recipe/replace-by-product-id.dto.d.ts +2 -2
  96. package/dist/dtos/products/submodules/product-recipe/replace-by-product-id.dto.js +5 -5
  97. package/dist/dtos/products/submodules/product-recipe/update-product-recipe.dto.d.ts +1 -8
  98. package/dist/dtos/products/submodules/product-recipe/update-product-recipe.dto.js +3 -16
  99. package/dist/dtos/products/submodules/product-schedule/create-product-schedule.dto.d.ts +1 -1
  100. package/dist/dtos/products/submodules/product-schedule/create-product-schedule.dto.js +2 -2
  101. package/dist/dtos/products/submodules/product-schedule/index.d.ts +4 -4
  102. package/dist/dtos/products/submodules/product-schedule/index.js +4 -4
  103. package/dist/dtos/products/submodules/product-schedule/replace-by-product-id.dto.d.ts +2 -2
  104. package/dist/dtos/products/submodules/product-schedule/replace-by-product-id.dto.js +1 -1
  105. package/dist/dtos/products/submodules/product-schedule/update-product-schedule.dto.d.ts +1 -1
  106. package/dist/dtos/products/submodules/product-schedule/update-product-schedule.dto.js +4 -4
  107. package/dist/dtos/products/submodules/product-size/create-product-size.dto.js +1 -1
  108. package/dist/dtos/products/submodules/product-size/index.d.ts +4 -4
  109. package/dist/dtos/products/submodules/product-size/index.js +4 -4
  110. package/dist/dtos/products/submodules/product-size/product-size-data.dto.js +1 -1
  111. package/dist/dtos/products/submodules/product-size/replace-by-product-id.dto.d.ts +1 -1
  112. package/dist/dtos/products/submodules/product-size/replace-by-product-id.dto.js +1 -1
  113. package/dist/dtos/products/submodules/product-size/update-product-size.dto.d.ts +1 -1
  114. package/dist/dtos/products/submodules/product-size/update-product-size.dto.js +2 -2
  115. package/dist/dtos/products/submodules/product-tag/index.d.ts +2 -4
  116. package/dist/dtos/products/submodules/product-tag/index.js +2 -4
  117. package/dist/dtos/products/submodules/product-tag/{remove-product-tag.dto.d.ts → product-tag.dto.d.ts} +1 -1
  118. package/dist/dtos/products/submodules/product-tag/{remove-product-tag.dto.js → product-tag.dto.js} +3 -3
  119. package/dist/dtos/products/update-product.dto.d.ts +40 -5
  120. package/dist/dtos/products/update-product.dto.js +73 -7
  121. package/dist/dtos/questions/create-question.dto.d.ts +2 -2
  122. package/dist/dtos/questions/create-question.dto.js +3 -2
  123. package/dist/dtos/questions/delete-question.dto.d.ts +1 -1
  124. package/dist/dtos/questions/delete-question.dto.js +5 -3
  125. package/dist/dtos/questions/index.d.ts +3 -4
  126. package/dist/dtos/questions/index.js +3 -4
  127. package/dist/dtos/questions/update-question.dto.d.ts +40 -5
  128. package/dist/dtos/questions/update-question.dto.js +70 -8
  129. package/dist/dtos/restaurants/create-restaurant.dto.d.ts +15 -1
  130. package/dist/dtos/restaurants/create-restaurant.dto.js +38 -2
  131. package/dist/dtos/restaurants/delete-restaurant.dto.d.ts +1 -1
  132. package/dist/dtos/restaurants/delete-restaurant.dto.js +5 -3
  133. package/dist/dtos/restaurants/index.d.ts +3 -3
  134. package/dist/dtos/restaurants/index.js +3 -3
  135. package/dist/dtos/restaurants/update-restaurant.dto.d.ts +50 -5
  136. package/dist/dtos/restaurants/update-restaurant.dto.js +92 -8
  137. package/dist/dtos/tags/create-tag.dto.d.ts +1 -1
  138. package/dist/dtos/tags/create-tag.dto.js +5 -4
  139. package/dist/dtos/tags/delete-tag.dto.d.ts +1 -1
  140. package/dist/dtos/tags/delete-tag.dto.js +5 -3
  141. package/dist/dtos/tags/index.d.ts +3 -4
  142. package/dist/dtos/tags/index.js +3 -4
  143. package/dist/dtos/tags/update-tag.dto.d.ts +10 -5
  144. package/dist/dtos/tags/update-tag.dto.js +20 -8
  145. package/dist/dtos/translations/create-translation.dto.d.ts +1 -1
  146. package/dist/dtos/translations/create-translation.dto.js +7 -2
  147. package/dist/dtos/translations/delete-translation.dto.d.ts +1 -1
  148. package/dist/dtos/translations/delete-translation.dto.js +4 -3
  149. package/dist/dtos/translations/find-translations-by-entity.dto.d.ts +1 -1
  150. package/dist/dtos/translations/find-translations-by-entity.dto.js +1 -1
  151. package/dist/dtos/translations/index.d.ts +4 -4
  152. package/dist/dtos/translations/index.js +4 -4
  153. package/dist/dtos/translations/update-translation.dto.d.ts +33 -4
  154. package/dist/dtos/translations/update-translation.dto.js +69 -6
  155. package/dist/enums/index.d.ts +10 -12
  156. package/dist/enums/index.js +10 -12
  157. package/dist/index.d.ts +5 -5
  158. package/dist/index.js +5 -5
  159. package/dist/interfaces/auth/access-user.interface.d.ts +2 -2
  160. package/dist/interfaces/auth/account.interface.d.ts +1 -1
  161. package/dist/interfaces/auth/full-token.interface.d.ts +2 -2
  162. package/dist/interfaces/auth/index.d.ts +9 -9
  163. package/dist/interfaces/auth/index.js +9 -9
  164. package/dist/interfaces/auth/payload-jwt.interface.d.ts +2 -2
  165. package/dist/interfaces/auth/responses/auth-response.interface.d.ts +3 -3
  166. package/dist/interfaces/auth/responses/index.d.ts +2 -2
  167. package/dist/interfaces/auth/responses/index.js +2 -2
  168. package/dist/interfaces/auth/responses/refresh-token-response.interface.d.ts +2 -2
  169. package/dist/interfaces/auth/user.interface.d.ts +2 -2
  170. package/dist/interfaces/auth/validate-user.interface.d.ts +2 -2
  171. package/dist/interfaces/categories/categories-list-response.interface.d.ts +3 -3
  172. package/dist/interfaces/categories/category-response.interface.d.ts +2 -2
  173. package/dist/interfaces/categories/index.d.ts +3 -3
  174. package/dist/interfaces/categories/index.js +3 -3
  175. package/dist/interfaces/chains/chain-response.interface.d.ts +2 -2
  176. package/dist/interfaces/chains/chain.interface.d.ts +1 -1
  177. package/dist/interfaces/chains/chains-list-response.interface.d.ts +3 -3
  178. package/dist/interfaces/chains/index.d.ts +3 -3
  179. package/dist/interfaces/chains/index.js +3 -3
  180. package/dist/interfaces/common/api-error-response.interface.d.ts +2 -2
  181. package/dist/interfaces/common/api-response.interface.d.ts +3 -2
  182. package/dist/interfaces/common/index.d.ts +5 -5
  183. package/dist/interfaces/common/index.js +5 -5
  184. package/dist/interfaces/common/rpc-error.interface.d.ts +1 -1
  185. package/dist/interfaces/index.d.ts +12 -12
  186. package/dist/interfaces/index.js +12 -12
  187. package/dist/interfaces/ingredients/index.d.ts +3 -3
  188. package/dist/interfaces/ingredients/index.js +3 -3
  189. package/dist/interfaces/ingredients/ingredient-response.interface.d.ts +2 -2
  190. package/dist/interfaces/ingredients/ingredients-list-response.interface.d.ts +3 -3
  191. package/dist/interfaces/orders/index.d.ts +6 -6
  192. package/dist/interfaces/orders/index.js +6 -6
  193. package/dist/interfaces/orders/order-created.interface.d.ts +3 -3
  194. package/dist/interfaces/orders/order-item.interface.d.ts +4 -4
  195. package/dist/interfaces/orders/order-with-products.interface.d.ts +2 -2
  196. package/dist/interfaces/orders/order.interface.d.ts +9 -9
  197. package/dist/interfaces/orders/responses/change-order-status-response.interface.d.ts +2 -2
  198. package/dist/interfaces/orders/responses/create-order-response.interface.d.ts +2 -2
  199. package/dist/interfaces/orders/responses/index.d.ts +4 -4
  200. package/dist/interfaces/orders/responses/index.js +4 -4
  201. package/dist/interfaces/orders/responses/order-with-products-response.interface.d.ts +2 -2
  202. package/dist/interfaces/orders/responses/orders-list-response.interface.d.ts +3 -3
  203. package/dist/interfaces/payments/audit-storage-strategy.interface.d.ts +1 -1
  204. package/dist/interfaces/payments/index.d.ts +9 -9
  205. package/dist/interfaces/payments/index.js +9 -9
  206. package/dist/interfaces/payments/payment-provider.interface.d.ts +2 -2
  207. package/dist/interfaces/payments/responses/payment-callback-response.interface.d.ts +1 -1
  208. package/dist/interfaces/products/index.d.ts +8 -8
  209. package/dist/interfaces/products/index.js +8 -8
  210. package/dist/interfaces/products/product-recipe.interface.d.ts +1 -1
  211. package/dist/interfaces/products/product-tag.interface.d.ts +1 -1
  212. package/dist/interfaces/products/product.interface.d.ts +3 -3
  213. package/dist/interfaces/products/response/complete-product-response.interface.d.ts +2 -2
  214. package/dist/interfaces/products/response/index.d.ts +6 -6
  215. package/dist/interfaces/products/response/index.js +6 -6
  216. package/dist/interfaces/products/response/product-response.interface.d.ts +2 -2
  217. package/dist/interfaces/products/response/products-list-response.interface.d.ts +3 -3
  218. package/dist/interfaces/products/response/simple-product-response.interface.d.ts +1 -1
  219. package/dist/interfaces/products/response/sub-resources/create-tag-response.interface.d.ts +2 -2
  220. package/dist/interfaces/products/response/sub-resources/delete-sub-resource-response.interface.d.ts +1 -1
  221. package/dist/interfaces/products/response/sub-resources/find-product-image-response.interface.d.ts +2 -2
  222. package/dist/interfaces/products/response/sub-resources/find-product-question-response.interface.d.ts +2 -2
  223. package/dist/interfaces/products/response/sub-resources/find-product-recipe-response.interface.d.ts +2 -2
  224. package/dist/interfaces/products/response/sub-resources/find-product-schedule-response.interface.d.ts +2 -2
  225. package/dist/interfaces/products/response/sub-resources/find-product-size-response.interface.d.ts +2 -2
  226. package/dist/interfaces/products/response/sub-resources/find-product-tag-response.interface.d.ts +2 -2
  227. package/dist/interfaces/products/response/sub-resources/find-sub-resource-response.interface.d.ts +1 -1
  228. package/dist/interfaces/products/response/sub-resources/index.d.ts +25 -25
  229. package/dist/interfaces/products/response/sub-resources/index.js +25 -25
  230. package/dist/interfaces/products/response/sub-resources/list-product-images-response.interface.d.ts +2 -2
  231. package/dist/interfaces/products/response/sub-resources/list-product-questions-response.interface.d.ts +2 -2
  232. package/dist/interfaces/products/response/sub-resources/list-product-recipes-response.interface.d.ts +2 -2
  233. package/dist/interfaces/products/response/sub-resources/list-product-schedules-response.interface.d.ts +2 -2
  234. package/dist/interfaces/products/response/sub-resources/list-product-sizes-response.interface.d.ts +2 -2
  235. package/dist/interfaces/products/response/sub-resources/list-sub-resource-response.interface.d.ts +1 -1
  236. package/dist/interfaces/products/response/sub-resources/product-schedule-availability.interface.d.ts +1 -1
  237. package/dist/interfaces/products/response/sub-resources/question-relationship.interface.d.ts +1 -1
  238. package/dist/interfaces/products/response/sub-resources/recipe-relationship.interface.d.ts +1 -1
  239. package/dist/interfaces/products/response/sub-resources/replace-sub-products-response.interface.d.ts +1 -1
  240. package/dist/interfaces/products/response/sub-resources/sub-resource-response.interface.d.ts +1 -1
  241. package/dist/interfaces/products/response/sub-resources/write-image-response.interface.d.ts +2 -2
  242. package/dist/interfaces/products/response/sub-resources/write-question-product-response.interface.d.ts +2 -2
  243. package/dist/interfaces/products/response/sub-resources/write-recipe-response.interface.d.ts +2 -2
  244. package/dist/interfaces/products/response/sub-resources/write-schedule-response.interface.d.ts +2 -2
  245. package/dist/interfaces/products/response/sub-resources/write-size-response.interface.d.ts +2 -2
  246. package/dist/interfaces/questions/index.d.ts +3 -3
  247. package/dist/interfaces/questions/index.js +3 -3
  248. package/dist/interfaces/questions/question-response.interface.d.ts +2 -2
  249. package/dist/interfaces/questions/questions-list-response.interface.d.ts +3 -3
  250. package/dist/interfaces/restaurants/index.d.ts +3 -3
  251. package/dist/interfaces/restaurants/index.js +3 -3
  252. package/dist/interfaces/restaurants/restaurant-response.interface.d.ts +2 -2
  253. package/dist/interfaces/restaurants/restaurants-list-response.interface.d.ts +3 -3
  254. package/dist/interfaces/tags/index.d.ts +3 -3
  255. package/dist/interfaces/tags/index.js +3 -3
  256. package/dist/interfaces/tags/tag-response.interface.d.ts +2 -2
  257. package/dist/interfaces/tags/tags-list-response.interface.d.ts +3 -3
  258. package/dist/interfaces/translations/index.d.ts +3 -3
  259. package/dist/interfaces/translations/index.js +3 -3
  260. package/dist/interfaces/translations/translation-response.interface.d.ts +2 -2
  261. package/dist/interfaces/translations/translations-list-response.interface.d.ts +2 -2
  262. package/dist/types/index.d.ts +2 -1
  263. package/dist/types/index.js +2 -1
  264. package/dist/types/order-mode.type.d.ts +12 -3
  265. package/dist/types/order-mode.type.js +20 -1
  266. package/dist/types/order-status.type.d.ts +22 -0
  267. package/dist/{enums/order-status.enum.d.ts → types/order-status.type.js} +25 -26
  268. package/package.json +1 -1
  269. package/tsconfig.json +1 -2
  270. package/tsconfig.node.json +10 -9
  271. package/dist/dtos/ingredients/search-by-name.dto.d.ts +0 -18
  272. package/dist/dtos/ingredients/search-by-name.dto.js +0 -33
  273. package/dist/dtos/orders/update-order.dto.d.ts +0 -13
  274. package/dist/dtos/orders/update-order.dto.js +0 -13
  275. package/dist/dtos/products/submodules/product-tag/create-product-tag.dto.d.ts +0 -24
  276. package/dist/dtos/products/submodules/product-tag/create-product-tag.dto.js +0 -46
  277. package/dist/dtos/products/submodules/product-tag/find-product-tag.dto.d.ts +0 -24
  278. package/dist/dtos/products/submodules/product-tag/find-product-tag.dto.js +0 -46
  279. package/dist/dtos/questions/search-by-name.dto.d.ts +0 -18
  280. package/dist/dtos/questions/search-by-name.dto.js +0 -33
  281. package/dist/dtos/tags/search-by-name.dto.d.ts +0 -18
  282. package/dist/enums/order-status.enum.js +0 -69
  283. package/dist/enums/order-type.enum.d.ts +0 -45
  284. package/dist/enums/order-type.enum.js +0 -46
@@ -1,26 +1,47 @@
1
- declare const UpdateIngredientDto_base: import("@nestjs/mapped-types").MappedType<Partial<unknown>>;
2
1
  /**
3
2
  * DTO for updating an existing ingredient.
4
3
  *
5
- * Extends CreateIngredientDto with all fields optional.
6
- * Used by the Products microservice to update ingredient details.
4
+ * Provides structure and validation for payloads to update ingredient data within the system.
5
+ * Permits partial updates: only the provided fields will be updated.
6
+ * Used by the Products microservice to modify ingredient details.
7
7
  *
8
8
  * @since 2.0.0
9
+ *
10
+ * @example
11
+ * {
12
+ * "ingredientId": "550e8400-e29b-41d4-a716-446655440000",
13
+ * "name": "Tomato",
14
+ * "unit": "kg",
15
+ * "updatedBy": "507f1f77bcf86cd799439011"
16
+ * }
9
17
  */
10
- export declare class UpdateIngredientDto extends UpdateIngredientDto_base {
18
+ export declare class UpdateIngredientDto {
19
+ /**
20
+ * Ingredient name.
21
+ * Optional. If provided, must be a string with a maximum length of 25 characters.
22
+ *
23
+ * @example "Tomato"
24
+ */
25
+ name?: string;
26
+ /**
27
+ * Unit of measurement for the ingredient.
28
+ * Optional. If provided, must be a string with a maximum length of 12 characters.
29
+ *
30
+ * @example "kg"
31
+ */
32
+ unit?: string;
11
33
  /**
12
- * Ingredient ID to update.
13
- * Must be a valid UUID.
34
+ * Unique identifier of the ingredient to update.
35
+ * Required. Must be a valid UUID string.
14
36
  *
15
37
  * @example "550e8400-e29b-41d4-a716-446655440000"
16
38
  */
17
- id?: string;
39
+ ingredientId: string;
18
40
  /**
19
- * User who updated the ingredient.
20
- * Must be a valid MongoDB ObjectId if provided.
41
+ * Unique identifier of the user performing the update.
42
+ * Required. Must be a valid MongoDB ObjectId.
21
43
  *
22
44
  * @example "507f1f77bcf86cd799439011"
23
45
  */
24
- updatedBy?: string;
46
+ updatedBy: string;
25
47
  }
26
- export {};
@@ -7,42 +7,75 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { PartialType } from '@nestjs/mapped-types';
11
- import { IsString, IsOptional, IsMongoId, IsUUID } from 'class-validator';
12
- import { CreateIngredientDto } from './create-ingredient.dto';
10
+ import { IsString, IsOptional, IsMongoId, IsUUID, MaxLength, IsNotEmpty, } from "class-validator";
13
11
  /**
14
12
  * DTO for updating an existing ingredient.
15
13
  *
16
- * Extends CreateIngredientDto with all fields optional.
17
- * Used by the Products microservice to update ingredient details.
14
+ * Provides structure and validation for payloads to update ingredient data within the system.
15
+ * Permits partial updates: only the provided fields will be updated.
16
+ * Used by the Products microservice to modify ingredient details.
18
17
  *
19
18
  * @since 2.0.0
19
+ *
20
+ * @example
21
+ * {
22
+ * "ingredientId": "550e8400-e29b-41d4-a716-446655440000",
23
+ * "name": "Tomato",
24
+ * "unit": "kg",
25
+ * "updatedBy": "507f1f77bcf86cd799439011"
26
+ * }
20
27
  */
21
- export class UpdateIngredientDto extends PartialType(CreateIngredientDto) {
28
+ export class UpdateIngredientDto {
22
29
  /**
23
- * Ingredient ID to update.
24
- * Must be a valid UUID.
30
+ * Ingredient name.
31
+ * Optional. If provided, must be a string with a maximum length of 25 characters.
32
+ *
33
+ * @example "Tomato"
34
+ */
35
+ name;
36
+ /**
37
+ * Unit of measurement for the ingredient.
38
+ * Optional. If provided, must be a string with a maximum length of 12 characters.
39
+ *
40
+ * @example "kg"
41
+ */
42
+ unit;
43
+ /**
44
+ * Unique identifier of the ingredient to update.
45
+ * Required. Must be a valid UUID string.
25
46
  *
26
47
  * @example "550e8400-e29b-41d4-a716-446655440000"
27
48
  */
28
- id;
49
+ ingredientId;
29
50
  /**
30
- * User who updated the ingredient.
31
- * Must be a valid MongoDB ObjectId if provided.
51
+ * Unique identifier of the user performing the update.
52
+ * Required. Must be a valid MongoDB ObjectId.
32
53
  *
33
54
  * @example "507f1f77bcf86cd799439011"
34
55
  */
35
56
  updatedBy;
36
57
  }
37
58
  __decorate([
59
+ IsOptional(),
38
60
  IsString(),
39
- IsUUID(),
61
+ MaxLength(25, { message: "Ingredient name must be at most 25 characters" }),
62
+ __metadata("design:type", String)
63
+ ], UpdateIngredientDto.prototype, "name", void 0);
64
+ __decorate([
40
65
  IsOptional(),
66
+ IsString(),
67
+ MaxLength(12, { message: "Unit must be at most 12 characters" }),
41
68
  __metadata("design:type", String)
42
- ], UpdateIngredientDto.prototype, "id", void 0);
69
+ ], UpdateIngredientDto.prototype, "unit", void 0);
43
70
  __decorate([
44
71
  IsString(),
45
- IsMongoId(),
46
- IsOptional(),
72
+ IsUUID(),
73
+ IsNotEmpty({ message: 'ingredientId is required and must be a valid UUID.' }),
74
+ __metadata("design:type", String)
75
+ ], UpdateIngredientDto.prototype, "ingredientId", void 0);
76
+ __decorate([
77
+ IsString(),
78
+ IsMongoId({ message: 'updatedBy must be a valid MongoDB ObjectId.' }),
79
+ IsNotEmpty({ message: 'updatedBy is required and must be a valid MongoDB ObjectId.' }),
47
80
  __metadata("design:type", String)
48
81
  ], UpdateIngredientDto.prototype, "updatedBy", void 0);
@@ -1,25 +1,34 @@
1
- import { OrderStatus } from '../../enums/order-status.enum';
1
+ import type { OrderStatus } from "../../types/order-status.type.js";
2
2
  /**
3
- * DTO for changing an order's status.
3
+ * Data Transfer Object (DTO) for changing the status of an order.
4
4
  *
5
- * Used by the Orders microservice to update the status of an existing order.
6
- * Validates the order ID and new status value.
5
+ * This DTO is used by the Orders microservice to request a status change for an existing order.
6
+ * It ensures that the required order identifier and the new order status are both valid.
7
7
  *
8
+ * @class ChangeOrderStatusDto
8
9
  * @since 2.0.0
10
+ *
11
+ * @example
12
+ * {
13
+ * "orderId": "550e8400-e29b-41d4-a716-446655440000",
14
+ * "status": "CONFIRMED"
15
+ * }
9
16
  */
10
17
  export declare class ChangeOrderStatusDto {
11
18
  /**
12
- * Unique identifier of the order to update.
13
- * Must be a valid UUID version 4.
19
+ * Unique identifier of the order whose status is to be updated.
20
+ * Must be a valid UUID (version 4).
14
21
  *
22
+ * @type {string}
15
23
  * @example "550e8400-e29b-41d4-a716-446655440000"
16
24
  */
17
- id: string;
25
+ orderId: string;
18
26
  /**
19
- * New status for the order.
20
- * Must be a valid OrderStatus enum value.
27
+ * New status value to set for the order.
28
+ * Must be a valid value from the OrderStatus enum.
21
29
  *
22
- * @example OrderStatus.CONFIRMED
30
+ * @type {OrderStatus}
31
+ * @example "CONFIRMED"
23
32
  */
24
33
  status: OrderStatus;
25
34
  }
@@ -7,37 +7,50 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { IsEnum, IsUUID } from 'class-validator';
11
- import { OrderStatus } from '../../enums/order-status.enum';
10
+ import { IsIn, IsNotEmpty, IsString, IsUUID } from "class-validator";
11
+ import { ORDER_STATUS } from "../../types/order-status.type.js";
12
12
  /**
13
- * DTO for changing an order's status.
13
+ * Data Transfer Object (DTO) for changing the status of an order.
14
14
  *
15
- * Used by the Orders microservice to update the status of an existing order.
16
- * Validates the order ID and new status value.
15
+ * This DTO is used by the Orders microservice to request a status change for an existing order.
16
+ * It ensures that the required order identifier and the new order status are both valid.
17
17
  *
18
+ * @class ChangeOrderStatusDto
18
19
  * @since 2.0.0
20
+ *
21
+ * @example
22
+ * {
23
+ * "orderId": "550e8400-e29b-41d4-a716-446655440000",
24
+ * "status": "CONFIRMED"
25
+ * }
19
26
  */
20
27
  export class ChangeOrderStatusDto {
21
28
  /**
22
- * Unique identifier of the order to update.
23
- * Must be a valid UUID version 4.
29
+ * Unique identifier of the order whose status is to be updated.
30
+ * Must be a valid UUID (version 4).
24
31
  *
32
+ * @type {string}
25
33
  * @example "550e8400-e29b-41d4-a716-446655440000"
26
34
  */
27
- id;
35
+ orderId;
28
36
  /**
29
- * New status for the order.
30
- * Must be a valid OrderStatus enum value.
37
+ * New status value to set for the order.
38
+ * Must be a valid value from the OrderStatus enum.
31
39
  *
32
- * @example OrderStatus.CONFIRMED
40
+ * @type {OrderStatus}
41
+ * @example "CONFIRMED"
33
42
  */
34
43
  status;
35
44
  }
36
45
  __decorate([
37
- IsUUID(4, { message: 'Order ID must be a valid UUID' }),
46
+ IsUUID(4, { message: "orderId must be a valid UUID v4" }),
47
+ IsString({ message: "orderId must be a string" }),
48
+ IsNotEmpty({ message: "orderId is required" }),
38
49
  __metadata("design:type", String)
39
- ], ChangeOrderStatusDto.prototype, "id", void 0);
50
+ ], ChangeOrderStatusDto.prototype, "orderId", void 0);
40
51
  __decorate([
41
- IsEnum(OrderStatus, { message: 'Status must be a valid order status' }),
52
+ IsIn(ORDER_STATUS, { message: "status must be a valid order status" }),
53
+ IsString({ message: "status must be a string" }),
54
+ IsNotEmpty({ message: "status is required" }),
42
55
  __metadata("design:type", String)
43
56
  ], ChangeOrderStatusDto.prototype, "status", void 0);
@@ -1,62 +1,72 @@
1
- import { OrderItemDto } from './order-item.dto';
2
- import { OrderType } from '../../enums/order-type.enum';
1
+ import { OrderItemDto } from './order-item.dto.js';
2
+ import { type OrderMode } from '../../types/order-mode.type.js';
3
3
  /**
4
- * DTO for creating a new order.
4
+ * Data Transfer Object for creating a new order in QeHay.
5
5
  *
6
- * Used by the Orders microservice to create new orders with items,
7
- * order type, and optional delivery/pickup information.
8
- * Validates the order structure and required fields based on order type.
6
+ * This DTO defines the structure, validation and documentation for the data needed to create a restaurant order.
7
+ * It supports all main QeHay order flows (DINE_IN, PICKUP, DELIVERY) and enforces minimum business rules at field level.
8
+ *
9
+ * Each property is validated and documented for clear API contracts and seamless integration with client apps.
9
10
  *
10
11
  * @since 2.0.0
11
12
  */
12
13
  export declare class CreateOrderDto {
13
14
  /**
14
- * Array of items in the order.
15
- * Must contain at least one item.
16
- * Each item is validated as an OrderItemDto.
15
+ * List of items included in the order.
16
+ * - Must contain at least one item.
17
+ * - Each element is validated as OrderItemDto.
17
18
  *
18
- * @example [{ productId: "...", quantity: 2, price: 19.98 }]
19
+ * @type {OrderItemDto[]}
20
+ * @example [{ "productId": "651cb9...", "quantity": 2, "price": 19.98 }]
19
21
  */
20
22
  items: OrderItemDto[];
21
23
  /**
22
- * Type of order (DINE_IN, PICKUP, or DELIVERY).
23
- * Determines the fulfillment flow and required fields.
24
+ * Type of order (DINE_IN, PICKUP, DELIVERY).
25
+ * This determines the flow and required additional fields.
24
26
  *
25
- * @example OrderType.DELIVERY
27
+ * @type {OrderMode}
28
+ * @example "DELIVERY"
26
29
  */
27
- mode: OrderType;
30
+ mode: OrderMode;
28
31
  /**
29
- * Optional table identifier for dine-in orders.
30
- * Must be at least 2 characters long if provided.
32
+ * Table identifier for dine-in orders.
33
+ * - Required for DINE_IN orders.
34
+ * - Ignored for PICKUP and DELIVERY.
35
+ * - Must be at least 2 characters if provided.
31
36
  *
37
+ * @type {string}
32
38
  * @example "Table 5"
33
39
  */
34
40
  tableId?: string;
35
41
  /**
36
- * Optional delivery address for delivery orders.
42
+ * Delivery address, required when mode is DELIVERY.
37
43
  *
44
+ * @type {string}
38
45
  * @example "123 Main St, Downtown"
39
46
  */
40
47
  deliveryAddress?: string;
41
48
  /**
42
- * Optional pickup time for pickup orders.
43
- * Must be a valid ISO date string if provided.
49
+ * Scheduled pickup time for pickup orders, as a valid ISO 8601 string.
50
+ * Only relevant for PICKUP mode.
44
51
  *
52
+ * @type {string}
45
53
  * @example "2024-01-15T18:30:00Z"
46
54
  */
47
55
  pickupTime?: string;
48
56
  /**
49
- * Payment method identifier.
50
- * Required for orders that require payment before confirmation.
57
+ * Identifier of the payment method selected by the customer.
58
+ * - Required for orders requiring pre-payment (typically DELIVERY and PICKUP).
51
59
  *
60
+ * @type {string}
52
61
  * @example "payment-method-uuid-123"
53
62
  */
54
63
  paymentMethodId: string;
55
64
  /**
56
- * Optional user identifier who created the order.
57
- * Must be a valid MongoDB ObjectId if provided.
65
+ * User identifier (MongoDB ObjectId) of the customer who created the order.
66
+ * - Required. Used for user traceability and order ownership.
58
67
  *
68
+ * @type {string}
59
69
  * @example "507f1f77bcf86cd799439011"
60
70
  */
61
- userId?: string;
71
+ userId: string;
62
72
  }
@@ -8,65 +8,75 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { Type } from 'class-transformer';
11
- import { IsArray, ArrayMinSize, ValidateNested, IsEnum, IsString, IsOptional, MinLength, IsMongoId, IsNotEmpty, IsDateString, } from 'class-validator';
12
- import { OrderItemDto } from './order-item.dto';
13
- import { OrderType } from '../../enums/order-type.enum';
11
+ import { IsArray, ArrayMinSize, ValidateNested, IsString, IsOptional, MinLength, IsMongoId, IsNotEmpty, IsDateString, IsIn, } from 'class-validator';
12
+ import { OrderItemDto } from './order-item.dto.js';
13
+ import { ORDER_MODES } from '../../types/order-mode.type.js';
14
14
  /**
15
- * DTO for creating a new order.
15
+ * Data Transfer Object for creating a new order in QeHay.
16
16
  *
17
- * Used by the Orders microservice to create new orders with items,
18
- * order type, and optional delivery/pickup information.
19
- * Validates the order structure and required fields based on order type.
17
+ * This DTO defines the structure, validation and documentation for the data needed to create a restaurant order.
18
+ * It supports all main QeHay order flows (DINE_IN, PICKUP, DELIVERY) and enforces minimum business rules at field level.
19
+ *
20
+ * Each property is validated and documented for clear API contracts and seamless integration with client apps.
20
21
  *
21
22
  * @since 2.0.0
22
23
  */
23
24
  export class CreateOrderDto {
24
25
  /**
25
- * Array of items in the order.
26
- * Must contain at least one item.
27
- * Each item is validated as an OrderItemDto.
26
+ * List of items included in the order.
27
+ * - Must contain at least one item.
28
+ * - Each element is validated as OrderItemDto.
28
29
  *
29
- * @example [{ productId: "...", quantity: 2, price: 19.98 }]
30
+ * @type {OrderItemDto[]}
31
+ * @example [{ "productId": "651cb9...", "quantity": 2, "price": 19.98 }]
30
32
  */
31
33
  items;
32
34
  /**
33
- * Type of order (DINE_IN, PICKUP, or DELIVERY).
34
- * Determines the fulfillment flow and required fields.
35
+ * Type of order (DINE_IN, PICKUP, DELIVERY).
36
+ * This determines the flow and required additional fields.
35
37
  *
36
- * @example OrderType.DELIVERY
38
+ * @type {OrderMode}
39
+ * @example "DELIVERY"
37
40
  */
38
41
  mode;
39
42
  /**
40
- * Optional table identifier for dine-in orders.
41
- * Must be at least 2 characters long if provided.
43
+ * Table identifier for dine-in orders.
44
+ * - Required for DINE_IN orders.
45
+ * - Ignored for PICKUP and DELIVERY.
46
+ * - Must be at least 2 characters if provided.
42
47
  *
48
+ * @type {string}
43
49
  * @example "Table 5"
44
50
  */
45
51
  tableId;
46
52
  /**
47
- * Optional delivery address for delivery orders.
53
+ * Delivery address, required when mode is DELIVERY.
48
54
  *
55
+ * @type {string}
49
56
  * @example "123 Main St, Downtown"
50
57
  */
51
58
  deliveryAddress;
52
59
  /**
53
- * Optional pickup time for pickup orders.
54
- * Must be a valid ISO date string if provided.
60
+ * Scheduled pickup time for pickup orders, as a valid ISO 8601 string.
61
+ * Only relevant for PICKUP mode.
55
62
  *
63
+ * @type {string}
56
64
  * @example "2024-01-15T18:30:00Z"
57
65
  */
58
66
  pickupTime;
59
67
  /**
60
- * Payment method identifier.
61
- * Required for orders that require payment before confirmation.
68
+ * Identifier of the payment method selected by the customer.
69
+ * - Required for orders requiring pre-payment (typically DELIVERY and PICKUP).
62
70
  *
71
+ * @type {string}
63
72
  * @example "payment-method-uuid-123"
64
73
  */
65
74
  paymentMethodId;
66
75
  /**
67
- * Optional user identifier who created the order.
68
- * Must be a valid MongoDB ObjectId if provided.
76
+ * User identifier (MongoDB ObjectId) of the customer who created the order.
77
+ * - Required. Used for user traceability and order ownership.
69
78
  *
79
+ * @type {string}
70
80
  * @example "507f1f77bcf86cd799439011"
71
81
  */
72
82
  userId;
@@ -79,33 +89,35 @@ __decorate([
79
89
  __metadata("design:type", Array)
80
90
  ], CreateOrderDto.prototype, "items", void 0);
81
91
  __decorate([
82
- IsEnum(OrderType, { message: 'Order type must be DINE_IN, PICKUP, or DELIVERY' }),
92
+ IsIn(ORDER_MODES, { message: 'Order type must be DINE_IN, PICKUP, or DELIVERY' }),
93
+ IsString({ message: 'Order mode must be a string' }),
94
+ IsNotEmpty({ message: 'Order mode is required' }),
83
95
  __metadata("design:type", String)
84
96
  ], CreateOrderDto.prototype, "mode", void 0);
85
97
  __decorate([
86
- IsString(),
87
- MinLength(2),
98
+ IsString({ message: 'tableId must be a string' }),
99
+ MinLength(2, { message: 'tableId must be at least 2 characters' }),
88
100
  IsOptional(),
89
101
  __metadata("design:type", String)
90
102
  ], CreateOrderDto.prototype, "tableId", void 0);
91
103
  __decorate([
92
- IsString(),
104
+ IsString({ message: 'Delivery address must be a string' }),
93
105
  IsOptional(),
94
106
  __metadata("design:type", String)
95
107
  ], CreateOrderDto.prototype, "deliveryAddress", void 0);
96
108
  __decorate([
97
- IsDateString(),
109
+ IsDateString({}, { message: 'pickupTime must be a valid ISO date string' }),
98
110
  IsOptional(),
99
111
  __metadata("design:type", String)
100
112
  ], CreateOrderDto.prototype, "pickupTime", void 0);
101
113
  __decorate([
102
- IsString(),
114
+ IsString({ message: 'paymentMethodId must be a string' }),
103
115
  IsNotEmpty({ message: 'Payment method ID is required' }),
104
116
  __metadata("design:type", String)
105
117
  ], CreateOrderDto.prototype, "paymentMethodId", void 0);
106
118
  __decorate([
107
- IsString(),
108
- IsMongoId(),
109
- IsOptional(),
119
+ IsString({ message: 'userId must be a string' }),
120
+ IsMongoId({ message: 'userId must be a valid MongoDB ObjectId' }),
121
+ IsNotEmpty({ message: 'userId is required' }),
110
122
  __metadata("design:type", String)
111
123
  ], CreateOrderDto.prototype, "userId", void 0);
@@ -6,9 +6,8 @@
6
6
  *
7
7
  * @since 2.0.0
8
8
  */
9
- export * from './create-order.dto';
10
- export * from './update-order.dto';
11
- export * from './order-item.dto';
12
- export * from './change-order-status.dto';
13
- export * from './order-pagination.dto';
14
- export * from './paid-order.dto';
9
+ export * from './create-order.dto.js';
10
+ export * from './order-item.dto.js';
11
+ export * from './change-order-status.dto.js';
12
+ export * from './order-pagination.dto.js';
13
+ export * from './paid-order.dto.js';
@@ -6,9 +6,8 @@
6
6
  *
7
7
  * @since 2.0.0
8
8
  */
9
- export * from './create-order.dto';
10
- export * from './update-order.dto';
11
- export * from './order-item.dto';
12
- export * from './change-order-status.dto';
13
- export * from './order-pagination.dto';
14
- export * from './paid-order.dto';
9
+ export * from './create-order.dto.js';
10
+ export * from './order-item.dto.js';
11
+ export * from './change-order-status.dto.js';
12
+ export * from './order-pagination.dto.js';
13
+ export * from './paid-order.dto.js';
@@ -1,65 +1,82 @@
1
1
  /**
2
- * DTO for order item information.
2
+ * Data Transfer Object representing a single item within an order.
3
3
  *
4
- * Represents a single item in an order with its product details,
5
- * size (if applicable), quantity, price, and optional notes or child items.
6
- * Supports nested items for complex order structures (e.g., combo meals).
4
+ * Used by QeHay to structure each item the customer wishes to order, including the product, quantity, pricing, variant size,
5
+ * optional notes, and possible nested (child) items such as combos.
7
6
  *
7
+ * All properties are validated and documented to ensure data integrity and improve maintainability.
8
+ *
9
+ * @class OrderItemDto
8
10
  * @since 2.0.0
9
11
  */
10
12
  export declare class OrderItemDto {
11
13
  /**
12
- * Unique identifier of the product.
13
- * Must be a valid UUID.
14
+ * Unique identifier for the product.
15
+ * Required.
16
+ * Must be a valid UUID v4.
14
17
  *
18
+ * @type {string}
15
19
  * @example "550e8400-e29b-41d4-a716-446655440000"
16
20
  */
17
21
  productId: string;
18
22
  /**
19
- * Optional unique identifier of the product size variant.
20
- * Must be a valid UUID if provided.
23
+ * Optional unique identifier for the product size (variant).
24
+ * Only set when the selected product has multiple sizes/variants.
25
+ * Must be a valid UUID v4 if provided.
21
26
  *
27
+ * @type {string}
22
28
  * @example "660e8400-e29b-41d4-a716-446655440001"
23
29
  */
24
30
  productSizeId?: string;
25
31
  /**
26
- * Optional name of the size variant.
32
+ * Optional name or label for the product size/variant.
33
+ * Useful for displaying selected size in the client.
27
34
  *
35
+ * @type {string}
28
36
  * @example "Large"
29
37
  */
30
38
  sizeName?: string;
31
39
  /**
32
- * Optional price for the size variant.
33
- * Must be a positive number if provided.
40
+ * Optional additional price for the selected size/variant.
41
+ * If specified, must be a positive number.
34
42
  *
43
+ * @type {number}
35
44
  * @example 12.99
36
45
  */
37
46
  sizePrice?: number;
38
47
  /**
39
- * Quantity of this item in the order.
40
- * Must be a positive number.
48
+ * Quantity of the ordered product (how many units the customer wants).
49
+ * Required.
50
+ * Must be a positive number (greater than zero).
41
51
  *
52
+ * @type {number}
42
53
  * @example 2
43
54
  */
44
55
  quantity: number;
45
56
  /**
46
- * Unit price for this item.
57
+ * Unit price for this item (for one product or one variant, without multiplying by quantity).
58
+ * Required.
47
59
  * Must be a positive number.
48
60
  *
61
+ * @type {number}
49
62
  * @example 9.99
50
63
  */
51
64
  price: number;
52
65
  /**
53
- * Optional notes or special instructions for this item.
66
+ * Optional notes or special instructions for this item (i.e. "No onions", "Add extra cheese").
67
+ * Useful for customizations or clarifications by the customer.
68
+ * Minimum length: 5 characters. Maximum: 200.
54
69
  *
70
+ * @type {string}
55
71
  * @example "No onions, extra cheese"
56
72
  */
57
73
  notes?: string;
58
74
  /**
59
- * Optional array of child items (for nested structures like combo meals).
60
- * Each child item is validated as an OrderItemDto.
75
+ * Optional array of nested child items (for combos, extras, etc).
76
+ * Each child item must also be a valid OrderItemDto instance, supporting recursive order nesting.
61
77
  *
62
- * @example [{ productId: "...", quantity: 1, price: 5.99 }]
78
+ * @type {OrderItemDto[]}
79
+ * @example [{ "productId": "...", "quantity": 1, "price": 5.99 }]
63
80
  */
64
81
  childItems?: OrderItemDto[];
65
82
  }