@floristcloud/api-lib 1.2.180 → 1.2.182

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 (281) hide show
  1. package/build/commands/consignment/execute-consignment-product-update.command.js +4 -54
  2. package/build/commands/consignment/import-consignment.command.js +4 -33
  3. package/build/commands/consignment/import-packing-consignment.command.js +4 -20
  4. package/build/commands/index.js +1 -0
  5. package/build/commands/integration/moysklad/execute-moysklad-import.command.js +4 -40
  6. package/build/commands/integration/moysklad/scan-moysklad-clients-import.query.js +2 -1
  7. package/build/commands/integration/moysklad/scan-moysklad-import.query.js +2 -59
  8. package/build/commands/integration/one-c/index.js +1 -0
  9. package/build/commands/integration/one-c/update-one-c-settings.command.js +10 -0
  10. package/build/commands/measure-unit/archive-measure-unit.command.js +8 -0
  11. package/build/commands/measure-unit/create-measure-unit.command.js +10 -0
  12. package/build/commands/measure-unit/get-measure-unit-by-uuid.query.js +8 -0
  13. package/build/commands/measure-unit/get-measure-unit-list.query.js +10 -0
  14. package/build/commands/measure-unit/index.js +24 -0
  15. package/build/commands/measure-unit/reorder-measure-units.command.js +10 -0
  16. package/build/commands/measure-unit/set-default-measure-unit.command.js +8 -0
  17. package/build/commands/measure-unit/unarchive-measure-unit.command.js +8 -0
  18. package/build/commands/measure-unit/update-measure-unit.command.js +10 -0
  19. package/build/commands/order/group/order-vat-transition-analyze.command.js +10 -0
  20. package/build/commands/order/group/order-vat-transition-execute.command.js +10 -0
  21. package/build/commands/order/index.js +2 -0
  22. package/build/commands/pre-order/import-standing-order.command.js +2 -18
  23. package/build/commands/pre-order-collection-item/import-pre-order-collection-item.command.js +4 -32
  24. package/build/commands/pre-order-collection-item/update-group-pre-order-collection-item.command.js +4 -14
  25. package/build/commands/product/create-product.command.js +4 -39
  26. package/build/commands/product/group/update-group-product-update-batch.command.js +4 -41
  27. package/build/commands/product/update-product.command.js +4 -39
  28. package/build/commands/report/get-daily-orders-summary.query.js +4 -62
  29. package/build/constant/error.js +40 -3
  30. package/build/constant/index.js +1 -0
  31. package/build/constant/measure-unit-limits.js +4 -0
  32. package/build/enum/external-entity-type.enum.js +1 -0
  33. package/build/enum/index.js +2 -0
  34. package/build/enum/measure-unit-match-source.enum.js +10 -0
  35. package/build/enum/moysklad-import-item-status.enum.js +10 -0
  36. package/build/enum/order-updated-field.enum.js +2 -0
  37. package/build/schemas/consignment/consignment-product-multiplicity-option-update.schema.js +13 -0
  38. package/build/schemas/consignment/consignment-product-position-update.schema.js +38 -0
  39. package/build/schemas/consignment/execute-consignment-product-update-request.schema.js +8 -0
  40. package/build/schemas/consignment/execute-consignment-product-update-response-data-errors.schema.js +8 -0
  41. package/build/schemas/consignment/execute-consignment-product-update-response-data.schema.js +13 -0
  42. package/build/schemas/consignment/execute-consignment-product-update-response.schema.js +8 -0
  43. package/build/schemas/consignment/import-consignment-request-constant-data.schema.js +10 -0
  44. package/build/schemas/consignment/import-consignment-request.schema.js +17 -0
  45. package/build/schemas/consignment/import-consignment-response-data-warnings.schema.js +10 -0
  46. package/build/schemas/consignment/import-consignment-response-data.schema.js +12 -0
  47. package/build/schemas/consignment/import-consignment-response.schema.js +9 -0
  48. package/build/schemas/consignment/import-packing-consignment-request.schema.js +9 -0
  49. package/build/schemas/consignment/import-packing-consignment-response-data-warnings.schema.js +11 -0
  50. package/build/schemas/consignment/import-packing-consignment-response-data.schema.js +12 -0
  51. package/build/schemas/consignment/import-packing-consignment-response.schema.js +9 -0
  52. package/build/schemas/consignment/index.js +31 -0
  53. package/build/schemas/index.js +8 -0
  54. package/build/schemas/integration/moysklad/execute-moysklad-import-request.schema.js +17 -0
  55. package/build/schemas/integration/moysklad/execute-moysklad-import-response-data.schema.js +13 -0
  56. package/build/schemas/integration/moysklad/execute-moysklad-import-response.schema.js +9 -0
  57. package/build/schemas/integration/moysklad/index.js +16 -0
  58. package/build/schemas/integration/moysklad/moysklad-category-match.schema.js +9 -0
  59. package/build/schemas/integration/moysklad/moysklad-executable-item.schema.js +30 -0
  60. package/build/schemas/integration/moysklad/moysklad-measure-unit-alias-added.schema.js +8 -0
  61. package/build/schemas/integration/moysklad/moysklad-measure-unit-create-mapping.schema.js +9 -0
  62. package/build/schemas/integration/moysklad/moysklad-measure-unit-dictionary-item.schema.js +9 -0
  63. package/build/schemas/integration/moysklad/moysklad-measure-unit-link-mapping.schema.js +9 -0
  64. package/build/schemas/integration/moysklad/moysklad-measure-unit-mapping.schema.js +10 -0
  65. package/build/schemas/integration/moysklad/moysklad-scanned-item.schema.js +34 -0
  66. package/build/schemas/integration/moysklad/moysklad-scanned-measure-unit.schema.js +13 -0
  67. package/build/schemas/integration/moysklad/scan-moysklad-import-response-data-categories.schema.js +8 -0
  68. package/build/schemas/integration/moysklad/scan-moysklad-import-response-data-summary.schema.js +13 -0
  69. package/build/schemas/integration/moysklad/scan-moysklad-import-response-data.schema.js +24 -0
  70. package/build/schemas/integration/moysklad/scan-moysklad-import-response.schema.js +9 -0
  71. package/build/schemas/integration/one-c/index.js +2 -0
  72. package/build/schemas/integration/one-c/one-c-status.schema.js +1 -0
  73. package/build/schemas/integration/one-c/update-one-c-settings-request.schema.js +5 -0
  74. package/build/schemas/integration/one-c/update-one-c-settings-response.schema.js +6 -0
  75. package/build/schemas/measure-unit/create-measure-unit-request.schema.js +19 -0
  76. package/build/schemas/measure-unit/get-measure-unit-list-request.schema.js +7 -0
  77. package/build/schemas/measure-unit/index.js +25 -0
  78. package/build/schemas/measure-unit/measure-unit-list-response.schema.js +6 -0
  79. package/build/schemas/measure-unit/measure-unit-response.schema.js +6 -0
  80. package/build/schemas/measure-unit/measure-unit-short.schema.js +10 -0
  81. package/build/schemas/measure-unit/measure-unit-text.schema.js +7 -0
  82. package/build/schemas/measure-unit/measure-unit.schema.js +16 -0
  83. package/build/schemas/measure-unit/reorder-measure-units-request.schema.js +12 -0
  84. package/build/schemas/measure-unit/update-measure-unit-request.schema.js +5 -0
  85. package/build/schemas/order/index.js +9 -0
  86. package/build/schemas/order/order-vat-transition-analyze-item.schema.js +25 -0
  87. package/build/schemas/order/order-vat-transition-analyze-response.schema.js +9 -0
  88. package/build/schemas/order/order-vat-transition-analyze-result.schema.js +13 -0
  89. package/build/schemas/order/order-vat-transition-analyze-summary.schema.js +15 -0
  90. package/build/schemas/order/order-vat-transition-execute-failure.schema.js +10 -0
  91. package/build/schemas/order/order-vat-transition-execute-request.schema.js +12 -0
  92. package/build/schemas/order/order-vat-transition-execute-response.schema.js +9 -0
  93. package/build/schemas/order/order-vat-transition-execute-result.schema.js +16 -0
  94. package/build/schemas/order/order-vat-transition-request.schema.js +14 -0
  95. package/build/schemas/pre-order/import-standing-order-response-data.schema.js +12 -0
  96. package/build/schemas/pre-order/import-standing-order-response.schema.js +9 -0
  97. package/build/schemas/pre-order/index.js +3 -0
  98. package/build/schemas/pre-order/standing-order-import-row-error.schema.js +12 -0
  99. package/build/schemas/pre-order-collection-item/create-pre-order-collection-item.schema.js +2 -1
  100. package/build/schemas/pre-order-collection-item/import-pre-order-collection-item-request.schema.js +5 -0
  101. package/build/schemas/pre-order-collection-item/import-pre-order-collection-item-response-data.schema.js +16 -0
  102. package/build/schemas/pre-order-collection-item/import-pre-order-collection-item-response.schema.js +9 -0
  103. package/build/schemas/pre-order-collection-item/index.js +11 -0
  104. package/build/schemas/pre-order-collection-item/pre-order-collection-item-base.schema.js +3 -0
  105. package/build/schemas/pre-order-collection-item/pre-order-collection-item-for-client.schema.js +3 -0
  106. package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-created-row.schema.js +8 -0
  107. package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-global-error.schema.js +8 -0
  108. package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-issue-params.schema.js +5 -0
  109. package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-issue.schema.js +12 -0
  110. package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-row-error.schema.js +9 -0
  111. package/build/schemas/pre-order-collection-item/pre-order-collection-item-position-update.schema.js +2 -0
  112. package/build/schemas/pre-order-collection-item/pre-order-collection-item-update-batch-response-data.schema.js +2 -0
  113. package/build/schemas/pre-order-collection-item/update-group-pre-order-collection-item-request.schema.js +9 -0
  114. package/build/schemas/pre-order-collection-item/update-group-pre-order-collection-item-response-data.schema.js +7 -0
  115. package/build/schemas/pre-order-collection-item/update-group-pre-order-collection-item-response.schema.js +9 -0
  116. package/build/schemas/pre-order-collection-item/update-pre-order-collection-item.schema.js +2 -1
  117. package/build/schemas/product/create-product-request.schema.js +36 -0
  118. package/build/schemas/product/create-product-response.schema.js +9 -0
  119. package/build/schemas/product/group/index.js +21 -0
  120. package/build/schemas/product/group/update-group-product-update-batch-request-data.schema.js +24 -0
  121. package/build/schemas/product/group/update-group-product-update-batch-request.schema.js +9 -0
  122. package/build/schemas/product/group/update-group-product-update-batch-response-data-errors.schema.js +8 -0
  123. package/build/schemas/product/group/update-group-product-update-batch-response-data.schema.js +11 -0
  124. package/build/schemas/product/group/update-group-product-update-batch-response.schema.js +9 -0
  125. package/build/schemas/product/index.js +4 -0
  126. package/build/schemas/product/product-base.schema.js +3 -0
  127. package/build/schemas/product/product-for-client.schema.js +3 -0
  128. package/build/schemas/product/update-product-request.schema.js +36 -0
  129. package/build/schemas/product/update-product-response.schema.js +9 -0
  130. package/build/schemas/report/daily-orders-summary-by-day-item.schema.js +6 -0
  131. package/build/schemas/report/daily-orders-summary-by-responsible-item.schema.js +6 -0
  132. package/build/schemas/report/daily-orders-summary-legacy-units.schema.js +9 -0
  133. package/build/schemas/report/daily-orders-summary-metrics.schema.js +17 -0
  134. package/build/schemas/report/daily-orders-summary-totals.schema.js +6 -0
  135. package/build/schemas/report/get-daily-orders-summary-request.schema.js +39 -0
  136. package/build/schemas/report/get-daily-orders-summary-response-data.schema.js +12 -0
  137. package/build/schemas/report/get-daily-orders-summary-response.schema.js +8 -0
  138. package/build/schemas/report/index.js +24 -0
  139. package/build/schemas/report/measure-unit-quantity.schema.js +10 -0
  140. package/build/schemas/report/sales-by-client-row.schema.js +2 -0
  141. package/commands/consignment/execute-consignment-product-update.command.ts +5 -60
  142. package/commands/consignment/import-consignment.command.ts +3 -35
  143. package/commands/consignment/import-packing-consignment.command.ts +3 -22
  144. package/commands/index.ts +1 -0
  145. package/commands/integration/moysklad/execute-moysklad-import.command.ts +3 -42
  146. package/commands/integration/moysklad/scan-moysklad-clients-import.query.ts +2 -1
  147. package/commands/integration/moysklad/scan-moysklad-import.query.ts +2 -62
  148. package/commands/integration/one-c/index.ts +2 -0
  149. package/commands/integration/one-c/update-one-c-settings.command.ts +10 -0
  150. package/commands/measure-unit/archive-measure-unit.command.ts +7 -0
  151. package/commands/measure-unit/create-measure-unit.command.ts +10 -0
  152. package/commands/measure-unit/get-measure-unit-by-uuid.query.ts +7 -0
  153. package/commands/measure-unit/get-measure-unit-list.query.ts +10 -0
  154. package/commands/measure-unit/index.ts +8 -0
  155. package/commands/measure-unit/reorder-measure-units.command.ts +10 -0
  156. package/commands/measure-unit/set-default-measure-unit.command.ts +7 -0
  157. package/commands/measure-unit/unarchive-measure-unit.command.ts +7 -0
  158. package/commands/measure-unit/update-measure-unit.command.ts +10 -0
  159. package/commands/order/group/order-vat-transition-analyze.command.ts +11 -0
  160. package/commands/order/group/order-vat-transition-execute.command.ts +11 -0
  161. package/commands/order/index.ts +2 -0
  162. package/commands/pre-order/import-standing-order.command.ts +2 -19
  163. package/commands/pre-order-collection-item/import-pre-order-collection-item.command.ts +3 -40
  164. package/commands/pre-order-collection-item/update-group-pre-order-collection-item.command.ts +3 -14
  165. package/commands/product/create-product.command.ts +3 -40
  166. package/commands/product/group/update-group-product-update-batch.command.ts +3 -43
  167. package/commands/product/update-product.command.ts +3 -40
  168. package/commands/report/get-daily-orders-summary.query.ts +3 -74
  169. package/constant/error.ts +41 -3
  170. package/constant/index.ts +1 -0
  171. package/constant/measure-unit-limits.ts +1 -0
  172. package/enum/external-entity-type.enum.ts +1 -0
  173. package/enum/index.ts +2 -0
  174. package/enum/measure-unit-match-source.enum.ts +6 -0
  175. package/enum/moysklad-import-item-status.enum.ts +6 -0
  176. package/enum/order-updated-field.enum.ts +2 -0
  177. package/package.json +1 -1
  178. package/schemas/consignment/consignment-product-multiplicity-option-update.schema.ts +11 -0
  179. package/schemas/consignment/consignment-product-position-update.schema.ts +36 -0
  180. package/schemas/consignment/execute-consignment-product-update-request.schema.ts +6 -0
  181. package/schemas/consignment/execute-consignment-product-update-response-data-errors.schema.ts +6 -0
  182. package/schemas/consignment/execute-consignment-product-update-response-data.schema.ts +11 -0
  183. package/schemas/consignment/execute-consignment-product-update-response.schema.ts +6 -0
  184. package/schemas/consignment/import-consignment-request-constant-data.schema.ts +8 -0
  185. package/schemas/consignment/import-consignment-request.schema.ts +15 -0
  186. package/schemas/consignment/import-consignment-response-data-warnings.schema.ts +8 -0
  187. package/schemas/consignment/import-consignment-response-data.schema.ts +10 -0
  188. package/schemas/consignment/import-consignment-response.schema.ts +7 -0
  189. package/schemas/consignment/import-packing-consignment-request.schema.ts +7 -0
  190. package/schemas/consignment/import-packing-consignment-response-data-warnings.schema.ts +9 -0
  191. package/schemas/consignment/import-packing-consignment-response-data.schema.ts +10 -0
  192. package/schemas/consignment/import-packing-consignment-response.schema.ts +7 -0
  193. package/schemas/consignment/index.ts +16 -0
  194. package/schemas/index.ts +14 -0
  195. package/schemas/integration/moysklad/execute-moysklad-import-request.schema.ts +15 -0
  196. package/schemas/integration/moysklad/execute-moysklad-import-response-data.schema.ts +11 -0
  197. package/schemas/integration/moysklad/execute-moysklad-import-response.schema.ts +7 -0
  198. package/schemas/integration/moysklad/index.ts +18 -0
  199. package/schemas/integration/moysklad/moysklad-category-match.schema.ts +7 -0
  200. package/schemas/integration/moysklad/moysklad-executable-item.schema.ts +28 -0
  201. package/schemas/integration/moysklad/moysklad-measure-unit-alias-added.schema.ts +6 -0
  202. package/schemas/integration/moysklad/moysklad-measure-unit-create-mapping.schema.ts +7 -0
  203. package/schemas/integration/moysklad/moysklad-measure-unit-dictionary-item.schema.ts +7 -0
  204. package/schemas/integration/moysklad/moysklad-measure-unit-link-mapping.schema.ts +7 -0
  205. package/schemas/integration/moysklad/moysklad-measure-unit-mapping.schema.ts +8 -0
  206. package/schemas/integration/moysklad/moysklad-scanned-item.schema.ts +32 -0
  207. package/schemas/integration/moysklad/moysklad-scanned-measure-unit.schema.ts +11 -0
  208. package/schemas/integration/moysklad/scan-moysklad-import-response-data-categories.schema.ts +6 -0
  209. package/schemas/integration/moysklad/scan-moysklad-import-response-data-summary.schema.ts +11 -0
  210. package/schemas/integration/moysklad/scan-moysklad-import-response-data.schema.ts +22 -0
  211. package/schemas/integration/moysklad/scan-moysklad-import-response.schema.ts +7 -0
  212. package/schemas/integration/one-c/index.ts +2 -0
  213. package/schemas/integration/one-c/one-c-status.schema.ts +1 -0
  214. package/schemas/integration/one-c/update-one-c-settings-request.schema.ts +3 -0
  215. package/schemas/integration/one-c/update-one-c-settings-response.schema.ts +4 -0
  216. package/schemas/measure-unit/create-measure-unit-request.schema.ts +17 -0
  217. package/schemas/measure-unit/get-measure-unit-list-request.schema.ts +5 -0
  218. package/schemas/measure-unit/index.ts +9 -0
  219. package/schemas/measure-unit/measure-unit-list-response.schema.ts +4 -0
  220. package/schemas/measure-unit/measure-unit-response.schema.ts +4 -0
  221. package/schemas/measure-unit/measure-unit-short.schema.ts +8 -0
  222. package/schemas/measure-unit/measure-unit-text.schema.ts +8 -0
  223. package/schemas/measure-unit/measure-unit.schema.ts +14 -0
  224. package/schemas/measure-unit/reorder-measure-units-request.schema.ts +10 -0
  225. package/schemas/measure-unit/update-measure-unit-request.schema.ts +3 -0
  226. package/schemas/order/index.ts +10 -0
  227. package/schemas/order/order-vat-transition-analyze-item.schema.ts +23 -0
  228. package/schemas/order/order-vat-transition-analyze-response.schema.ts +7 -0
  229. package/schemas/order/order-vat-transition-analyze-result.schema.ts +11 -0
  230. package/schemas/order/order-vat-transition-analyze-summary.schema.ts +13 -0
  231. package/schemas/order/order-vat-transition-execute-failure.schema.ts +8 -0
  232. package/schemas/order/order-vat-transition-execute-request.schema.ts +10 -0
  233. package/schemas/order/order-vat-transition-execute-response.schema.ts +7 -0
  234. package/schemas/order/order-vat-transition-execute-result.schema.ts +14 -0
  235. package/schemas/order/order-vat-transition-request.schema.ts +12 -0
  236. package/schemas/pre-order/import-standing-order-response-data.schema.ts +10 -0
  237. package/schemas/pre-order/import-standing-order-response.schema.ts +7 -0
  238. package/schemas/pre-order/index.ts +4 -0
  239. package/schemas/pre-order/standing-order-import-row-error.schema.ts +10 -0
  240. package/schemas/pre-order-collection-item/create-pre-order-collection-item.schema.ts +2 -1
  241. package/schemas/pre-order-collection-item/import-pre-order-collection-item-request.schema.ts +3 -0
  242. package/schemas/pre-order-collection-item/import-pre-order-collection-item-response-data.schema.ts +14 -0
  243. package/schemas/pre-order-collection-item/import-pre-order-collection-item-response.schema.ts +7 -0
  244. package/schemas/pre-order-collection-item/index.ts +12 -0
  245. package/schemas/pre-order-collection-item/pre-order-collection-item-base.schema.ts +3 -0
  246. package/schemas/pre-order-collection-item/pre-order-collection-item-for-client.schema.ts +3 -0
  247. package/schemas/pre-order-collection-item/pre-order-collection-item-import-created-row.schema.ts +6 -0
  248. package/schemas/pre-order-collection-item/pre-order-collection-item-import-global-error.schema.ts +6 -0
  249. package/schemas/pre-order-collection-item/pre-order-collection-item-import-issue-params.schema.ts +6 -0
  250. package/schemas/pre-order-collection-item/pre-order-collection-item-import-issue.schema.ts +10 -0
  251. package/schemas/pre-order-collection-item/pre-order-collection-item-import-row-error.schema.ts +7 -0
  252. package/schemas/pre-order-collection-item/pre-order-collection-item-position-update.schema.ts +2 -0
  253. package/schemas/pre-order-collection-item/pre-order-collection-item-update-batch-response-data.schema.ts +2 -0
  254. package/schemas/pre-order-collection-item/update-group-pre-order-collection-item-request.schema.ts +7 -0
  255. package/schemas/pre-order-collection-item/update-group-pre-order-collection-item-response-data.schema.ts +5 -0
  256. package/schemas/pre-order-collection-item/update-group-pre-order-collection-item-response.schema.ts +7 -0
  257. package/schemas/pre-order-collection-item/update-pre-order-collection-item.schema.ts +2 -1
  258. package/schemas/product/create-product-request.schema.ts +35 -0
  259. package/schemas/product/create-product-response.schema.ts +7 -0
  260. package/schemas/product/group/index.ts +5 -0
  261. package/schemas/product/group/update-group-product-update-batch-request-data.schema.ts +22 -0
  262. package/schemas/product/group/update-group-product-update-batch-request.schema.ts +7 -0
  263. package/schemas/product/group/update-group-product-update-batch-response-data-errors.schema.ts +6 -0
  264. package/schemas/product/group/update-group-product-update-batch-response-data.schema.ts +9 -0
  265. package/schemas/product/group/update-group-product-update-batch-response.schema.ts +7 -0
  266. package/schemas/product/index.ts +5 -0
  267. package/schemas/product/product-base.schema.ts +3 -0
  268. package/schemas/product/product-for-client.schema.ts +3 -0
  269. package/schemas/product/update-product-request.schema.ts +35 -0
  270. package/schemas/product/update-product-response.schema.ts +7 -0
  271. package/schemas/report/daily-orders-summary-by-day-item.schema.ts +7 -0
  272. package/schemas/report/daily-orders-summary-by-responsible-item.schema.ts +8 -0
  273. package/schemas/report/daily-orders-summary-legacy-units.schema.ts +7 -0
  274. package/schemas/report/daily-orders-summary-metrics.schema.ts +15 -0
  275. package/schemas/report/daily-orders-summary-totals.schema.ts +4 -0
  276. package/schemas/report/get-daily-orders-summary-request.schema.ts +37 -0
  277. package/schemas/report/get-daily-orders-summary-response-data.schema.ts +10 -0
  278. package/schemas/report/get-daily-orders-summary-response.schema.ts +6 -0
  279. package/schemas/report/index.ts +8 -0
  280. package/schemas/report/measure-unit-quantity.schema.ts +8 -0
  281. package/schemas/report/sales-by-client-row.schema.ts +2 -0
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ import { ProductMarkEnum, SalesUnitEnum } from '../../enum';
3
+ import { MoneySchema } from '../money.schema';
4
+
5
+ export const CreateProductRequestSchema = z.object({
6
+ name: z.string(),
7
+ consignmentUUID: z.string(),
8
+ categoryUUID: z.string(),
9
+ balance: z.number(),
10
+ quantity: z.number(),
11
+ price: MoneySchema,
12
+ costPrice: MoneySchema,
13
+ multiplicity: z.number(),
14
+ isOpen: z.coerce.boolean(),
15
+
16
+ article: z.string().nullable(),
17
+ vbn: z.string().nullable(),
18
+ barcode: z.string().nullable(),
19
+ color: z.string().nullable(),
20
+ size: z.string().nullable(),
21
+ size2: z.string().nullable(),
22
+ size3: z.string().nullable(),
23
+ invoicePrice: MoneySchema.nullable(),
24
+ invoiceNumber: z.string().nullable(),
25
+ imageUUID: z.string().nullable(),
26
+ country: z.string().nullable(),
27
+ description: z.string().nullable(),
28
+ quality: z.string().nullable(),
29
+ grower: z.string().nullable(),
30
+ vat: z.number().nullable(),
31
+ multiplicityDescription: z.string().nullable(),
32
+ measureUnitUUID: z.string().uuid().optional(),
33
+ salesUnit: z.nativeEnum(SalesUnitEnum).optional().nullable(),
34
+ marks: z.array(z.nativeEnum(ProductMarkEnum)).optional(),
35
+ });
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { ProductExtendedForAdminSchema } from './product-extended-for-admin.schema';
3
+
4
+ export const CreateProductResponseSchema = z.object({
5
+ message: z.string().optional(),
6
+ data: ProductExtendedForAdminSchema,
7
+ });
@@ -0,0 +1,5 @@
1
+ export * from './update-group-product-update-batch-request-data.schema';
2
+ export * from './update-group-product-update-batch-request.schema';
3
+ export * from './update-group-product-update-batch-response-data-errors.schema';
4
+ export * from './update-group-product-update-batch-response-data.schema';
5
+ export * from './update-group-product-update-batch-response.schema';
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { SalesUnitEnum } from '../../../enum';
3
+ import { MoneySchema } from '../../money.schema';
4
+
5
+ export const UpdateGroupProductUpdateBatchRequestDataSchema = z.object({
6
+ name: z.string(),
7
+ categoryUUID: z.string(),
8
+ price: MoneySchema,
9
+ costPrice: MoneySchema,
10
+ color: z.string().nullable(),
11
+ size: z.string().nullable(),
12
+ multiplicity: z.coerce.number(),
13
+ size2: z.string().nullable(),
14
+ grower: z.string().nullable(),
15
+ country: z.string().nullable(),
16
+ invoicePrice: MoneySchema.nullable(),
17
+ invoiceNumber: z.string().nullable(),
18
+ imageUUID: z.string().nullable(),
19
+ multiplicityDescription: z.string().nullable(),
20
+ measureUnitUUID: z.string().uuid().optional(),
21
+ salesUnit: z.nativeEnum(SalesUnitEnum).nullable(),
22
+ });
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { UpdateGroupProductUpdateBatchRequestDataSchema } from './update-group-product-update-batch-request-data.schema';
3
+
4
+ export const UpdateGroupProductUpdateBatchRequestSchema = z.object({
5
+ productUUIDList: z.array(z.string()),
6
+ data: UpdateGroupProductUpdateBatchRequestDataSchema.partial(),
7
+ });
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+ import { ErrorMessageSchema } from '../../error-message.schema';
3
+
4
+ export const UpdateGroupProductUpdateBatchResponseDataErrorsSchema = ErrorMessageSchema.extend({
5
+ productUUID: z.uuid(),
6
+ });
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ import { UpdateGroupProductUpdateBatchResponseDataErrorsSchema } from './update-group-product-update-batch-response-data-errors.schema';
3
+
4
+ export const UpdateGroupProductUpdateBatchResponseDataSchema = z.object({
5
+ success: z.boolean(),
6
+ successCount: z.number().optional(),
7
+ failedCount: z.number().optional(),
8
+ errors: z.array(UpdateGroupProductUpdateBatchResponseDataErrorsSchema).optional(),
9
+ });
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { UpdateGroupProductUpdateBatchResponseDataSchema } from './update-group-product-update-batch-response-data.schema';
3
+
4
+ export const UpdateGroupProductUpdateBatchResponseSchema = z.object({
5
+ message: z.string().optional(),
6
+ data: UpdateGroupProductUpdateBatchResponseDataSchema,
7
+ });
@@ -13,3 +13,8 @@ export * from './get-product-list-for-client-response.schema';
13
13
  export * from './product-catalog-name.schema';
