@endora-commerce/mod-catalog 0.100.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 (443) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -0
  3. package/dist/admin/components/PackagingUnitsEditor.d.ts +12 -0
  4. package/dist/admin/components/PackagingUnitsEditor.d.ts.map +1 -0
  5. package/dist/admin/components/PackagingUnitsEditor.js +99 -0
  6. package/dist/admin/components/PackagingUnitsEditor.js.map +1 -0
  7. package/dist/admin/components/ProductAttributesTab.d.ts +13 -0
  8. package/dist/admin/components/ProductAttributesTab.d.ts.map +1 -0
  9. package/dist/admin/components/ProductAttributesTab.js +140 -0
  10. package/dist/admin/components/ProductAttributesTab.js.map +1 -0
  11. package/dist/admin/components/ProductInventoryTab.d.ts +14 -0
  12. package/dist/admin/components/ProductInventoryTab.d.ts.map +1 -0
  13. package/dist/admin/components/ProductInventoryTab.js +284 -0
  14. package/dist/admin/components/ProductInventoryTab.js.map +1 -0
  15. package/dist/admin/components/ProductScopeEditor.d.ts +94 -0
  16. package/dist/admin/components/ProductScopeEditor.d.ts.map +1 -0
  17. package/dist/admin/components/ProductScopeEditor.js +395 -0
  18. package/dist/admin/components/ProductScopeEditor.js.map +1 -0
  19. package/dist/admin/components/ProductsBulkEditDialog.d.ts +11 -0
  20. package/dist/admin/components/ProductsBulkEditDialog.d.ts.map +1 -0
  21. package/dist/admin/components/ProductsBulkEditDialog.js +304 -0
  22. package/dist/admin/components/ProductsBulkEditDialog.js.map +1 -0
  23. package/dist/admin/index.d.ts +45 -0
  24. package/dist/admin/index.d.ts.map +1 -0
  25. package/dist/admin/index.js +184 -0
  26. package/dist/admin/index.js.map +1 -0
  27. package/dist/admin/lib/resolve-product-selection.d.ts +21 -0
  28. package/dist/admin/lib/resolve-product-selection.d.ts.map +1 -0
  29. package/dist/admin/lib/resolve-product-selection.js +25 -0
  30. package/dist/admin/lib/resolve-product-selection.js.map +1 -0
  31. package/dist/admin/pages/AttachmentTypesPage.d.ts +18 -0
  32. package/dist/admin/pages/AttachmentTypesPage.d.ts.map +1 -0
  33. package/dist/admin/pages/AttachmentTypesPage.js +92 -0
  34. package/dist/admin/pages/AttachmentTypesPage.js.map +1 -0
  35. package/dist/admin/pages/AttributeSetsPage.d.ts +21 -0
  36. package/dist/admin/pages/AttributeSetsPage.d.ts.map +1 -0
  37. package/dist/admin/pages/AttributeSetsPage.js +158 -0
  38. package/dist/admin/pages/AttributeSetsPage.js.map +1 -0
  39. package/dist/admin/pages/AttributesManager.d.ts +9 -0
  40. package/dist/admin/pages/AttributesManager.d.ts.map +1 -0
  41. package/dist/admin/pages/AttributesManager.js +305 -0
  42. package/dist/admin/pages/AttributesManager.js.map +1 -0
  43. package/dist/admin/pages/BulkOperationDetailPage.d.ts +9 -0
  44. package/dist/admin/pages/BulkOperationDetailPage.d.ts.map +1 -0
  45. package/dist/admin/pages/BulkOperationDetailPage.js +187 -0
  46. package/dist/admin/pages/BulkOperationDetailPage.js.map +1 -0
  47. package/dist/admin/pages/BulkOperationsPage.d.ts +9 -0
  48. package/dist/admin/pages/BulkOperationsPage.d.ts.map +1 -0
  49. package/dist/admin/pages/BulkOperationsPage.js +98 -0
  50. package/dist/admin/pages/BulkOperationsPage.js.map +1 -0
  51. package/dist/admin/pages/CategoriesTree.d.ts +9 -0
  52. package/dist/admin/pages/CategoriesTree.d.ts.map +1 -0
  53. package/dist/admin/pages/CategoriesTree.js +176 -0
  54. package/dist/admin/pages/CategoriesTree.js.map +1 -0
  55. package/dist/admin/pages/ProductEditor.d.ts +13 -0
  56. package/dist/admin/pages/ProductEditor.d.ts.map +1 -0
  57. package/dist/admin/pages/ProductEditor.js +1050 -0
  58. package/dist/admin/pages/ProductEditor.js.map +1 -0
  59. package/dist/admin/pages/ProductsList.d.ts +9 -0
  60. package/dist/admin/pages/ProductsList.d.ts.map +1 -0
  61. package/dist/admin/pages/ProductsList.js +399 -0
  62. package/dist/admin/pages/ProductsList.js.map +1 -0
  63. package/dist/backend/commands/attribute-commands.d.ts +111 -0
  64. package/dist/backend/commands/attribute-commands.d.ts.map +1 -0
  65. package/dist/backend/commands/attribute-commands.js +482 -0
  66. package/dist/backend/commands/attribute-commands.js.map +1 -0
  67. package/dist/backend/demo/reset.d.ts +23 -0
  68. package/dist/backend/demo/reset.d.ts.map +1 -0
  69. package/dist/backend/demo/reset.js +41 -0
  70. package/dist/backend/demo/reset.js.map +1 -0
  71. package/dist/backend/demo/rows.d.ts +103 -0
  72. package/dist/backend/demo/rows.d.ts.map +1 -0
  73. package/dist/backend/demo/rows.js +162 -0
  74. package/dist/backend/demo/rows.js.map +1 -0
  75. package/dist/backend/demo/seed.d.ts +35 -0
  76. package/dist/backend/demo/seed.d.ts.map +1 -0
  77. package/dist/backend/demo/seed.js +177 -0
  78. package/dist/backend/demo/seed.js.map +1 -0
  79. package/dist/backend/entities/attachment-type.entity.d.ts +16 -0
  80. package/dist/backend/entities/attachment-type.entity.d.ts.map +1 -0
  81. package/dist/backend/entities/attachment-type.entity.js +57 -0
  82. package/dist/backend/entities/attachment-type.entity.js.map +1 -0
  83. package/dist/backend/entities/attribute-set-attribute.entity.d.ts +26 -0
  84. package/dist/backend/entities/attribute-set-attribute.entity.d.ts.map +1 -0
  85. package/dist/backend/entities/attribute-set-attribute.entity.js +55 -0
  86. package/dist/backend/entities/attribute-set-attribute.entity.js.map +1 -0
  87. package/dist/backend/entities/attribute-set.entity.d.ts +22 -0
  88. package/dist/backend/entities/attribute-set.entity.d.ts.map +1 -0
  89. package/dist/backend/entities/attribute-set.entity.js +67 -0
  90. package/dist/backend/entities/attribute-set.entity.js.map +1 -0
  91. package/dist/backend/entities/bulk-operation.entity.d.ts +78 -0
  92. package/dist/backend/entities/bulk-operation.entity.d.ts.map +1 -0
  93. package/dist/backend/entities/bulk-operation.entity.js +138 -0
  94. package/dist/backend/entities/bulk-operation.entity.js.map +1 -0
  95. package/dist/backend/entities/bundle-slot-option.entity.d.ts +23 -0
  96. package/dist/backend/entities/bundle-slot-option.entity.d.ts.map +1 -0
  97. package/dist/backend/entities/bundle-slot-option.entity.js +68 -0
  98. package/dist/backend/entities/bundle-slot-option.entity.js.map +1 -0
  99. package/dist/backend/entities/bundle-slot.entity.d.ts +25 -0
  100. package/dist/backend/entities/bundle-slot.entity.d.ts.map +1 -0
  101. package/dist/backend/entities/bundle-slot.entity.js +74 -0
  102. package/dist/backend/entities/bundle-slot.entity.js.map +1 -0
  103. package/dist/backend/entities/category.entity.d.ts +26 -0
  104. package/dist/backend/entities/category.entity.d.ts.map +1 -0
  105. package/dist/backend/entities/category.entity.js +119 -0
  106. package/dist/backend/entities/category.entity.js.map +1 -0
  107. package/dist/backend/entities/gallery-item-label.entity.d.ts +22 -0
  108. package/dist/backend/entities/gallery-item-label.entity.d.ts.map +1 -0
  109. package/dist/backend/entities/gallery-item-label.entity.js +50 -0
  110. package/dist/backend/entities/gallery-item-label.entity.js.map +1 -0
  111. package/dist/backend/entities/gallery-item.entity.d.ts +17 -0
  112. package/dist/backend/entities/gallery-item.entity.d.ts.map +1 -0
  113. package/dist/backend/entities/gallery-item.entity.js +58 -0
  114. package/dist/backend/entities/gallery-item.entity.js.map +1 -0
  115. package/dist/backend/entities/grouped-item.entity.d.ts +23 -0
  116. package/dist/backend/entities/grouped-item.entity.d.ts.map +1 -0
  117. package/dist/backend/entities/grouped-item.entity.js +68 -0
  118. package/dist/backend/entities/grouped-item.entity.js.map +1 -0
  119. package/dist/backend/entities/product-attachment.entity.d.ts +23 -0
  120. package/dist/backend/entities/product-attachment.entity.d.ts.map +1 -0
  121. package/dist/backend/entities/product-attachment.entity.js +77 -0
  122. package/dist/backend/entities/product-attachment.entity.js.map +1 -0
  123. package/dist/backend/entities/product-attribute.entity.d.ts +72 -0
  124. package/dist/backend/entities/product-attribute.entity.d.ts.map +1 -0
  125. package/dist/backend/entities/product-attribute.entity.js +161 -0
  126. package/dist/backend/entities/product-attribute.entity.js.map +1 -0
  127. package/dist/backend/entities/product-editor-preference.entity.d.ts +28 -0
  128. package/dist/backend/entities/product-editor-preference.entity.d.ts.map +1 -0
  129. package/dist/backend/entities/product-editor-preference.entity.js +63 -0
  130. package/dist/backend/entities/product-editor-preference.entity.js.map +1 -0
  131. package/dist/backend/entities/product-link.entity.d.ts +25 -0
  132. package/dist/backend/entities/product-link.entity.d.ts.map +1 -0
  133. package/dist/backend/entities/product-link.entity.js +70 -0
  134. package/dist/backend/entities/product-link.entity.js.map +1 -0
  135. package/dist/backend/entities/product-packaging-unit.entity.d.ts +26 -0
  136. package/dist/backend/entities/product-packaging-unit.entity.d.ts.map +1 -0
  137. package/dist/backend/entities/product-packaging-unit.entity.js +76 -0
  138. package/dist/backend/entities/product-packaging-unit.entity.js.map +1 -0
  139. package/dist/backend/entities/product-value-override.entity.d.ts +43 -0
  140. package/dist/backend/entities/product-value-override.entity.d.ts.map +1 -0
  141. package/dist/backend/entities/product-value-override.entity.js +90 -0
  142. package/dist/backend/entities/product-value-override.entity.js.map +1 -0
  143. package/dist/backend/entities/product-variant.entity.d.ts +18 -0
  144. package/dist/backend/entities/product-variant.entity.d.ts.map +1 -0
  145. package/dist/backend/entities/product-variant.entity.js +68 -0
  146. package/dist/backend/entities/product-variant.entity.js.map +1 -0
  147. package/dist/backend/entities/product.entity.d.ts +108 -0
  148. package/dist/backend/entities/product.entity.d.ts.map +1 -0
  149. package/dist/backend/entities/product.entity.js +230 -0
  150. package/dist/backend/entities/product.entity.js.map +1 -0
  151. package/dist/backend/index.d.ts +262 -0
  152. package/dist/backend/index.d.ts.map +1 -0
  153. package/dist/backend/index.js +642 -0
  154. package/dist/backend/index.js.map +1 -0
  155. package/dist/backend/plugin.d.ts +216 -0
  156. package/dist/backend/plugin.d.ts.map +1 -0
  157. package/dist/backend/plugin.js +223 -0
  158. package/dist/backend/plugin.js.map +1 -0
  159. package/dist/backend/prompt-tools.d.ts +47 -0
  160. package/dist/backend/prompt-tools.d.ts.map +1 -0
  161. package/dist/backend/prompt-tools.js +284 -0
  162. package/dist/backend/prompt-tools.js.map +1 -0
  163. package/dist/backend/routes.admin.d.ts +105 -0
  164. package/dist/backend/routes.admin.d.ts.map +1 -0
  165. package/dist/backend/routes.admin.js +1162 -0
  166. package/dist/backend/routes.admin.js.map +1 -0
  167. package/dist/backend/routes.api-key.d.ts +33 -0
  168. package/dist/backend/routes.api-key.d.ts.map +1 -0
  169. package/dist/backend/routes.api-key.js +43 -0
  170. package/dist/backend/routes.api-key.js.map +1 -0
  171. package/dist/backend/routes.external.d.ts +32 -0
  172. package/dist/backend/routes.external.d.ts.map +1 -0
  173. package/dist/backend/routes.external.js +115 -0
  174. package/dist/backend/routes.external.js.map +1 -0
  175. package/dist/backend/routes.public.d.ts +46 -0
  176. package/dist/backend/routes.public.d.ts.map +1 -0
  177. package/dist/backend/routes.public.js +318 -0
  178. package/dist/backend/routes.public.js.map +1 -0
  179. package/dist/backend/services/asset-references.d.ts +4 -0
  180. package/dist/backend/services/asset-references.d.ts.map +1 -0
  181. package/dist/backend/services/asset-references.js +104 -0
  182. package/dist/backend/services/asset-references.js.map +1 -0
  183. package/dist/backend/services/attachment.service.d.ts +45 -0
  184. package/dist/backend/services/attachment.service.d.ts.map +1 -0
  185. package/dist/backend/services/attachment.service.js +268 -0
  186. package/dist/backend/services/attachment.service.js.map +1 -0
  187. package/dist/backend/services/attribute-option-validator.d.ts +47 -0
  188. package/dist/backend/services/attribute-option-validator.d.ts.map +1 -0
  189. package/dist/backend/services/attribute-option-validator.js +69 -0
  190. package/dist/backend/services/attribute-option-validator.js.map +1 -0
  191. package/dist/backend/services/attribute-set-validations.d.ts +65 -0
  192. package/dist/backend/services/attribute-set-validations.d.ts.map +1 -0
  193. package/dist/backend/services/attribute-set-validations.js +89 -0
  194. package/dist/backend/services/attribute-set-validations.js.map +1 -0
  195. package/dist/backend/services/attribute-set.service.d.ts +50 -0
  196. package/dist/backend/services/attribute-set.service.d.ts.map +1 -0
  197. package/dist/backend/services/attribute-set.service.js +401 -0
  198. package/dist/backend/services/attribute-set.service.js.map +1 -0
  199. package/dist/backend/services/attribute-type-mapping.d.ts +66 -0
  200. package/dist/backend/services/attribute-type-mapping.d.ts.map +1 -0
  201. package/dist/backend/services/attribute-type-mapping.js +121 -0
  202. package/dist/backend/services/attribute-type-mapping.js.map +1 -0
  203. package/dist/backend/services/attribute-value-key.service.d.ts +48 -0
  204. package/dist/backend/services/attribute-value-key.service.d.ts.map +1 -0
  205. package/dist/backend/services/attribute-value-key.service.js +118 -0
  206. package/dist/backend/services/attribute-value-key.service.js.map +1 -0
  207. package/dist/backend/services/audit-references.d.ts +13 -0
  208. package/dist/backend/services/audit-references.d.ts.map +1 -0
  209. package/dist/backend/services/audit-references.js +51 -0
  210. package/dist/backend/services/audit-references.js.map +1 -0
  211. package/dist/backend/services/bulk-operation-queue.d.ts +26 -0
  212. package/dist/backend/services/bulk-operation-queue.d.ts.map +1 -0
  213. package/dist/backend/services/bulk-operation-queue.js +34 -0
  214. package/dist/backend/services/bulk-operation-queue.js.map +1 -0
  215. package/dist/backend/services/bulk-operation.service.d.ts +195 -0
  216. package/dist/backend/services/bulk-operation.service.d.ts.map +1 -0
  217. package/dist/backend/services/bulk-operation.service.js +510 -0
  218. package/dist/backend/services/bulk-operation.service.js.map +1 -0
  219. package/dist/backend/services/bundle.service.d.ts +87 -0
  220. package/dist/backend/services/bundle.service.d.ts.map +1 -0
  221. package/dist/backend/services/bundle.service.js +286 -0
  222. package/dist/backend/services/bundle.service.js.map +1 -0
  223. package/dist/backend/services/catalog-admin.service.d.ts +398 -0
  224. package/dist/backend/services/catalog-admin.service.d.ts.map +1 -0
  225. package/dist/backend/services/catalog-admin.service.js +1516 -0
  226. package/dist/backend/services/catalog-admin.service.js.map +1 -0
  227. package/dist/backend/services/catalog-attribute-read.service.d.ts +78 -0
  228. package/dist/backend/services/catalog-attribute-read.service.d.ts.map +1 -0
  229. package/dist/backend/services/catalog-attribute-read.service.js +216 -0
  230. package/dist/backend/services/catalog-attribute-read.service.js.map +1 -0
  231. package/dist/backend/services/catalog-bulk-import.service.d.ts +30 -0
  232. package/dist/backend/services/catalog-bulk-import.service.d.ts.map +1 -0
  233. package/dist/backend/services/catalog-bulk-import.service.js +136 -0
  234. package/dist/backend/services/catalog-bulk-import.service.js.map +1 -0
  235. package/dist/backend/services/catalog-bulk-update.service.d.ts +91 -0
  236. package/dist/backend/services/catalog-bulk-update.service.d.ts.map +1 -0
  237. package/dist/backend/services/catalog-bulk-update.service.js +330 -0
  238. package/dist/backend/services/catalog-bulk-update.service.js.map +1 -0
  239. package/dist/backend/services/catalog-category-read.service.d.ts +66 -0
  240. package/dist/backend/services/catalog-category-read.service.d.ts.map +1 -0
  241. package/dist/backend/services/catalog-category-read.service.js +248 -0
  242. package/dist/backend/services/catalog-category-read.service.js.map +1 -0
  243. package/dist/backend/services/catalog-org-price-decorator.d.ts +90 -0
  244. package/dist/backend/services/catalog-org-price-decorator.d.ts.map +1 -0
  245. package/dist/backend/services/catalog-org-price-decorator.js +184 -0
  246. package/dist/backend/services/catalog-org-price-decorator.js.map +1 -0
  247. package/dist/backend/services/catalog-product-filter.service.d.ts +82 -0
  248. package/dist/backend/services/catalog-product-filter.service.d.ts.map +1 -0
  249. package/dist/backend/services/catalog-product-filter.service.js +275 -0
  250. package/dist/backend/services/catalog-product-filter.service.js.map +1 -0
  251. package/dist/backend/services/catalog-product-read.service.d.ts +46 -0
  252. package/dist/backend/services/catalog-product-read.service.d.ts.map +1 -0
  253. package/dist/backend/services/catalog-product-read.service.js +197 -0
  254. package/dist/backend/services/catalog-product-read.service.js.map +1 -0
  255. package/dist/backend/services/catalog-query.service.d.ts +444 -0
  256. package/dist/backend/services/catalog-query.service.d.ts.map +1 -0
  257. package/dist/backend/services/catalog-query.service.js +1633 -0
  258. package/dist/backend/services/catalog-query.service.js.map +1 -0
  259. package/dist/backend/services/catalog-quick-search.service.d.ts +78 -0
  260. package/dist/backend/services/catalog-quick-search.service.d.ts.map +1 -0
  261. package/dist/backend/services/catalog-quick-search.service.js +159 -0
  262. package/dist/backend/services/catalog-quick-search.service.js.map +1 -0
  263. package/dist/backend/services/catalog-write-ports.d.ts +25 -0
  264. package/dist/backend/services/catalog-write-ports.d.ts.map +1 -0
  265. package/dist/backend/services/catalog-write-ports.js +63 -0
  266. package/dist/backend/services/catalog-write-ports.js.map +1 -0
  267. package/dist/backend/services/category-admin.service.d.ts +102 -0
  268. package/dist/backend/services/category-admin.service.d.ts.map +1 -0
  269. package/dist/backend/services/category-admin.service.js +271 -0
  270. package/dist/backend/services/category-admin.service.js.map +1 -0
  271. package/dist/backend/services/gallery.service.d.ts +85 -0
  272. package/dist/backend/services/gallery.service.d.ts.map +1 -0
  273. package/dist/backend/services/gallery.service.js +326 -0
  274. package/dist/backend/services/gallery.service.js.map +1 -0
  275. package/dist/backend/services/grouped.service.d.ts +39 -0
  276. package/dist/backend/services/grouped.service.d.ts.map +1 -0
  277. package/dist/backend/services/grouped.service.js +136 -0
  278. package/dist/backend/services/grouped.service.js.map +1 -0
  279. package/dist/backend/services/label-resolver.d.ts +16 -0
  280. package/dist/backend/services/label-resolver.d.ts.map +1 -0
  281. package/dist/backend/services/label-resolver.js +43 -0
  282. package/dist/backend/services/label-resolver.js.map +1 -0
  283. package/dist/backend/services/packaging-unit.service.d.ts +28 -0
  284. package/dist/backend/services/packaging-unit.service.d.ts.map +1 -0
  285. package/dist/backend/services/packaging-unit.service.js +197 -0
  286. package/dist/backend/services/packaging-unit.service.js.map +1 -0
  287. package/dist/backend/services/primary-asset-url.d.ts +4 -0
  288. package/dist/backend/services/primary-asset-url.d.ts.map +1 -0
  289. package/dist/backend/services/primary-asset-url.js +55 -0
  290. package/dist/backend/services/primary-asset-url.js.map +1 -0
  291. package/dist/backend/services/product-editor-preferences.service.d.ts +20 -0
  292. package/dist/backend/services/product-editor-preferences.service.d.ts.map +1 -0
  293. package/dist/backend/services/product-editor-preferences.service.js +44 -0
  294. package/dist/backend/services/product-editor-preferences.service.js.map +1 -0
  295. package/dist/backend/services/product-link.service.d.ts +169 -0
  296. package/dist/backend/services/product-link.service.d.ts.map +1 -0
  297. package/dist/backend/services/product-link.service.js +297 -0
  298. package/dist/backend/services/product-link.service.js.map +1 -0
  299. package/dist/backend/services/product-overrides.service.d.ts +77 -0
  300. package/dist/backend/services/product-overrides.service.d.ts.map +1 -0
  301. package/dist/backend/services/product-overrides.service.js +204 -0
  302. package/dist/backend/services/product-overrides.service.js.map +1 -0
  303. package/dist/backend/services/product-scope-context.service.d.ts +36 -0
  304. package/dist/backend/services/product-scope-context.service.d.ts.map +1 -0
  305. package/dist/backend/services/product-scope-context.service.js +106 -0
  306. package/dist/backend/services/product-scope-context.service.js.map +1 -0
  307. package/dist/backend/services/product-type-validations.d.ts +42 -0
  308. package/dist/backend/services/product-type-validations.d.ts.map +1 -0
  309. package/dist/backend/services/product-type-validations.js +55 -0
  310. package/dist/backend/services/product-type-validations.js.map +1 -0
  311. package/dist/backend/services/product-value-resolver.service.d.ts +59 -0
  312. package/dist/backend/services/product-value-resolver.service.d.ts.map +1 -0
  313. package/dist/backend/services/product-value-resolver.service.js +111 -0
  314. package/dist/backend/services/product-value-resolver.service.js.map +1 -0
  315. package/dist/backend/services/system-attribute-scopes.d.ts +18 -0
  316. package/dist/backend/services/system-attribute-scopes.d.ts.map +1 -0
  317. package/dist/backend/services/system-attribute-scopes.js +18 -0
  318. package/dist/backend/services/system-attribute-scopes.js.map +1 -0
  319. package/dist/backend/services/viewer-organization.d.ts +25 -0
  320. package/dist/backend/services/viewer-organization.d.ts.map +1 -0
  321. package/dist/backend/services/viewer-organization.js +31 -0
  322. package/dist/backend/services/viewer-organization.js.map +1 -0
  323. package/dist/manifest.d.ts +204 -0
  324. package/dist/manifest.d.ts.map +1 -0
  325. package/dist/manifest.js +686 -0
  326. package/dist/manifest.js.map +1 -0
  327. package/dist/migrations/20260429T064146_catalog_attribute_sets_init.d.ts +33 -0
  328. package/dist/migrations/20260429T064146_catalog_attribute_sets_init.d.ts.map +1 -0
  329. package/dist/migrations/20260429T064146_catalog_attribute_sets_init.js +118 -0
  330. package/dist/migrations/20260429T064146_catalog_attribute_sets_init.js.map +1 -0
  331. package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.d.ts +24 -0
  332. package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.d.ts.map +1 -0
  333. package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.js +31 -0
  334. package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.js.map +1 -0
  335. package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.d.ts +32 -0
  336. package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.d.ts.map +1 -0
  337. package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.js +58 -0
  338. package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.js.map +1 -0
  339. package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.d.ts +22 -0
  340. package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.d.ts.map +1 -0
  341. package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.js +66 -0
  342. package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.js.map +1 -0
  343. package/dist/migrations/20260429T112543_catalog_product_attachments.d.ts +18 -0
  344. package/dist/migrations/20260429T112543_catalog_product_attachments.d.ts.map +1 -0
  345. package/dist/migrations/20260429T112543_catalog_product_attachments.js +73 -0
  346. package/dist/migrations/20260429T112543_catalog_product_attachments.js.map +1 -0
  347. package/dist/migrations/20260429T123726_catalog_product_links.d.ts +21 -0
  348. package/dist/migrations/20260429T123726_catalog_product_links.d.ts.map +1 -0
  349. package/dist/migrations/20260429T123726_catalog_product_links.js +48 -0
  350. package/dist/migrations/20260429T123726_catalog_product_links.js.map +1 -0
  351. package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.d.ts +23 -0
  352. package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.d.ts.map +1 -0
  353. package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.js +94 -0
  354. package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.js.map +1 -0
  355. package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.d.ts +24 -0
  356. package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.d.ts.map +1 -0
  357. package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.js +31 -0
  358. package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.js.map +1 -0
  359. package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.d.ts +31 -0
  360. package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.d.ts.map +1 -0
  361. package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.js +133 -0
  362. package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.js.map +1 -0
  363. package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.d.ts +16 -0
  364. package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.d.ts.map +1 -0
  365. package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.js +23 -0
  366. package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.js.map +1 -0
  367. package/dist/migrations/20260526T124736_catalog_product_status_inactive.d.ts +10 -0
  368. package/dist/migrations/20260526T124736_catalog_product_status_inactive.d.ts.map +1 -0
  369. package/dist/migrations/20260526T124736_catalog_product_status_inactive.js +22 -0
  370. package/dist/migrations/20260526T124736_catalog_product_status_inactive.js.map +1 -0
  371. package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.d.ts +38 -0
  372. package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.d.ts.map +1 -0
  373. package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.js +98 -0
  374. package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.js.map +1 -0
  375. package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.d.ts +13 -0
  376. package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.d.ts.map +1 -0
  377. package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.js +17 -0
  378. package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.js.map +1 -0
  379. package/dist/migrations/20260611T140407_catalog_bulk_operations.d.ts +16 -0
  380. package/dist/migrations/20260611T140407_catalog_bulk_operations.d.ts.map +1 -0
  381. package/dist/migrations/20260611T140407_catalog_bulk_operations.js +42 -0
  382. package/dist/migrations/20260611T140407_catalog_bulk_operations.js.map +1 -0
  383. package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.d.ts +14 -0
  384. package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.d.ts.map +1 -0
  385. package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.js +18 -0
  386. package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.js.map +1 -0
  387. package/dist/migrations/20260611T140412_catalog_product_packaging_units.d.ts +11 -0
  388. package/dist/migrations/20260611T140412_catalog_product_packaging_units.d.ts.map +1 -0
  389. package/dist/migrations/20260611T140412_catalog_product_packaging_units.js +29 -0
  390. package/dist/migrations/20260611T140412_catalog_product_packaging_units.js.map +1 -0
  391. package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.d.ts +23 -0
  392. package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.d.ts.map +1 -0
  393. package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.js +35 -0
  394. package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.js.map +1 -0
  395. package/dist/migrations/20260718T200343_catalog_category_custom_field_values.d.ts +12 -0
  396. package/dist/migrations/20260718T200343_catalog_category_custom_field_values.d.ts.map +1 -0
  397. package/dist/migrations/20260718T200343_catalog_category_custom_field_values.js +16 -0
  398. package/dist/migrations/20260718T200343_catalog_category_custom_field_values.js.map +1 -0
  399. package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.d.ts +32 -0
  400. package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.d.ts.map +1 -0
  401. package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.js +286 -0
  402. package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.js.map +1 -0
  403. package/dist/migrations/20260804T152604_catalog_widen_product_sku.d.ts +36 -0
  404. package/dist/migrations/20260804T152604_catalog_widen_product_sku.d.ts.map +1 -0
  405. package/dist/migrations/20260804T152604_catalog_widen_product_sku.js +63 -0
  406. package/dist/migrations/20260804T152604_catalog_widen_product_sku.js.map +1 -0
  407. package/dist/migrations/20260804T160244_catalog_category_activation.d.ts +18 -0
  408. package/dist/migrations/20260804T160244_catalog_category_activation.d.ts.map +1 -0
  409. package/dist/migrations/20260804T160244_catalog_category_activation.js +22 -0
  410. package/dist/migrations/20260804T160244_catalog_category_activation.js.map +1 -0
  411. package/dist/migrations/20260912T094557_catalog_sales_channel_products.d.ts +27 -0
  412. package/dist/migrations/20260912T094557_catalog_sales_channel_products.d.ts.map +1 -0
  413. package/dist/migrations/20260912T094557_catalog_sales_channel_products.js +44 -0
  414. package/dist/migrations/20260912T094557_catalog_sales_channel_products.js.map +1 -0
  415. package/dist/migrations/20260912T094623_catalog_sales_channel_categories.d.ts +27 -0
  416. package/dist/migrations/20260912T094623_catalog_sales_channel_categories.d.ts.map +1 -0
  417. package/dist/migrations/20260912T094623_catalog_sales_channel_categories.js +44 -0
  418. package/dist/migrations/20260912T094623_catalog_sales_channel_categories.js.map +1 -0
  419. package/dist/migrations/20260925T125527_catalog_inventory_columns.d.ts +36 -0
  420. package/dist/migrations/20260925T125527_catalog_inventory_columns.d.ts.map +1 -0
  421. package/dist/migrations/20260925T125527_catalog_inventory_columns.js +87 -0
  422. package/dist/migrations/20260925T125527_catalog_inventory_columns.js.map +1 -0
  423. package/dist/migrations/index.d.ts +55 -0
  424. package/dist/migrations/index.d.ts.map +1 -0
  425. package/dist/migrations/index.js +80 -0
  426. package/dist/migrations/index.js.map +1 -0
  427. package/dist/ports/index.d.ts +96 -0
  428. package/dist/ports/index.d.ts.map +1 -0
  429. package/dist/ports/index.js +2 -0
  430. package/dist/ports/index.js.map +1 -0
  431. package/docs/catalog/attachments.md +69 -0
  432. package/docs/catalog/attribute-sets.md +63 -0
  433. package/docs/catalog/attributes.md +244 -0
  434. package/docs/catalog/composite-products.md +115 -0
  435. package/docs/catalog/gallery-and-labels.md +73 -0
  436. package/docs/catalog/packaging-units.md +67 -0
  437. package/docs/catalog/per-channel-per-language-overrides.md +234 -0
  438. package/docs/catalog/product-links.md +79 -0
  439. package/docs/catalog.md +207 -0
  440. package/i18n/en.json +649 -0
  441. package/i18n/pl.json +649 -0
  442. package/package.json +109 -0
  443. package/tailwind.css +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-query.service.js","sourceRoot":"","sources":["../../../src/backend/services/catalog-query.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import type { EntityManager } from '@mikro-orm/postgresql';