14
14
  export * from './product-image-for-client.schema';
15
15
  export * from './product-consignment-for-client.schema';
16
+
17
+ export * from './create-product-request.schema';
18
+ export * from './create-product-response.schema';
19
+ export * from './update-product-request.schema';
20
+ export * from './update-product-response.schema';
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { ProductMarkEnum, SalesUnitEnum } from '../../enum';
3
3
  import { MoneySchema } from '../money.schema';
4
+ import { MeasureUnitShortSchema } from '../measure-unit/measure-unit-short.schema';
4
5
 
5
6
  export const ProductSchema = z.object({
6
7
  uuid: z.uuid(),
@@ -31,6 +32,8 @@ export const ProductSchema = z.object({
31
32
  grower: z.string().nullable(),
32
33
  vat: z.number().nullable(),
33
34
  multiplicityDescription: z.string().nullable(),
35
+ measureUnitUUID: z.string(),
36
+ measureUnit: MeasureUnitShortSchema,
34
37
  salesUnit: z.nativeEnum(SalesUnitEnum).nullable(),
35
38
  marks: z.array(z.nativeEnum(ProductMarkEnum)),
36
39
 
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { ProductMarkEnum, SalesUnitEnum } from '../../enum';
3
3
  import { MoneySchema } from '../money.schema';
4
+ import { MeasureUnitShortSchema } from '../measure-unit/measure-unit-short.schema';
4
5
 
5
6
  export const ProductForClientSchema = z.object({
6
7
  uuid: z.uuid(),
@@ -18,6 +19,8 @@ export const ProductForClientSchema = z.object({
18
19
  description: z.string().nullable(),
19
20
  grower: z.string().nullable(),
20
21
  multiplicityDescription: z.string().nullable(),
22
+ measureUnitUUID: z.string(),
23
+ measureUnit: MeasureUnitShortSchema,
21
24
  salesUnit: z.nativeEnum(SalesUnitEnum).nullable(),
22
25
  marks: z.array(z.nativeEnum(ProductMarkEnum)),
23
26
  });
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ import { ProductMarkEnum, SalesUnitEnum } from '../../enum';
3
+ import { MoneySchema } from '../money.schema';
4
+
5
+ export const UpdateProductRequestSchema = z.object({
6
+ name: z.string(),
7
+ consignmentUUID: z.string(),
8
+ categoryUUID: z.string(),
9
+ balance: z.number(),
10
+ quantity: z.number(),
11
+ price: MoneySchema,
12
+ costPrice: MoneySchema,
13
+ multiplicity: z.number(),
14
+ isOpen: z.coerce.boolean(),
15
+
16
+ article: z.string().nullable(),
17
+ vbn: z.string().nullable(),
18
+ barcode: z.string().nullable(),
19
+ color: z.string().nullable(),
20
+ size: z.string().nullable(),
21
+ size2: z.string().nullable(),
22
+ size3: z.string().nullable(),
23
+ invoicePrice: MoneySchema.nullable(),
24
+ invoiceNumber: z.string().nullable(),
25
+ imageUUID: z.string().nullable(),
26
+ country: z.string().nullable(),
27
+ description: z.string().nullable(),
28
+ quality: z.string().nullable(),
29
+ grower: z.string().nullable(),
30
+ vat: z.number().nullable(),
31
+ multiplicityDescription: z.string().nullable(),
32
+ measureUnitUUID: z.string().uuid().optional(),
33
+ salesUnit: z.nativeEnum(SalesUnitEnum).optional().nullable(),
34
+ marks: z.array(z.nativeEnum(ProductMarkEnum)).optional(),
35
+ });
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { ProductExtendedForAdminSchema } from './product-extended-for-admin.schema';
3
+
4
+ export const UpdateProductResponseSchema = z.object({
5
+ message: z.string().optional(),
6
+ data: ProductExtendedForAdminSchema,
7
+ });
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { DailyOrdersSummaryMetricsSchema } from './daily-orders-summary-metrics.schema';
3
+
4
+ export const DailyOrdersSummaryByDayItemSchema = z.object({
5
+ date: z.string(),
6
+ ...DailyOrdersSummaryMetricsSchema.shape,
7
+ });
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ import { DailyOrdersSummaryMetricsSchema } from './daily-orders-summary-metrics.schema';
3
+
4
+ export const DailyOrdersSummaryByResponsibleItemSchema = z.object({
5
+ responsibleUserUUID: z.string().nullable(),
6
+ responsibleUserName: z.string().nullable(),
7
+ ...DailyOrdersSummaryMetricsSchema.shape,
8
+ });
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+
3
+ export const DailyOrdersSummaryLegacyUnitsSchema = z.object({
4
+ PIECE: z.number(),
5
+ PACK: z.number(),
6
+ BOX: z.number(),
7
+ });
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { MeasureUnitQuantitySchema } from './measure-unit-quantity.schema';
3
+ import { MoneySchema } from '../money.schema';
4
+ import { DailyOrdersSummaryLegacyUnitsSchema } from './daily-orders-summary-legacy-units.schema';
5
+
6
+ export const DailyOrdersSummaryMetricsSchema = z.object({
7
+ ordersCreated: z.number(),
8
+ ordersCompleted: z.number(),
9
+ totalSum: MoneySchema,
10
+ // Часть totalSum по заказам со статусом COMPLETED. На оси COMPLETED_AT равна totalSum:
11
+ // там весь срез и так отгружен.
12
+ completedSum: MoneySchema,
13
+ unitsByMeasure: DailyOrdersSummaryLegacyUnitsSchema,
14
+ unitsByMeasureUnit: z.array(MeasureUnitQuantitySchema),
15
+ });
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ import { DailyOrdersSummaryMetricsSchema } from './daily-orders-summary-metrics.schema';
3
+
4
+ export const DailyOrdersSummaryTotalsSchema = z.object({ ...DailyOrdersSummaryMetricsSchema.shape });
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ import { OrderStatusEnum } from '../../enum/order-status.enum';
3
+ import { ReportOrderDateBasisEnum } from '../../enum/report-order-date-basis.enum';
4
+ import { dateRangeCheck } from '../../helpers/date.helper';
5
+ import { isStatementPeriodWithinLimit } from '../../helpers/date.helper';
6
+
7
+ export const GetDailyOrdersSummaryRequestSchema = z
8
+ .object({
9
+ startDate: z.coerce.date(),
10
+ endDate: z.coerce.date(),
11
+ // Ось периода — общая с отчётами продаж, чтобы сводка и отчёт за тот же период не разошлись
12
+ // в семантике. Дизъюнкции «любая из дат» здесь нет намеренно, см. ReportOrderDateBasisEnum.
13
+ //
14
+ // COMPLETED_AT сужает сводку до отгруженных заказов: даты отгрузки у остальных статусов
15
+ // просто нет. Поэтому на этой оси ordersCompleted равен ordersCreated, а фильтр по любому
16
+ // статусу кроме COMPLETED даёт нули — на фронте эти два фильтра совмещать не нужно.
17
+ dateBasis: z.nativeEnum(ReportOrderDateBasisEnum).default(ReportOrderDateBasisEnum.CREATED_AT),
18
+ // Необязательное сужение по статусу. Принимается и CSV (`?status=NEW,ACCEPTED`), и повтор
19
+ // параметра — как excludeClientUUID в ReportOrderFilterSchema.
20
+ //
21
+ // Служебные статусы здесь НЕ отсеиваются, хотя в сводку они и так не попадают: отсев на
22
+ // этом слое означал бы «фильтр пуст → фильтра нет», и `?status=TEMPLATE` вернул бы весь
23
+ // отчёт вместо нулей. Отбрасывает их билдер — там пустой результат остаётся пустым.
24
+ status: z
25
+ .union([z.string(), z.array(z.string())])
26
+ .transform(value => (Array.isArray(value) ? value : value.split(',')).map(item => item.trim()).filter(Boolean))
27
+ .pipe(z.array(z.nativeEnum(OrderStatusEnum)))
28
+ .optional(),
29
+ })
30
+ .refine(value => dateRangeCheck(value.startDate, value.endDate), {
31
+ message: 'validation.dateRange',
32
+ path: ['endDate', 'startDate'],
33
+ })
34
+ .refine(value => isStatementPeriodWithinLimit(value.startDate, value.endDate), {
35
+ message: 'validation.reportPeriodMax',
36
+ path: ['endDate', 'startDate'],
37
+ });
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ import { DailyOrdersSummaryTotalsSchema } from './daily-orders-summary-totals.schema';
3
+ import { DailyOrdersSummaryByDayItemSchema } from './daily-orders-summary-by-day-item.schema';
4
+ import { DailyOrdersSummaryByResponsibleItemSchema } from './daily-orders-summary-by-responsible-item.schema';
5
+
6
+ export const GetDailyOrdersSummaryResponseDataSchema = z.object({
7
+ totals: DailyOrdersSummaryTotalsSchema,
8
+ byDay: z.array(DailyOrdersSummaryByDayItemSchema),
9
+ byResponsible: z.array(DailyOrdersSummaryByResponsibleItemSchema),
10
+ });
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+ import { GetDailyOrdersSummaryResponseDataSchema } from './get-daily-orders-summary-response-data.schema';
3
+
4
+ export const GetDailyOrdersSummaryResponseSchema = z.object({
5
+ data: GetDailyOrdersSummaryResponseDataSchema,
6
+ });
@@ -0,0 +1,8 @@
1
+ export * from './get-daily-orders-summary-request.schema';
2
+ export * from './daily-orders-summary-legacy-units.schema';
3
+ export * from './daily-orders-summary-metrics.schema';
4
+ export * from './daily-orders-summary-totals.schema';
5
+ export * from './daily-orders-summary-by-day-item.schema';
6
+ export * from './daily-orders-summary-by-responsible-item.schema';
7
+ export * from './get-daily-orders-summary-response-data.schema';
8
+ export * from './get-daily-orders-summary-response.schema';
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+
3
+ export const MeasureUnitQuantitySchema = z.object({
4
+ measureUnitUUID: z.string(),
5
+ name: z.string(),
6
+ shortName: z.string(),
7
+ quantity: z.number(),
8
+ });
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { SalesByClientTopItemSchema } from './sales-by-client-top-item.schema';
3
3
  import { MoneySchema } from '../money.schema';
4
+ import { MeasureUnitQuantitySchema } from './measure-unit-quantity.schema';
4
5
 
5
6
  /**
6
7
  * Строка отчёта «продажи по клиентам» — те же данные, что уходят в Excel из `export/sales/clients`.
@@ -12,6 +13,7 @@ export const SalesByClientRowSchema = z.object({
12
13
  responsibleUserName: z.string().optional(),
13
14
  totalOrders: z.number(),
14
15
  soldUnits: z.number(),
16
+ soldUnitsByMeasureUnit: z.array(MeasureUnitQuantitySchema),
15
17
  soldUnitsByUnit: z.object({
16
18
  PIECE: z.number(),
17
19
  PACK: z.number(),