2
+ import type { CatalogAttributeReadPort, CatalogQuickSearchHit, CatalogQuickSearchParams, CatalogQuickSearchPort } from '@endora-commerce/contracts';
3
+ /**
4
+ * The buyer-facing quick-search read model (issue #174).
5
+ *
6
+ * `quick_order` asked this question with its own knex `select` against
7
+ * `products`. Three things were wrong with that, and only the second is about
8
+ * module boundaries:
9
+ *
10
+ * 1. it read another module's table with no import specifier, so
11
+ * `check:module-boundary` could not see the edge (plan.md trap 6);
12
+ * 2. it encoded this module's `attribute_values` JSONB layout in a second
13
+ * module, so a column rename here breaks a file over there with nothing to
14
+ * warn either side;
15
+ * 3. **it filtered on `status = 'active'` and nothing else.** No channel
16
+ * membership, so a signed-in buyer shopping one channel got type-ahead
17
+ * hits for products bound only to another — Constitution XII.
18
+ *
19
+ * The channel filter below is the same `sales_channel_products` membership
20
+ * `CatalogQueryService.filterByChannel` applies to the public listing and the
21
+ * product detail, and it fails closed the same way: no membership row, no hit.
22
+ *
23
+ * ## Why `visibility` and `allowed_organization_ids` are filtered here
24
+ *
25
+ * The first pass at this port left both columns unfiltered, on the ground that
26
+ * no read path in this module enforces either and that enforcing them in one
27
+ * port would give the platform two answers to "can this buyer see this
28
+ * product". The gap is real and is still platform-wide, but it does not make
29
+ * this the surface to leave open: the endpoint requires a signed-in buyer,
30
+ * discloses SKU, slug and name for every hit, and returns an id that
31
+ * `POST /quick-order/build` accepts, so a restriction the operator set on the
32
+ * product was bypassed by typing three characters into the type-ahead.
33
+ *
34
+ * The reading is the restrictive one, spelled out on
35
+ * {@link CatalogQuickSearchPort}: the buyer's organisation on the allow-list,
36
+ * or an empty allow-list on a row that is not `organization_restricted`. The
37
+ * two rows a looser reading would disclose are a non-empty allow-list under a
38
+ * `public` visibility, and `organization_restricted` with an empty allow-list.
39
+ *
40
+ * `deleted_at is null` is applied for a plainer reason: every other
41
+ * customer-facing read in this module applies it, and the knex query not doing
42
+ * so returned soft-deleted products whose `status` was still `active`.
43
+ *
44
+ * ## The other SQL statement of the same rule, and why it looks different
45
+ *
46
+ * `isProductVisibleTo` in `@endora-commerce/contracts` is the platform's one answer, and
47
+ * this module restates it in SQL **twice** because a predicate over a record
48
+ * cannot be pushed into a query. The other restatement is
49
+ * `ANONYMOUS_AUDIENCE_CLAUSE` in `catalog-product-filter.service.ts`, and it is
50
+ * deliberately not this clause (issue #262):
51
+ *
52
+ * - **this one answers for a signed-in buyer.** `organizationId` is required
53
+ * on {@link CatalogQuickSearchParams} and has no anonymous spelling, so the
54
+ * audience is `{ organizationId, authenticated: true }` and `logged_in_only`
55
+ * is always satisfied here. That is why the `@>` containment branch exists
56
+ * at all;
57
+ * - **the filter floor answers for `ANONYMOUS_PRODUCT_AUDIENCE`**, because its
58
+ * only consumer is a product feed read by Google. With no organisation to
59
+ * contain, containment can never match, and the predicate collapses to
60
+ * `visibility = 'public'` with an empty allow-list.
61
+ *
62
+ * So the two are meant to differ, and neither may be "aligned" with the other:
63
+ * copying the two equalities here would hide from a buyer every row his own
64
+ * organisation is named on. What stops either from drifting away from the
65
+ * predicate is a parity test per site that derives its expectation from
66
+ * `isProductVisibleTo` — this one's is
67
+ * `backend/test/integration/catalog/quick-search-audience-parity.test.ts`,
68
+ * which sweeps `productVisibilitySchema.options` × five allow-list states ×
69
+ * three viewers, so a fourth visibility value or a substring reading of the
70
+ * allow-list turns it red.
71
+ */
72
+ export declare class CatalogQuickSearchService implements CatalogQuickSearchPort {
73
+ private readonly emFactory;
74
+ private readonly attributeRead;
75
+ constructor(emFactory: () => EntityManager, attributeRead: CatalogAttributeReadPort);
76
+ quickSearch(params: CatalogQuickSearchParams): Promise<CatalogQuickSearchHit[]>;
77
+ }
78
+ //# sourceMappingURL=catalog-quick-search.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-quick-search.service.d.ts","sourceRoot":"","sources":["../../../src/backend/services/catalog-quick-search.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EACV,wBAAwB,EAExB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,qBAAa,yBAA0B,YAAW,sBAAsB;IAEpE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,SAAS,EAAE,MAAM,aAAa,EAC9B,aAAa,EAAE,wBAAwB;IAGpD,WAAW,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAyEtF"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * The buyer-facing quick-search read model (issue #174).
3
+ *
4
+ * `quick_order` asked this question with its own knex `select` against
5
+ * `products`. Three things were wrong with that, and only the second is about
6
+ * module boundaries:
7
+ *
8
+ * 1. it read another module's table with no import specifier, so
9
+ * `check:module-boundary` could not see the edge (plan.md trap 6);
10
+ * 2. it encoded this module's `attribute_values` JSONB layout in a second
11
+ * module, so a column rename here breaks a file over there with nothing to
12
+ * warn either side;
13
+ * 3. **it filtered on `status = 'active'` and nothing else.** No channel
14
+ * membership, so a signed-in buyer shopping one channel got type-ahead
15
+ * hits for products bound only to another — Constitution XII.
16
+ *
17
+ * The channel filter below is the same `sales_channel_products` membership
18
+ * `CatalogQueryService.filterByChannel` applies to the public listing and the
19
+ * product detail, and it fails closed the same way: no membership row, no hit.
20
+ *
21
+ * ## Why `visibility` and `allowed_organization_ids` are filtered here
22
+ *
23
+ * The first pass at this port left both columns unfiltered, on the ground that
24
+ * no read path in this module enforces either and that enforcing them in one
25
+ * port would give the platform two answers to "can this buyer see this
26
+ * product". The gap is real and is still platform-wide, but it does not make
27
+ * this the surface to leave open: the endpoint requires a signed-in buyer,
28
+ * discloses SKU, slug and name for every hit, and returns an id that
29
+ * `POST /quick-order/build` accepts, so a restriction the operator set on the
30
+ * product was bypassed by typing three characters into the type-ahead.
31
+ *
32
+ * The reading is the restrictive one, spelled out on
33
+ * {@link CatalogQuickSearchPort}: the buyer's organisation on the allow-list,
34
+ * or an empty allow-list on a row that is not `organization_restricted`. The
35
+ * two rows a looser reading would disclose are a non-empty allow-list under a
36
+ * `public` visibility, and `organization_restricted` with an empty allow-list.
37
+ *
38
+ * `deleted_at is null` is applied for a plainer reason: every other
39
+ * customer-facing read in this module applies it, and the knex query not doing
40
+ * so returned soft-deleted products whose `status` was still `active`.
41
+ *
42
+ * ## The other SQL statement of the same rule, and why it looks different
43
+ *
44
+ * `isProductVisibleTo` in `@endora-commerce/contracts` is the platform's one answer, and
45
+ * this module restates it in SQL **twice** because a predicate over a record
46
+ * cannot be pushed into a query. The other restatement is
47
+ * `ANONYMOUS_AUDIENCE_CLAUSE` in `catalog-product-filter.service.ts`, and it is
48
+ * deliberately not this clause (issue #262):
49
+ *
50
+ * - **this one answers for a signed-in buyer.** `organizationId` is required
51
+ * on {@link CatalogQuickSearchParams} and has no anonymous spelling, so the
52
+ * audience is `{ organizationId, authenticated: true }` and `logged_in_only`
53
+ * is always satisfied here. That is why the `@>` containment branch exists
54
+ * at all;
55
+ * - **the filter floor answers for `ANONYMOUS_PRODUCT_AUDIENCE`**, because its
56
+ * only consumer is a product feed read by Google. With no organisation to
57
+ * contain, containment can never match, and the predicate collapses to
58
+ * `visibility = 'public'` with an empty allow-list.
59
+ *
60
+ * So the two are meant to differ, and neither may be "aligned" with the other:
61
+ * copying the two equalities here would hide from a buyer every row his own
62
+ * organisation is named on. What stops either from drifting away from the
63
+ * predicate is a parity test per site that derives its expectation from
64
+ * `isProductVisibleTo` — this one's is
65
+ * `backend/test/integration/catalog/quick-search-audience-parity.test.ts`,
66
+ * which sweeps `productVisibilitySchema.options` × five allow-list states ×
67
+ * three viewers, so a fourth visibility value or a substring reading of the
68
+ * allow-list turns it red.
69
+ */
70
+ export class CatalogQuickSearchService {
71
+ emFactory;
72
+ attributeRead;
73
+ constructor(emFactory, attributeRead) {
74
+ this.emFactory = emFactory;
75
+ this.attributeRead = attributeRead;
76
+ }
77
+ async quickSearch(params) {
78
+ const needle = params.q.trim();
79
+ if (needle === '' || params.limit <= 0)
80
+ return [];
81
+ // The `quickSearchable` flag is this module's, and so is the JSONB the
82
+ // values live in — which is the whole reason the predicate belongs here.
83
+ const quickKeys = (await this.attributeRead.listByFlag('quickSearchable')).map((a) => a.key);
84
+ const em = this.emFactory();
85
+ const like = `%${needle}%`;
86
+ // One statement, joined to the channel bridge, so the scope cannot be
87
+ // forgotten by a later caller and the limit is applied *after* scoping —
88
+ // narrowing a page that was already cut would silently shorten results.
89
+ const attributeClause = quickKeys
90
+ .map(() => `p.attribute_values->>? ILIKE ?`)
91
+ .join(' or ');
92
+ const attributeBindings = quickKeys.flatMap((key) => [key, like]);
93
+ const rows = await em.execute(`select p.id::text as id, p.sku, p.slug, p.name, p.status, p.attribute_values
94
+ from products p
95
+ join sales_channel_products scp on scp.product_id = p.id
96
+ where scp.sales_channel_id = ?
97
+ and p.status = 'active'
98
+ and p.deleted_at is null
99
+ and (
100
+ p.allowed_organization_ids @> ?::jsonb
101
+ or (
102
+ jsonb_array_length(p.allowed_organization_ids) = 0
103
+ and p.visibility <> 'organization_restricted'
104
+ )
105
+ )
106
+ and (
107
+ p.sku ILIKE ?
108
+ or p.slug ILIKE ?
109
+ or p.name::text ILIKE ?
110
+ ${attributeClause === '' ? '' : `or ${attributeClause}`}
111
+ )
112
+ order by p.sku asc
113
+ limit ?`, [
114
+ params.salesChannelId,
115
+ // `@>` containment over the JSONB array, so the buyer's id has to be
116
+ // one of the elements rather than a substring of the serialised bag.
117
+ JSON.stringify([params.organizationId]),
118
+ like,
119
+ like,
120
+ like,
121
+ ...attributeBindings,
122
+ params.limit,
123
+ ]);
124
+ const lowered = needle.toLowerCase();
125
+ return rows.map((row) => ({
126
+ productId: row.id,
127
+ sku: row.sku,
128
+ slug: row.slug,
129
+ name: row.name,
130
+ status: row.status,
131
+ matchedOn: matchedOnFor(row, lowered, quickKeys),
132
+ }));
133
+ }
134
+ }
135
+ /**
136
+ * Which predicate a row satisfied, recomputed in TypeScript rather than
137
+ * returned by the query.
138
+ *
139
+ * The caller used to do this over `CatalogProductRecord`, and it belongs on
140
+ * this side for the same reason the predicate does: `attribute` means "one of
141
+ * *this module's* `quickSearchable` attributes matched", and only this module
142
+ * knows which those are. `slug` deliberately reports nothing — it is a match
143
+ * surface, not a labelled one, and it was not labelled before either.
144
+ */
145
+ function matchedOnFor(row, lowered, quickKeys) {
146
+ const matched = [];
147
+ if (row.sku.toLowerCase().includes(lowered))
148
+ matched.push('sku');
149
+ if (Object.values(row.name).some((n) => String(n).toLowerCase().includes(lowered))) {
150
+ matched.push('name');
151
+ }
152
+ if (quickKeys.some((k) => String(row.attribute_values[k] ?? '')
153
+ .toLowerCase()
154
+ .includes(lowered))) {
155
+ matched.push('attribute');
156
+ }
157
+ return matched;
158
+ }
159
+ //# sourceMappingURL=catalog-quick-search.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-quick-search.service.js","sourceRoot":"","sources":["../../../src/backend/services/catalog-quick-search.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { CatalogCategoryWritePort, CatalogProductWritePort, CatalogPromoAttributePort } from '@endora-commerce/contracts';
2
+ import type { CatalogAdminService } from './catalog-admin.service.js';
3
+ import type { CatalogQueryService } from './catalog-query.service.js';
4
+ import type { CategoryAdminService } from './category-admin.service.js';
5
+ /**
6
+ * The published write surface of `catalog` (feature 075, Phase P).
7
+ *
8
+ * Each adapter here does exactly two things: it narrows a large admin service
9
+ * to the methods a consumer measurably calls, and it maps the entities those
10
+ * methods return into records. `CatalogAdminService` is 1900 lines and
11
+ * `pim_ergonode` calls ten of its methods; publishing the class would publish
12
+ * the other hundred and freeze them.
13
+ *
14
+ * The services arrive as getters rather than values so the adapter resolves
15
+ * them from the container per call — they are this module's own gated ports,
16
+ * and a singleton may not hold a gate.
17
+ */
18
+ export declare function createCatalogProductWritePort(getService: () => CatalogAdminService): CatalogProductWritePort;
19
+ export declare function createCatalogCategoryWritePort(getService: () => CategoryAdminService): CatalogCategoryWritePort;
20
+ /**
21
+ * `promotions` builds its rule editor from two questions and reaches
22
+ * `CatalogQueryService` — the 1400-line storefront query service — for them.
23
+ */
24
+ export declare function createCatalogPromoAttributePort(getService: () => CatalogQueryService): CatalogPromoAttributePort;
25
+ //# sourceMappingURL=catalog-write-ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-write-ports.d.ts","sourceRoot":"","sources":["../../../src/backend/services/catalog-write-ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOxE;;;;;;;;;;;;GAYG;AAEH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,mBAAmB,GACpC,uBAAuB,CA2BzB;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,oBAAoB,GACrC,wBAAwB,CAa1B;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,mBAAmB,GACpC,yBAAyB,CAK3B"}
@@ -0,0 +1,63 @@
1
+ import { toCatalogCategoryRecord } from './catalog-category-read.service.js';
2
+ import { toCatalogProductRecord, toCatalogProductVariantRecord, } from './catalog-product-read.service.js';
3
+ /**
4
+ * The published write surface of `catalog` (feature 075, Phase P).
5
+ *
6
+ * Each adapter here does exactly two things: it narrows a large admin service
7
+ * to the methods a consumer measurably calls, and it maps the entities those
8
+ * methods return into records. `CatalogAdminService` is 1900 lines and
9
+ * `pim_ergonode` calls ten of its methods; publishing the class would publish
10
+ * the other hundred and freeze them.
11
+ *
12
+ * The services arrive as getters rather than values so the adapter resolves
13
+ * them from the container per call — they are this module's own gated ports,
14
+ * and a singleton may not hold a gate.
15
+ */
16
+ export function createCatalogProductWritePort(getService) {
17
+ return {
18
+ async createProduct(req, auditCtx) {
19
+ return toCatalogProductRecord(await getService().createProduct(req, auditCtx));
20
+ },
21
+ async updateProduct(id, req) {
22
+ return toCatalogProductRecord(await getService().updateProductAudited(id, req));
23
+ },
24
+ listAttributes: () => getService().listAttributes(),
25
+ listAttributesByFlag: (flag) => getService().listAttributesByFlag(flag),
26
+ createAttribute: (req) => getService().createAttribute(req),
27
+ updateAttributeByIdOrKey: (idOrKey, req, auditCtx) => getService().updateAttributeByIdOrKey(idOrKey, req, auditCtx),
28
+ addAttributeOption: (attributeIdOrKey, input) => getService().addAttributeOption(attributeIdOrKey, input),
29
+ patchAttributeOption: (optionId, input) => getService().patchAttributeOption(optionId, input),
30
+ async createVariant(parentProductId, req) {
31
+ return toCatalogProductVariantRecord(await getService().createVariant(parentProductId, req));
32
+ },
33
+ async updateVariant(parentProductId, variantId, req) {
34
+ return toCatalogProductVariantRecord(await getService().updateVariant(parentProductId, variantId, req));
35
+ },
36
+ deleteVariant: (parentProductId, variantId) => getService().deleteVariant(parentProductId, variantId),
37
+ };
38
+ }
39
+ export function createCatalogCategoryWritePort(getService) {
40
+ return {
41
+ async listAll() {
42
+ return (await getService().listAll()).map(toCatalogCategoryRecord);
43
+ },
44
+ async create(input) {
45
+ return toCatalogCategoryRecord(await getService().create(input));
46
+ },
47
+ async update(id, input) {
48
+ return toCatalogCategoryRecord(await getService().update(id, input));
49
+ },
50
+ setInventoryThresholds: (id, patch) => getService().setInventoryThresholds(id, patch),
51
+ };
52
+ }
53
+ /**
54
+ * `promotions` builds its rule editor from two questions and reaches
55
+ * `CatalogQueryService` — the 1400-line storefront query service — for them.
56
+ */
57
+ export function createCatalogPromoAttributePort(getService) {
58
+ return {
59
+ promoRuleAttributeKeys: () => getService().promoRuleAttributeKeys(),
60
+ getAttributeWithOptions: (key) => getService().getAttributeWithOptions(key),
61
+ };
62
+ }
63
+ //# sourceMappingURL=catalog-write-ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-write-ports.js","sourceRoot":"","sources":["../../../src/backend/services/catalog-write-ports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import type { EntityManager } from '@mikro-orm/postgresql';
2
+ import { type CreateCategoryRequest, type CustomFieldValuePort, type UpdateCategoryInput } from '@endora-commerce/contracts';
3
+ import type { EventBase, EventBus } from '@endora-commerce/platform/events';
4
+ import type { CommandBus } from '@endora-commerce/platform/commands';
5
+ import type { SalesChannelMembershipPort } from '@endora-commerce/platform/kernel';
6
+ import { Category } from '../entities/category.entity.js';
7
+ /**
8
+ * Feature 068 — events this service publishes.
9
+ *
10
+ * `category.updated.v1` carries the changed category id. The search module
11
+ * subscribes to it and re-indexes every product in the affected subtree,
12
+ * because a category's slug and its activation state are both projected onto
13
+ * the product documents (`categorySlugs`) that back the storefront PLP.
14
+ */
15
+ export interface CategoryEvents extends Record<string, EventBase> {
16
+ 'category.updated.v1': EventBase & {
17
+ categoryId: string;
18
+ };
19
+ }
20
+ export type CategoryEventBus = EventBus<CategoryEvents>;
21
+ /**
22
+ * CategoryAdminService (T090). Backs the admin Categories tree editor.
23
+ *
24
+ * Two invariants:
25
+ * - parent must exist (or be null for a root)
26
+ * - moving a category MUST NOT create a cycle — when reparenting, walk
27
+ * up the new parent's chain and refuse if the moved id appears.
28
+ *
29
+ * Soft delete (`deletedAt`) is used so categorised products keep their
30
+ * historical reference; the public catalog filters them out.
31
+ */
32
+ /**
33
+ * The patch this service's `update` accepts.
34
+ *
35
+ * Published in `@endora-commerce/contracts` in feature 075's Phase P — the category write
36
+ * port takes it — and aliased back here so the two cannot drift.
37
+ */
38
+ export type { UpdateCategoryInput };
39
+ export declare class CategoryAdminService {
40
+ #private;
41
+ private readonly emFactory;
42
+ /**
43
+ * Feature 005 / T027b — when injected, every newly-created Category
44
+ * that does not declare explicit channel membership lands in the
45
+ * system-default Sales Channel automatically (FR-011). Optional so
46
+ * existing tests that construct this service without sales-channels
47
+ * keep compiling; production composition.ts always provides it.
48
+ */
49
+ private readonly salesChannelMembership?;
50
+ /** Feature 054 — audits category writes co-transactionally when provided. */
51
+ private readonly commandBus?;
52
+ /** Feature 055 — validates + merges custom-field values on category write. */
53
+ private readonly customFieldValues?;
54
+ /**
55
+ * Feature 068 — publishes `category.updated.v1`. Only consulted on the
56
+ * bus-less fallback path: when a Command Bus is injected it dispatches the
57
+ * command's event itself, on commit.
58
+ */
59
+ private readonly events?;
60
+ constructor(emFactory: () => EntityManager,
61
+ /**
62
+ * Feature 005 / T027b — when injected, every newly-created Category
63
+ * that does not declare explicit channel membership lands in the
64
+ * system-default Sales Channel automatically (FR-011). Optional so
65
+ * existing tests that construct this service without sales-channels
66
+ * keep compiling; production composition.ts always provides it.
67
+ */
68
+ salesChannelMembership?: SalesChannelMembershipPort | undefined,
69
+ /** Feature 054 — audits category writes co-transactionally when provided. */
70
+ commandBus?: CommandBus | undefined,
71
+ /** Feature 055 — validates + merges custom-field values on category write. */
72
+ customFieldValues?: CustomFieldValuePort | undefined,
73
+ /**
74
+ * Feature 068 — publishes `category.updated.v1`. Only consulted on the
75
+ * bus-less fallback path: when a Command Bus is injected it dispatches the
76
+ * command's event itself, on commit.
77
+ */
78
+ events?: CategoryEventBus | undefined);
79
+ listAll(): Promise<Category[]>;
80
+ create(input: CreateCategoryRequest): Promise<Category>;
81
+ update(id: string, input: UpdateCategoryInput): Promise<Category>;
82
+ softDelete(id: string): Promise<void>;
83
+ /**
84
+ * Set the inventory display-band thresholds on a category (feature 075,
85
+ * Phase C — published as `catalogCategoryWritePort.setInventoryThresholds`).
86
+ *
87
+ * `inventory` owns the meaning of these three columns and stored them here
88
+ * because the storefront resolver reads them alongside the category row. It
89
+ * wrote them by importing `Category`; this is the same write, on this side of
90
+ * the boundary, and deliberately the same write and no more: no Command, no
91
+ * `category.updated.v1`, no `category.update` audit row. The caller records
92
+ * one `low_stock_threshold.update` summary row for the whole patch, and
93
+ * routing this through {@link update} would give an operator reading a
94
+ * category's history a second, differently-named entry for the same act.
95
+ */
96
+ setInventoryThresholds(id: string, patch: {
97
+ high?: number | null;
98
+ medium?: number | null;
99
+ low?: number | null;
100
+ }): Promise<void>;
101
+ }
102
+ //# sourceMappingURL=category-admin.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-admin.service.d.ts","sourceRoot":"","sources":["../../../src/backend/services/category-admin.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,oCAAoC,CAAC;AACnF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAe1D;;;;;;;GAOG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;IAC/D,qBAAqB,EAAE,SAAS,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAexD;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,qBAAa,oBAAoB;;IAE7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACxC,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAlBP,SAAS,EAAE,MAAM,aAAa;IAC/C;;;;;;OAMG;IACc,sBAAsB,CAAC,EAAE,0BAA0B,YAAA;IACpE,6EAA6E;IAC5D,UAAU,CAAC,EAAE,UAAU,YAAA;IACxC,8EAA8E;IAC7D,iBAAiB,CAAC,EAAE,oBAAoB,YAAA;IACzD;;;;OAIG;IACc,MAAM,CAAC,EAAE,gBAAgB,YAAA;IAyEtC,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAS9B,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+CvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwDjE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3C;;;;;;;;;;;;OAYG;IACG,sBAAsB,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAC3E,OAAO,CAAC,IAAI,CAAC;CAqCjB"}