@unifiedcommerce/core 0.4.2 → 0.4.4

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 (563) hide show
  1. package/dist/interfaces/rest/index.d.ts.map +1 -1
  2. package/dist/interfaces/rest/index.js +4 -17
  3. package/dist/runtime/server.d.ts.map +1 -1
  4. package/dist/runtime/server.js +33 -0
  5. package/package.json +1 -1
  6. package/src/interfaces/rest/index.ts +4 -18
  7. package/src/runtime/server.ts +33 -0
  8. package/dist/adapters/console-email.d.ts +0 -23
  9. package/dist/adapters/console-email.d.ts.map +0 -1
  10. package/dist/adapters/console-email.js +0 -38
  11. package/dist/auth/access.d.ts +0 -101
  12. package/dist/auth/access.d.ts.map +0 -1
  13. package/dist/auth/access.js +0 -128
  14. package/dist/auth/auth-schema.d.ts +0 -1475
  15. package/dist/auth/auth-schema.d.ts.map +0 -1
  16. package/dist/auth/auth-schema.js +0 -124
  17. package/dist/auth/middleware.d.ts +0 -5
  18. package/dist/auth/middleware.d.ts.map +0 -1
  19. package/dist/auth/middleware.js +0 -141
  20. package/dist/auth/org.d.ts +0 -22
  21. package/dist/auth/org.d.ts.map +0 -1
  22. package/dist/auth/org.js +0 -36
  23. package/dist/auth/permissions.d.ts +0 -4
  24. package/dist/auth/permissions.d.ts.map +0 -1
  25. package/dist/auth/permissions.js +0 -24
  26. package/dist/auth/setup.d.ts +0 -29
  27. package/dist/auth/setup.d.ts.map +0 -1
  28. package/dist/auth/setup.js +0 -117
  29. package/dist/auth/system-actor.d.ts +0 -7
  30. package/dist/auth/system-actor.d.ts.map +0 -1
  31. package/dist/auth/system-actor.js +0 -17
  32. package/dist/auth/types.d.ts +0 -11
  33. package/dist/auth/types.d.ts.map +0 -1
  34. package/dist/auth/types.js +0 -1
  35. package/dist/config/defaults.d.ts +0 -3
  36. package/dist/config/defaults.d.ts.map +0 -1
  37. package/dist/config/defaults.js +0 -80
  38. package/dist/config/define-config.d.ts +0 -9
  39. package/dist/config/define-config.d.ts.map +0 -1
  40. package/dist/config/define-config.js +0 -44
  41. package/dist/config/types.d.ts +0 -327
  42. package/dist/config/types.d.ts.map +0 -1
  43. package/dist/config/types.js +0 -1
  44. package/dist/generated/plugin-manifest.d.ts +0 -48
  45. package/dist/generated/plugin-manifest.d.ts.map +0 -1
  46. package/dist/generated/plugin-manifest.js +0 -20
  47. package/dist/hooks/checkout-completion.d.ts +0 -58
  48. package/dist/hooks/checkout-completion.d.ts.map +0 -1
  49. package/dist/hooks/checkout-completion.js +0 -137
  50. package/dist/hooks/checkout.d.ts +0 -99
  51. package/dist/hooks/checkout.d.ts.map +0 -1
  52. package/dist/hooks/checkout.js +0 -317
  53. package/dist/hooks/order-emails.d.ts +0 -16
  54. package/dist/hooks/order-emails.d.ts.map +0 -1
  55. package/dist/hooks/order-emails.js +0 -44
  56. package/dist/index.d.ts +0 -77
  57. package/dist/index.d.ts.map +0 -1
  58. package/dist/index.js +0 -45
  59. package/dist/interfaces/mcp/agent-prompt.d.ts +0 -16
  60. package/dist/interfaces/mcp/agent-prompt.d.ts.map +0 -1
  61. package/dist/interfaces/mcp/agent-prompt.js +0 -172
  62. package/dist/interfaces/mcp/context-enrichment.d.ts +0 -39
  63. package/dist/interfaces/mcp/context-enrichment.d.ts.map +0 -1
  64. package/dist/interfaces/mcp/context-enrichment.js +0 -119
  65. package/dist/interfaces/mcp/server.d.ts +0 -5
  66. package/dist/interfaces/mcp/server.d.ts.map +0 -1
  67. package/dist/interfaces/mcp/server.js +0 -30
  68. package/dist/interfaces/mcp/tool-builder.d.ts +0 -120
  69. package/dist/interfaces/mcp/tool-builder.d.ts.map +0 -1
  70. package/dist/interfaces/mcp/tool-builder.js +0 -224
  71. package/dist/interfaces/mcp/tools/analytics.d.ts +0 -42
  72. package/dist/interfaces/mcp/tools/analytics.d.ts.map +0 -1
  73. package/dist/interfaces/mcp/tools/analytics.js +0 -70
  74. package/dist/interfaces/mcp/tools/cart.d.ts +0 -14
  75. package/dist/interfaces/mcp/tools/cart.d.ts.map +0 -1
  76. package/dist/interfaces/mcp/tools/cart.js +0 -47
  77. package/dist/interfaces/mcp/tools/catalog.d.ts +0 -53
  78. package/dist/interfaces/mcp/tools/catalog.d.ts.map +0 -1
  79. package/dist/interfaces/mcp/tools/catalog.js +0 -284
  80. package/dist/interfaces/mcp/tools/index.d.ts +0 -3
  81. package/dist/interfaces/mcp/tools/index.d.ts.map +0 -1
  82. package/dist/interfaces/mcp/tools/index.js +0 -20
  83. package/dist/interfaces/mcp/tools/inventory.d.ts +0 -27
  84. package/dist/interfaces/mcp/tools/inventory.d.ts.map +0 -1
  85. package/dist/interfaces/mcp/tools/inventory.js +0 -143
  86. package/dist/interfaces/mcp/tools/orders.d.ts +0 -18
  87. package/dist/interfaces/mcp/tools/orders.d.ts.map +0 -1
  88. package/dist/interfaces/mcp/tools/orders.js +0 -82
  89. package/dist/interfaces/mcp/tools/pricing.d.ts +0 -29
  90. package/dist/interfaces/mcp/tools/pricing.d.ts.map +0 -1
  91. package/dist/interfaces/mcp/tools/pricing.js +0 -90
  92. package/dist/interfaces/mcp/tools/promotions.d.ts +0 -44
  93. package/dist/interfaces/mcp/tools/promotions.d.ts.map +0 -1
  94. package/dist/interfaces/mcp/tools/promotions.js +0 -109
  95. package/dist/interfaces/mcp/tools/registry.d.ts +0 -32
  96. package/dist/interfaces/mcp/tools/registry.d.ts.map +0 -1
  97. package/dist/interfaces/mcp/tools/registry.js +0 -55
  98. package/dist/interfaces/mcp/tools/search.d.ts +0 -14
  99. package/dist/interfaces/mcp/tools/search.d.ts.map +0 -1
  100. package/dist/interfaces/mcp/tools/search.js +0 -39
  101. package/dist/interfaces/mcp/tools/webhooks.d.ts +0 -15
  102. package/dist/interfaces/mcp/tools/webhooks.d.ts.map +0 -1
  103. package/dist/interfaces/mcp/tools/webhooks.js +0 -48
  104. package/dist/interfaces/mcp/transport.d.ts +0 -20
  105. package/dist/interfaces/mcp/transport.d.ts.map +0 -1
  106. package/dist/interfaces/mcp/transport.js +0 -99
  107. package/dist/interfaces/rest/customer-portal.d.ts +0 -5
  108. package/dist/interfaces/rest/customer-portal.d.ts.map +0 -1
  109. package/dist/interfaces/rest/customer-portal.js +0 -206
  110. package/dist/interfaces/rest/router.d.ts +0 -164
  111. package/dist/interfaces/rest/router.d.ts.map +0 -1
  112. package/dist/interfaces/rest/router.js +0 -259
  113. package/dist/interfaces/rest/routes/admin-jobs.d.ts +0 -5
  114. package/dist/interfaces/rest/routes/admin-jobs.d.ts.map +0 -1
  115. package/dist/interfaces/rest/routes/admin-jobs.js +0 -48
  116. package/dist/interfaces/rest/routes/audit.d.ts +0 -5
  117. package/dist/interfaces/rest/routes/audit.d.ts.map +0 -1
  118. package/dist/interfaces/rest/routes/audit.js +0 -43
  119. package/dist/interfaces/rest/routes/carts.d.ts +0 -5
  120. package/dist/interfaces/rest/routes/carts.d.ts.map +0 -1
  121. package/dist/interfaces/rest/routes/carts.js +0 -55
  122. package/dist/interfaces/rest/routes/catalog.d.ts +0 -5
  123. package/dist/interfaces/rest/routes/catalog.d.ts.map +0 -1
  124. package/dist/interfaces/rest/routes/catalog.js +0 -256
  125. package/dist/interfaces/rest/routes/checkout.d.ts +0 -5
  126. package/dist/interfaces/rest/routes/checkout.d.ts.map +0 -1
  127. package/dist/interfaces/rest/routes/checkout.js +0 -216
  128. package/dist/interfaces/rest/routes/customers.d.ts +0 -5
  129. package/dist/interfaces/rest/routes/customers.d.ts.map +0 -1
  130. package/dist/interfaces/rest/routes/customers.js +0 -74
  131. package/dist/interfaces/rest/routes/entity-aliases.d.ts +0 -18
  132. package/dist/interfaces/rest/routes/entity-aliases.d.ts.map +0 -1
  133. package/dist/interfaces/rest/routes/entity-aliases.js +0 -39
  134. package/dist/interfaces/rest/routes/inventory.d.ts +0 -5
  135. package/dist/interfaces/rest/routes/inventory.d.ts.map +0 -1
  136. package/dist/interfaces/rest/routes/inventory.js +0 -72
  137. package/dist/interfaces/rest/routes/media.d.ts +0 -5
  138. package/dist/interfaces/rest/routes/media.d.ts.map +0 -1
  139. package/dist/interfaces/rest/routes/media.js +0 -65
  140. package/dist/interfaces/rest/routes/orders.d.ts +0 -5
  141. package/dist/interfaces/rest/routes/orders.d.ts.map +0 -1
  142. package/dist/interfaces/rest/routes/orders.js +0 -64
  143. package/dist/interfaces/rest/routes/payments.d.ts +0 -5
  144. package/dist/interfaces/rest/routes/payments.d.ts.map +0 -1
  145. package/dist/interfaces/rest/routes/payments.js +0 -45
  146. package/dist/interfaces/rest/routes/pricing.d.ts +0 -5
  147. package/dist/interfaces/rest/routes/pricing.d.ts.map +0 -1
  148. package/dist/interfaces/rest/routes/pricing.js +0 -48
  149. package/dist/interfaces/rest/routes/promotions.d.ts +0 -5
  150. package/dist/interfaces/rest/routes/promotions.d.ts.map +0 -1
  151. package/dist/interfaces/rest/routes/promotions.js +0 -76
  152. package/dist/interfaces/rest/routes/search.d.ts +0 -5
  153. package/dist/interfaces/rest/routes/search.d.ts.map +0 -1
  154. package/dist/interfaces/rest/routes/search.js +0 -60
  155. package/dist/interfaces/rest/routes/webhooks.d.ts +0 -5
  156. package/dist/interfaces/rest/routes/webhooks.d.ts.map +0 -1
  157. package/dist/interfaces/rest/routes/webhooks.js +0 -39
  158. package/dist/interfaces/rest/schemas/admin-jobs.d.ts +0 -327
  159. package/dist/interfaces/rest/schemas/admin-jobs.d.ts.map +0 -1
  160. package/dist/interfaces/rest/schemas/admin-jobs.js +0 -37
  161. package/dist/interfaces/rest/schemas/audit.d.ts +0 -59
  162. package/dist/interfaces/rest/schemas/audit.d.ts.map +0 -1
  163. package/dist/interfaces/rest/schemas/audit.js +0 -43
  164. package/dist/interfaces/rest/schemas/carts.d.ts +0 -1456
  165. package/dist/interfaces/rest/schemas/carts.d.ts.map +0 -1
  166. package/dist/interfaces/rest/schemas/carts.js +0 -109
  167. package/dist/interfaces/rest/schemas/catalog.d.ts +0 -5452
  168. package/dist/interfaces/rest/schemas/catalog.d.ts.map +0 -1
  169. package/dist/interfaces/rest/schemas/catalog.js +0 -397
  170. package/dist/interfaces/rest/schemas/checkout.d.ts +0 -160
  171. package/dist/interfaces/rest/schemas/checkout.d.ts.map +0 -1
  172. package/dist/interfaces/rest/schemas/checkout.js +0 -60
  173. package/dist/interfaces/rest/schemas/customer-portal.d.ts +0 -2203
  174. package/dist/interfaces/rest/schemas/customer-portal.d.ts.map +0 -1
  175. package/dist/interfaces/rest/schemas/customer-portal.js +0 -177
  176. package/dist/interfaces/rest/schemas/customers.d.ts +0 -422
  177. package/dist/interfaces/rest/schemas/customers.d.ts.map +0 -1
  178. package/dist/interfaces/rest/schemas/customers.js +0 -150
  179. package/dist/interfaces/rest/schemas/inventory.d.ts +0 -561
  180. package/dist/interfaces/rest/schemas/inventory.d.ts.map +0 -1
  181. package/dist/interfaces/rest/schemas/inventory.js +0 -148
  182. package/dist/interfaces/rest/schemas/media.d.ts +0 -303
  183. package/dist/interfaces/rest/schemas/media.d.ts.map +0 -1
  184. package/dist/interfaces/rest/schemas/media.js +0 -69
  185. package/dist/interfaces/rest/schemas/orders.d.ts +0 -1792
  186. package/dist/interfaces/rest/schemas/orders.d.ts.map +0 -1
  187. package/dist/interfaces/rest/schemas/orders.js +0 -93
  188. package/dist/interfaces/rest/schemas/pricing.d.ts +0 -256
  189. package/dist/interfaces/rest/schemas/pricing.d.ts.map +0 -1
  190. package/dist/interfaces/rest/schemas/pricing.js +0 -72
  191. package/dist/interfaces/rest/schemas/promotions.d.ts +0 -363
  192. package/dist/interfaces/rest/schemas/promotions.d.ts.map +0 -1
  193. package/dist/interfaces/rest/schemas/promotions.js +0 -98
  194. package/dist/interfaces/rest/schemas/responses.d.ts +0 -4086
  195. package/dist/interfaces/rest/schemas/responses.d.ts.map +0 -1
  196. package/dist/interfaces/rest/schemas/responses.js +0 -74
  197. package/dist/interfaces/rest/schemas/search.d.ts +0 -247
  198. package/dist/interfaces/rest/schemas/search.d.ts.map +0 -1
  199. package/dist/interfaces/rest/schemas/search.js +0 -55
  200. package/dist/interfaces/rest/schemas/shared.d.ts +0 -95
  201. package/dist/interfaces/rest/schemas/shared.d.ts.map +0 -1
  202. package/dist/interfaces/rest/schemas/shared.js +0 -51
  203. package/dist/interfaces/rest/schemas/webhooks.d.ts +0 -221
  204. package/dist/interfaces/rest/schemas/webhooks.d.ts.map +0 -1
  205. package/dist/interfaces/rest/schemas/webhooks.js +0 -62
  206. package/dist/interfaces/rest/utils.d.ts +0 -45
  207. package/dist/interfaces/rest/utils.d.ts.map +0 -1
  208. package/dist/interfaces/rest/utils.js +0 -71
  209. package/dist/interfaces/rest/webhook-router.d.ts +0 -41
  210. package/dist/interfaces/rest/webhook-router.d.ts.map +0 -1
  211. package/dist/interfaces/rest/webhook-router.js +0 -36
  212. package/dist/kernel/compensation/executor.d.ts +0 -21
  213. package/dist/kernel/compensation/executor.d.ts.map +0 -1
  214. package/dist/kernel/compensation/executor.js +0 -36
  215. package/dist/kernel/compensation/types.d.ts +0 -25
  216. package/dist/kernel/compensation/types.d.ts.map +0 -1
  217. package/dist/kernel/compensation/types.js +0 -1
  218. package/dist/kernel/database/adapter.d.ts +0 -18
  219. package/dist/kernel/database/adapter.d.ts.map +0 -1
  220. package/dist/kernel/database/adapter.js +0 -3
  221. package/dist/kernel/database/drizzle-db.d.ts +0 -49
  222. package/dist/kernel/database/drizzle-db.d.ts.map +0 -1
  223. package/dist/kernel/database/drizzle-db.js +0 -20
  224. package/dist/kernel/database/migrate.d.ts +0 -38
  225. package/dist/kernel/database/migrate.d.ts.map +0 -1
  226. package/dist/kernel/database/migrate.js +0 -61
  227. package/dist/kernel/database/plugin-types.d.ts +0 -32
  228. package/dist/kernel/database/plugin-types.d.ts.map +0 -1
  229. package/dist/kernel/database/plugin-types.js +0 -10
  230. package/dist/kernel/database/schema.d.ts +0 -24
  231. package/dist/kernel/database/schema.d.ts.map +0 -1
  232. package/dist/kernel/database/schema.js +0 -36
  233. package/dist/kernel/database/scoped-db.d.ts +0 -20
  234. package/dist/kernel/database/scoped-db.d.ts.map +0 -1
  235. package/dist/kernel/database/scoped-db.js +0 -62
  236. package/dist/kernel/database/tx-context.d.ts +0 -15
  237. package/dist/kernel/database/tx-context.d.ts.map +0 -1
  238. package/dist/kernel/database/tx-context.js +0 -19
  239. package/dist/kernel/error-mapper.d.ts +0 -3
  240. package/dist/kernel/error-mapper.d.ts.map +0 -1
  241. package/dist/kernel/error-mapper.js +0 -12
  242. package/dist/kernel/errors.d.ts +0 -38
  243. package/dist/kernel/errors.d.ts.map +0 -1
  244. package/dist/kernel/errors.js +0 -69
  245. package/dist/kernel/factory/repository-factory.d.ts +0 -71
  246. package/dist/kernel/factory/repository-factory.d.ts.map +0 -1
  247. package/dist/kernel/factory/repository-factory.js +0 -138
  248. package/dist/kernel/hooks/create-context.d.ts +0 -25
  249. package/dist/kernel/hooks/create-context.d.ts.map +0 -1
  250. package/dist/kernel/hooks/create-context.js +0 -22
  251. package/dist/kernel/hooks/executor.d.ts +0 -12
  252. package/dist/kernel/hooks/executor.d.ts.map +0 -1
  253. package/dist/kernel/hooks/executor.js +0 -50
  254. package/dist/kernel/hooks/registry.d.ts +0 -28
  255. package/dist/kernel/hooks/registry.d.ts.map +0 -1
  256. package/dist/kernel/hooks/registry.js +0 -58
  257. package/dist/kernel/hooks/types.d.ts +0 -37
  258. package/dist/kernel/hooks/types.d.ts.map +0 -1
  259. package/dist/kernel/hooks/types.js +0 -1
  260. package/dist/kernel/http-error.d.ts +0 -30
  261. package/dist/kernel/http-error.d.ts.map +0 -1
  262. package/dist/kernel/http-error.js +0 -35
  263. package/dist/kernel/jobs/adapter.d.ts +0 -25
  264. package/dist/kernel/jobs/adapter.d.ts.map +0 -1
  265. package/dist/kernel/jobs/adapter.js +0 -9
  266. package/dist/kernel/jobs/drizzle-adapter.d.ts +0 -15
  267. package/dist/kernel/jobs/drizzle-adapter.d.ts.map +0 -1
  268. package/dist/kernel/jobs/drizzle-adapter.js +0 -42
  269. package/dist/kernel/jobs/runner.d.ts +0 -24
  270. package/dist/kernel/jobs/runner.d.ts.map +0 -1
  271. package/dist/kernel/jobs/runner.js +0 -114
  272. package/dist/kernel/jobs/schema.d.ts +0 -280
  273. package/dist/kernel/jobs/schema.d.ts.map +0 -1
  274. package/dist/kernel/jobs/schema.js +0 -37
  275. package/dist/kernel/jobs/types.d.ts +0 -30
  276. package/dist/kernel/jobs/types.d.ts.map +0 -1
  277. package/dist/kernel/jobs/types.js +0 -1
  278. package/dist/kernel/local-api.d.ts +0 -103
  279. package/dist/kernel/local-api.d.ts.map +0 -1
  280. package/dist/kernel/local-api.js +0 -89
  281. package/dist/kernel/plugin/manifest.d.ts +0 -90
  282. package/dist/kernel/plugin/manifest.d.ts.map +0 -1
  283. package/dist/kernel/plugin/manifest.js +0 -169
  284. package/dist/kernel/query/executor.d.ts +0 -21
  285. package/dist/kernel/query/executor.d.ts.map +0 -1
  286. package/dist/kernel/query/executor.js +0 -128
  287. package/dist/kernel/query/registry.d.ts +0 -33
  288. package/dist/kernel/query/registry.d.ts.map +0 -1
  289. package/dist/kernel/query/registry.js +0 -20
  290. package/dist/kernel/result.d.ts +0 -36
  291. package/dist/kernel/result.d.ts.map +0 -1
  292. package/dist/kernel/result.js +0 -16
  293. package/dist/kernel/schema/extra-columns.d.ts +0 -23
  294. package/dist/kernel/schema/extra-columns.d.ts.map +0 -1
  295. package/dist/kernel/schema/extra-columns.js +0 -10
  296. package/dist/kernel/service-registry.d.ts +0 -109
  297. package/dist/kernel/service-registry.d.ts.map +0 -1
  298. package/dist/kernel/service-registry.js +0 -26
  299. package/dist/kernel/service-timing.d.ts +0 -25
  300. package/dist/kernel/service-timing.d.ts.map +0 -1
  301. package/dist/kernel/service-timing.js +0 -62
  302. package/dist/kernel/state-machine/machine.d.ts +0 -24
  303. package/dist/kernel/state-machine/machine.d.ts.map +0 -1
  304. package/dist/kernel/state-machine/machine.js +0 -70
  305. package/dist/modules/analytics/drizzle-adapter.d.ts +0 -13
  306. package/dist/modules/analytics/drizzle-adapter.d.ts.map +0 -1
  307. package/dist/modules/analytics/drizzle-adapter.js +0 -358
  308. package/dist/modules/analytics/hooks.d.ts +0 -13
  309. package/dist/modules/analytics/hooks.d.ts.map +0 -1
  310. package/dist/modules/analytics/hooks.js +0 -12
  311. package/dist/modules/analytics/models.d.ts +0 -14
  312. package/dist/modules/analytics/models.d.ts.map +0 -1
  313. package/dist/modules/analytics/models.js +0 -118
  314. package/dist/modules/analytics/repository/index.d.ts +0 -5
  315. package/dist/modules/analytics/repository/index.d.ts.map +0 -1
  316. package/dist/modules/analytics/repository/index.js +0 -1
  317. package/dist/modules/analytics/service.d.ts +0 -45
  318. package/dist/modules/analytics/service.d.ts.map +0 -1
  319. package/dist/modules/analytics/service.js +0 -196
  320. package/dist/modules/analytics/types.d.ts +0 -119
  321. package/dist/modules/analytics/types.d.ts.map +0 -1
  322. package/dist/modules/analytics/types.js +0 -25
  323. package/dist/modules/audit/hooks.d.ts +0 -7
  324. package/dist/modules/audit/hooks.d.ts.map +0 -1
  325. package/dist/modules/audit/hooks.js +0 -67
  326. package/dist/modules/audit/schema.d.ts +0 -178
  327. package/dist/modules/audit/schema.d.ts.map +0 -1
  328. package/dist/modules/audit/schema.js +0 -21
  329. package/dist/modules/audit/service.d.ts +0 -38
  330. package/dist/modules/audit/service.d.ts.map +0 -1
  331. package/dist/modules/audit/service.js +0 -109
  332. package/dist/modules/cart/access.d.ts +0 -11
  333. package/dist/modules/cart/access.d.ts.map +0 -1
  334. package/dist/modules/cart/access.js +0 -18
  335. package/dist/modules/cart/matcher.d.ts +0 -20
  336. package/dist/modules/cart/matcher.d.ts.map +0 -1
  337. package/dist/modules/cart/matcher.js +0 -2
  338. package/dist/modules/cart/repository/index.d.ts +0 -45
  339. package/dist/modules/cart/repository/index.d.ts.map +0 -1
  340. package/dist/modules/cart/repository/index.js +0 -158
  341. package/dist/modules/cart/schema.d.ts +0 -359
  342. package/dist/modules/cart/schema.d.ts.map +0 -1
  343. package/dist/modules/cart/schema.js +0 -40
  344. package/dist/modules/cart/schemas.d.ts +0 -29
  345. package/dist/modules/cart/schemas.d.ts.map +0 -1
  346. package/dist/modules/cart/schemas.js +0 -14
  347. package/dist/modules/cart/service.d.ts +0 -63
  348. package/dist/modules/cart/service.d.ts.map +0 -1
  349. package/dist/modules/cart/service.js +0 -339
  350. package/dist/modules/catalog/repository/index.d.ts +0 -106
  351. package/dist/modules/catalog/repository/index.d.ts.map +0 -1
  352. package/dist/modules/catalog/repository/index.js +0 -455
  353. package/dist/modules/catalog/schema.d.ts +0 -1193
  354. package/dist/modules/catalog/schema.d.ts.map +0 -1
  355. package/dist/modules/catalog/schema.js +0 -149
  356. package/dist/modules/catalog/schemas.d.ts +0 -81
  357. package/dist/modules/catalog/schemas.d.ts.map +0 -1
  358. package/dist/modules/catalog/schemas.js +0 -62
  359. package/dist/modules/catalog/service.d.ts +0 -160
  360. package/dist/modules/catalog/service.d.ts.map +0 -1
  361. package/dist/modules/catalog/service.js +0 -759
  362. package/dist/modules/customers/repository/index.d.ts +0 -47
  363. package/dist/modules/customers/repository/index.d.ts.map +0 -1
  364. package/dist/modules/customers/repository/index.js +0 -206
  365. package/dist/modules/customers/schema.d.ts +0 -560
  366. package/dist/modules/customers/schema.d.ts.map +0 -1
  367. package/dist/modules/customers/schema.js +0 -60
  368. package/dist/modules/customers/service.d.ts +0 -27
  369. package/dist/modules/customers/service.d.ts.map +0 -1
  370. package/dist/modules/customers/service.js +0 -106
  371. package/dist/modules/fulfillment/repository/index.d.ts +0 -63
  372. package/dist/modules/fulfillment/repository/index.d.ts.map +0 -1
  373. package/dist/modules/fulfillment/repository/index.js +0 -268
  374. package/dist/modules/fulfillment/schema.d.ts +0 -655
  375. package/dist/modules/fulfillment/schema.d.ts.map +0 -1
  376. package/dist/modules/fulfillment/schema.js +0 -83
  377. package/dist/modules/fulfillment/service.d.ts +0 -58
  378. package/dist/modules/fulfillment/service.d.ts.map +0 -1
  379. package/dist/modules/fulfillment/service.js +0 -338
  380. package/dist/modules/fulfillment/types.d.ts +0 -44
  381. package/dist/modules/fulfillment/types.d.ts.map +0 -1
  382. package/dist/modules/fulfillment/types.js +0 -1
  383. package/dist/modules/inventory/repository/index.d.ts +0 -81
  384. package/dist/modules/inventory/repository/index.d.ts.map +0 -1
  385. package/dist/modules/inventory/repository/index.js +0 -310
  386. package/dist/modules/inventory/schema.d.ts +0 -570
  387. package/dist/modules/inventory/schema.d.ts.map +0 -1
  388. package/dist/modules/inventory/schema.js +0 -69
  389. package/dist/modules/inventory/schemas.d.ts +0 -31
  390. package/dist/modules/inventory/schemas.d.ts.map +0 -1
  391. package/dist/modules/inventory/schemas.js +0 -28
  392. package/dist/modules/inventory/service.d.ts +0 -69
  393. package/dist/modules/inventory/service.d.ts.map +0 -1
  394. package/dist/modules/inventory/service.js +0 -283
  395. package/dist/modules/media/adapter.d.ts +0 -16
  396. package/dist/modules/media/adapter.d.ts.map +0 -1
  397. package/dist/modules/media/adapter.js +0 -1
  398. package/dist/modules/media/repository/index.d.ts +0 -35
  399. package/dist/modules/media/repository/index.d.ts.map +0 -1
  400. package/dist/modules/media/repository/index.js +0 -176
  401. package/dist/modules/media/schema.d.ts +0 -289
  402. package/dist/modules/media/schema.d.ts.map +0 -1
  403. package/dist/modules/media/schema.js +0 -35
  404. package/dist/modules/media/service.d.ts +0 -42
  405. package/dist/modules/media/service.d.ts.map +0 -1
  406. package/dist/modules/media/service.js +0 -89
  407. package/dist/modules/orders/repository/index.d.ts +0 -48
  408. package/dist/modules/orders/repository/index.d.ts.map +0 -1
  409. package/dist/modules/orders/repository/index.js +0 -199
  410. package/dist/modules/orders/schema.d.ts +0 -672
  411. package/dist/modules/orders/schema.d.ts.map +0 -1
  412. package/dist/modules/orders/schema.js +0 -63
  413. package/dist/modules/orders/service.d.ts +0 -85
  414. package/dist/modules/orders/service.d.ts.map +0 -1
  415. package/dist/modules/orders/service.js +0 -313
  416. package/dist/modules/orders/stale-order-cleanup.d.ts +0 -27
  417. package/dist/modules/orders/stale-order-cleanup.d.ts.map +0 -1
  418. package/dist/modules/orders/stale-order-cleanup.js +0 -55
  419. package/dist/modules/organization/service.d.ts +0 -53
  420. package/dist/modules/organization/service.d.ts.map +0 -1
  421. package/dist/modules/organization/service.js +0 -151
  422. package/dist/modules/payments/adapter.d.ts +0 -42
  423. package/dist/modules/payments/adapter.d.ts.map +0 -1
  424. package/dist/modules/payments/adapter.js +0 -1
  425. package/dist/modules/payments/repository/index.d.ts +0 -5
  426. package/dist/modules/payments/repository/index.d.ts.map +0 -1
  427. package/dist/modules/payments/repository/index.js +0 -1
  428. package/dist/modules/payments/service.d.ts +0 -23
  429. package/dist/modules/payments/service.d.ts.map +0 -1
  430. package/dist/modules/payments/service.js +0 -72
  431. package/dist/modules/pricing/repository/index.d.ts +0 -34
  432. package/dist/modules/pricing/repository/index.d.ts.map +0 -1
  433. package/dist/modules/pricing/repository/index.js +0 -176
  434. package/dist/modules/pricing/schema.d.ts +0 -565
  435. package/dist/modules/pricing/schema.d.ts.map +0 -1
  436. package/dist/modules/pricing/schema.js +0 -57
  437. package/dist/modules/pricing/schemas.d.ts +0 -37
  438. package/dist/modules/pricing/schemas.d.ts.map +0 -1
  439. package/dist/modules/pricing/schemas.js +0 -30
  440. package/dist/modules/pricing/service.d.ts +0 -62
  441. package/dist/modules/pricing/service.d.ts.map +0 -1
  442. package/dist/modules/pricing/service.js +0 -308
  443. package/dist/modules/promotions/repository/index.d.ts +0 -41
  444. package/dist/modules/promotions/repository/index.d.ts.map +0 -1
  445. package/dist/modules/promotions/repository/index.js +0 -204
  446. package/dist/modules/promotions/schema.d.ts +0 -427
  447. package/dist/modules/promotions/schema.d.ts.map +0 -1
  448. package/dist/modules/promotions/schema.js +0 -52
  449. package/dist/modules/promotions/schemas.d.ts +0 -33
  450. package/dist/modules/promotions/schemas.d.ts.map +0 -1
  451. package/dist/modules/promotions/schemas.js +0 -32
  452. package/dist/modules/promotions/service.d.ts +0 -80
  453. package/dist/modules/promotions/service.d.ts.map +0 -1
  454. package/dist/modules/promotions/service.js +0 -347
  455. package/dist/modules/search/adapter.d.ts +0 -51
  456. package/dist/modules/search/adapter.d.ts.map +0 -1
  457. package/dist/modules/search/adapter.js +0 -1
  458. package/dist/modules/search/hooks.d.ts +0 -8
  459. package/dist/modules/search/hooks.d.ts.map +0 -1
  460. package/dist/modules/search/hooks.js +0 -6
  461. package/dist/modules/search/repository/index.d.ts +0 -5
  462. package/dist/modules/search/repository/index.d.ts.map +0 -1
  463. package/dist/modules/search/repository/index.js +0 -1
  464. package/dist/modules/search/service.d.ts +0 -24
  465. package/dist/modules/search/service.d.ts.map +0 -1
  466. package/dist/modules/search/service.js +0 -217
  467. package/dist/modules/shipping/calculator.d.ts +0 -42
  468. package/dist/modules/shipping/calculator.d.ts.map +0 -1
  469. package/dist/modules/shipping/calculator.js +0 -91
  470. package/dist/modules/shipping/repository/index.d.ts +0 -5
  471. package/dist/modules/shipping/repository/index.d.ts.map +0 -1
  472. package/dist/modules/shipping/repository/index.js +0 -1
  473. package/dist/modules/shipping/service.d.ts +0 -28
  474. package/dist/modules/shipping/service.d.ts.map +0 -1
  475. package/dist/modules/shipping/service.js +0 -20
  476. package/dist/modules/tax/adapter.d.ts +0 -58
  477. package/dist/modules/tax/adapter.d.ts.map +0 -1
  478. package/dist/modules/tax/adapter.js +0 -1
  479. package/dist/modules/tax/repository/index.d.ts +0 -5
  480. package/dist/modules/tax/repository/index.d.ts.map +0 -1
  481. package/dist/modules/tax/repository/index.js +0 -1
  482. package/dist/modules/tax/service.d.ts +0 -19
  483. package/dist/modules/tax/service.d.ts.map +0 -1
  484. package/dist/modules/tax/service.js +0 -34
  485. package/dist/modules/webhooks/hook.d.ts +0 -13
  486. package/dist/modules/webhooks/hook.d.ts.map +0 -1
  487. package/dist/modules/webhooks/hook.js +0 -29
  488. package/dist/modules/webhooks/repository/index.d.ts +0 -40
  489. package/dist/modules/webhooks/repository/index.d.ts.map +0 -1
  490. package/dist/modules/webhooks/repository/index.js +0 -175
  491. package/dist/modules/webhooks/schema.d.ts +0 -404
  492. package/dist/modules/webhooks/schema.d.ts.map +0 -1
  493. package/dist/modules/webhooks/schema.js +0 -40
  494. package/dist/modules/webhooks/service.d.ts +0 -23
  495. package/dist/modules/webhooks/service.d.ts.map +0 -1
  496. package/dist/modules/webhooks/service.js +0 -92
  497. package/dist/modules/webhooks/signing.d.ts +0 -2
  498. package/dist/modules/webhooks/signing.d.ts.map +0 -1
  499. package/dist/modules/webhooks/signing.js +0 -5
  500. package/dist/modules/webhooks/ssrf-guard.d.ts +0 -19
  501. package/dist/modules/webhooks/ssrf-guard.d.ts.map +0 -1
  502. package/dist/modules/webhooks/ssrf-guard.js +0 -79
  503. package/dist/modules/webhooks/tasks.d.ts +0 -16
  504. package/dist/modules/webhooks/tasks.d.ts.map +0 -1
  505. package/dist/modules/webhooks/tasks.js +0 -35
  506. package/dist/modules/webhooks/worker.d.ts +0 -21
  507. package/dist/modules/webhooks/worker.d.ts.map +0 -1
  508. package/dist/modules/webhooks/worker.js +0 -113
  509. package/dist/runtime/commerce.d.ts +0 -110
  510. package/dist/runtime/commerce.d.ts.map +0 -1
  511. package/dist/runtime/commerce.js +0 -37
  512. package/dist/runtime/kernel.d.ts +0 -71
  513. package/dist/runtime/kernel.d.ts.map +0 -1
  514. package/dist/runtime/kernel.js +0 -306
  515. package/dist/runtime/logger.d.ts +0 -11
  516. package/dist/runtime/logger.d.ts.map +0 -1
  517. package/dist/runtime/logger.js +0 -32
  518. package/dist/runtime/shutdown.d.ts +0 -15
  519. package/dist/runtime/shutdown.d.ts.map +0 -1
  520. package/dist/runtime/shutdown.js +0 -34
  521. package/dist/test-utils/create-pglite-adapter.d.ts +0 -32
  522. package/dist/test-utils/create-pglite-adapter.d.ts.map +0 -1
  523. package/dist/test-utils/create-pglite-adapter.js +0 -107
  524. package/dist/test-utils/create-plugin-test-app.d.ts +0 -50
  525. package/dist/test-utils/create-plugin-test-app.d.ts.map +0 -1
  526. package/dist/test-utils/create-plugin-test-app.js +0 -74
  527. package/dist/test-utils/create-repository-test-harness.d.ts +0 -8
  528. package/dist/test-utils/create-repository-test-harness.d.ts.map +0 -1
  529. package/dist/test-utils/create-repository-test-harness.js +0 -7
  530. package/dist/test-utils/create-test-config.d.ts +0 -18
  531. package/dist/test-utils/create-test-config.d.ts.map +0 -1
  532. package/dist/test-utils/create-test-config.js +0 -172
  533. package/dist/test-utils/create-test-kernel.d.ts +0 -3
  534. package/dist/test-utils/create-test-kernel.d.ts.map +0 -1
  535. package/dist/test-utils/create-test-kernel.js +0 -5
  536. package/dist/test-utils/create-test-plugin-context.d.ts +0 -42
  537. package/dist/test-utils/create-test-plugin-context.d.ts.map +0 -1
  538. package/dist/test-utils/create-test-plugin-context.js +0 -46
  539. package/dist/test-utils/rest-api-test-utils.d.ts +0 -64
  540. package/dist/test-utils/rest-api-test-utils.d.ts.map +0 -1
  541. package/dist/test-utils/rest-api-test-utils.js +0 -207
  542. package/dist/test-utils/test-actors.d.ts +0 -15
  543. package/dist/test-utils/test-actors.d.ts.map +0 -1
  544. package/dist/test-utils/test-actors.js +0 -57
  545. package/dist/test-utils/typed-hooks.d.ts +0 -43
  546. package/dist/test-utils/typed-hooks.d.ts.map +0 -1
  547. package/dist/test-utils/typed-hooks.js +0 -35
  548. package/dist/testing.d.ts +0 -14
  549. package/dist/testing.d.ts.map +0 -1
  550. package/dist/testing.js +0 -13
  551. package/dist/tsconfig.tsbuildinfo +0 -1
  552. package/dist/types/commerce-types.d.ts +0 -34
  553. package/dist/types/commerce-types.d.ts.map +0 -1
  554. package/dist/types/commerce-types.js +0 -1
  555. package/dist/utils/id.d.ts +0 -2
  556. package/dist/utils/id.d.ts.map +0 -1
  557. package/dist/utils/id.js +0 -3
  558. package/dist/utils/logger.d.ts +0 -3
  559. package/dist/utils/logger.d.ts.map +0 -1
  560. package/dist/utils/logger.js +0 -16
  561. package/dist/utils/pagination.d.ts +0 -11
  562. package/dist/utils/pagination.d.ts.map +0 -1
  563. package/dist/utils/pagination.js +0 -15
@@ -1,455 +0,0 @@
1
- import { eq, and, inArray } from "drizzle-orm";
2
- import { sellableEntities, sellableAttributes, sellableCustomFields, categories, entityCategories, brands, entityBrands, optionTypes, optionValues, variants, variantOptionValues, } from "../schema.js";
3
- /**
4
- * CatalogRepository provides type-safe database operations for catalog entities.
5
- *
6
- * This repository uses Drizzle ORM with PostgresJsDatabase for full type inference.
7
- * Transaction context is passed through TxContext when needed for transactional writes.
8
- *
9
- * All methods support an optional TxContext parameter for transaction participation.
10
- * When ctx is provided, operations run within that transaction; otherwise they use the main db.
11
- */
12
- export class CatalogRepository {
13
- db;
14
- constructor(db) {
15
- this.db = db;
16
- }
17
- /**
18
- * Returns the appropriate database context - either a transaction or the main db.
19
- * Both DrizzleDatabase and DrizzleTx have the same query builder interface.
20
- */
21
- getDb(ctx) {
22
- return ctx?.tx ?? this.db;
23
- }
24
- // ─────────────────────────────────────────────────────────────────────────────
25
- // Sellable Entities
26
- // ─────────────────────────────────────────────────────────────────────────────
27
- async findEntityById(id, ctx) {
28
- const db = this.getDb(ctx);
29
- const rows = await db
30
- .select()
31
- .from(sellableEntities)
32
- .where(eq(sellableEntities.id, id));
33
- return rows[0];
34
- }
35
- async findEntityBySlug(orgId, slug, ctx) {
36
- const db = this.getDb(ctx);
37
- const rows = await db
38
- .select()
39
- .from(sellableEntities)
40
- .where(and(eq(sellableEntities.organizationId, orgId), eq(sellableEntities.slug, slug)));
41
- return rows[0];
42
- }
43
- async findEntities(orgId, filter, ctx) {
44
- const db = this.getDb(ctx);
45
- const conditions = [eq(sellableEntities.organizationId, orgId)];
46
- if (filter?.type) {
47
- conditions.push(eq(sellableEntities.type, filter.type));
48
- }
49
- if (filter?.status) {
50
- conditions.push(eq(sellableEntities.status, filter.status));
51
- }
52
- if (filter?.ids && filter.ids.length > 0) {
53
- conditions.push(inArray(sellableEntities.id, filter.ids));
54
- }
55
- return db
56
- .select()
57
- .from(sellableEntities)
58
- .where(conditions.length === 1 ? conditions[0] : and(...conditions));
59
- }
60
- async createEntity(data, ctx) {
61
- const db = this.getDb(ctx);
62
- const rows = await db.insert(sellableEntities).values(data).returning();
63
- return rows[0];
64
- }
65
- async updateEntity(id, data, ctx) {
66
- const db = this.getDb(ctx);
67
- const rows = await db
68
- .update(sellableEntities)
69
- .set({ ...data, updatedAt: new Date() })
70
- .where(eq(sellableEntities.id, id))
71
- .returning();
72
- return rows[0];
73
- }
74
- async deleteEntity(id, ctx) {
75
- const db = this.getDb(ctx);
76
- const result = await db
77
- .delete(sellableEntities)
78
- .where(eq(sellableEntities.id, id))
79
- .returning();
80
- return result.length > 0;
81
- }
82
- // ─────────────────────────────────────────────────────────────────────────────
83
- // Sellable Attributes
84
- // ─────────────────────────────────────────────────────────────────────────────
85
- async findAttributesByEntityId(entityId, ctx) {
86
- const db = this.getDb(ctx);
87
- return db
88
- .select()
89
- .from(sellableAttributes)
90
- .where(eq(sellableAttributes.entityId, entityId));
91
- }
92
- async findAttributeByLocale(entityId, locale, ctx) {
93
- const db = this.getDb(ctx);
94
- const rows = await db
95
- .select()
96
- .from(sellableAttributes)
97
- .where(and(eq(sellableAttributes.entityId, entityId), eq(sellableAttributes.locale, locale)));
98
- return rows[0];
99
- }
100
- async createAttribute(data, ctx) {
101
- const db = this.getDb(ctx);
102
- const rows = await db.insert(sellableAttributes).values(data).returning();
103
- return rows[0];
104
- }
105
- async updateAttribute(id, data, ctx) {
106
- const db = this.getDb(ctx);
107
- const rows = await db
108
- .update(sellableAttributes)
109
- .set(data)
110
- .where(eq(sellableAttributes.id, id))
111
- .returning();
112
- return rows[0];
113
- }
114
- async upsertAttribute(entityId, locale, data, ctx) {
115
- const existing = await this.findAttributeByLocale(entityId, locale, ctx);
116
- if (existing) {
117
- const updated = await this.updateAttribute(existing.id, data, ctx);
118
- return updated;
119
- }
120
- return this.createAttribute({ ...data, entityId, locale }, ctx);
121
- }
122
- async deleteAttributesByEntityId(entityId, ctx) {
123
- const db = this.getDb(ctx);
124
- await db
125
- .delete(sellableAttributes)
126
- .where(eq(sellableAttributes.entityId, entityId));
127
- }
128
- // ─────────────────────────────────────────────────────────────────────────────
129
- // Custom Fields
130
- // ─────────────────────────────────────────────────────────────────────────────
131
- async findCustomFieldsByEntityId(entityId, ctx) {
132
- const db = this.getDb(ctx);
133
- return db
134
- .select()
135
- .from(sellableCustomFields)
136
- .where(eq(sellableCustomFields.entityId, entityId));
137
- }
138
- async createCustomField(data, ctx) {
139
- const db = this.getDb(ctx);
140
- const rows = await db.insert(sellableCustomFields).values(data).returning();
141
- return rows[0];
142
- }
143
- async deleteCustomFieldsByEntityId(entityId, ctx) {
144
- const db = this.getDb(ctx);
145
- await db
146
- .delete(sellableCustomFields)
147
- .where(eq(sellableCustomFields.entityId, entityId));
148
- }
149
- // ─────────────────────────────────────────────────────────────────────────────
150
- // Categories
151
- // ─────────────────────────────────────────────────────────────────────────────
152
- async findCategoryById(id, ctx) {
153
- const db = this.getDb(ctx);
154
- const rows = await db
155
- .select()
156
- .from(categories)
157
- .where(eq(categories.id, id));
158
- return rows[0];
159
- }
160
- async findCategoryBySlug(orgId, slug, ctx) {
161
- const db = this.getDb(ctx);
162
- const rows = await db
163
- .select()
164
- .from(categories)
165
- .where(and(eq(categories.organizationId, orgId), eq(categories.slug, slug)));
166
- return rows[0];
167
- }
168
- async findAllCategories(orgId, ctx) {
169
- const db = this.getDb(ctx);
170
- return db
171
- .select()
172
- .from(categories)
173
- .where(eq(categories.organizationId, orgId));
174
- }
175
- async createCategory(data, ctx) {
176
- const db = this.getDb(ctx);
177
- const rows = await db.insert(categories).values(data).returning();
178
- return rows[0];
179
- }
180
- async updateCategory(id, data, ctx) {
181
- const db = this.getDb(ctx);
182
- const rows = await db
183
- .update(categories)
184
- .set(data)
185
- .where(eq(categories.id, id))
186
- .returning();
187
- return rows[0];
188
- }
189
- async deleteCategory(id, ctx) {
190
- const db = this.getDb(ctx);
191
- const result = await db
192
- .delete(categories)
193
- .where(eq(categories.id, id))
194
- .returning();
195
- return result.length > 0;
196
- }
197
- // ─────────────────────────────────────────────────────────────────────────────
198
- // Entity Categories (Join Table)
199
- // ─────────────────────────────────────────────────────────────────────────────
200
- async findEntityCategories(entityId, ctx) {
201
- const db = this.getDb(ctx);
202
- return db
203
- .select()
204
- .from(entityCategories)
205
- .where(eq(entityCategories.entityId, entityId));
206
- }
207
- async findEntitiesByCategory(categoryId, ctx) {
208
- const db = this.getDb(ctx);
209
- const rows = await db
210
- .select()
211
- .from(entityCategories)
212
- .where(eq(entityCategories.categoryId, categoryId));
213
- return rows.map((r) => r.entityId);
214
- }
215
- async addEntityToCategory(entityId, categoryId, sortOrder = 0, ctx) {
216
- const db = this.getDb(ctx);
217
- await db
218
- .insert(entityCategories)
219
- .values({ entityId, categoryId, sortOrder })
220
- .onConflictDoNothing();
221
- }
222
- async removeEntityFromCategory(entityId, categoryId, ctx) {
223
- const db = this.getDb(ctx);
224
- const result = await db
225
- .delete(entityCategories)
226
- .where(and(eq(entityCategories.entityId, entityId), eq(entityCategories.categoryId, categoryId)))
227
- .returning();
228
- return result.length > 0;
229
- }
230
- async deleteEntityCategoriesByEntityId(entityId, ctx) {
231
- const db = this.getDb(ctx);
232
- await db
233
- .delete(entityCategories)
234
- .where(eq(entityCategories.entityId, entityId));
235
- }
236
- async deleteEntityCategoriesByCategoryId(categoryId, ctx) {
237
- const db = this.getDb(ctx);
238
- await db
239
- .delete(entityCategories)
240
- .where(eq(entityCategories.categoryId, categoryId));
241
- }
242
- // ─────────────────────────────────────────────────────────────────────────────
243
- // Brands
244
- // ─────────────────────────────────────────────────────────────────────────────
245
- async findBrandById(id, ctx) {
246
- const db = this.getDb(ctx);
247
- const rows = await db.select().from(brands).where(eq(brands.id, id));
248
- return rows[0];
249
- }
250
- async findBrandBySlug(orgId, slug, ctx) {
251
- const db = this.getDb(ctx);
252
- const rows = await db
253
- .select()
254
- .from(brands)
255
- .where(and(eq(brands.organizationId, orgId), eq(brands.slug, slug)));
256
- return rows[0];
257
- }
258
- async findAllBrands(orgId, ctx) {
259
- const db = this.getDb(ctx);
260
- return db
261
- .select()
262
- .from(brands)
263
- .where(eq(brands.organizationId, orgId));
264
- }
265
- async createBrand(data, ctx) {
266
- const db = this.getDb(ctx);
267
- const rows = await db.insert(brands).values(data).returning();
268
- return rows[0];
269
- }
270
- async updateBrand(id, data, ctx) {
271
- const db = this.getDb(ctx);
272
- const rows = await db
273
- .update(brands)
274
- .set(data)
275
- .where(eq(brands.id, id))
276
- .returning();
277
- return rows[0];
278
- }
279
- async deleteBrand(id, ctx) {
280
- const db = this.getDb(ctx);
281
- const result = await db.delete(brands).where(eq(brands.id, id)).returning();
282
- return result.length > 0;
283
- }
284
- // ─────────────────────────────────────────────────────────────────────────────
285
- // Entity Brands (Join Table)
286
- // ─────────────────────────────────────────────────────────────────────────────
287
- async findEntityBrands(entityId, ctx) {
288
- const db = this.getDb(ctx);
289
- return db
290
- .select()
291
- .from(entityBrands)
292
- .where(eq(entityBrands.entityId, entityId));
293
- }
294
- async addEntityToBrand(entityId, brandId, sortOrder = 0, ctx) {
295
- const db = this.getDb(ctx);
296
- await db
297
- .insert(entityBrands)
298
- .values({ entityId, brandId, sortOrder })
299
- .onConflictDoNothing();
300
- }
301
- async removeEntityFromBrand(entityId, brandId, ctx) {
302
- const db = this.getDb(ctx);
303
- const result = await db
304
- .delete(entityBrands)
305
- .where(and(eq(entityBrands.entityId, entityId), eq(entityBrands.brandId, brandId)))
306
- .returning();
307
- return result.length > 0;
308
- }
309
- async deleteEntityBrandsByEntityId(entityId, ctx) {
310
- const db = this.getDb(ctx);
311
- await db.delete(entityBrands).where(eq(entityBrands.entityId, entityId));
312
- }
313
- async deleteEntityBrandsByBrandId(brandId, ctx) {
314
- const db = this.getDb(ctx);
315
- await db.delete(entityBrands).where(eq(entityBrands.brandId, brandId));
316
- }
317
- // ─────────────────────────────────────────────────────────────────────────────
318
- // Option Types
319
- // ─────────────────────────────────────────────────────────────────────────────
320
- async findOptionTypesByEntityId(entityId, ctx) {
321
- const db = this.getDb(ctx);
322
- return db
323
- .select()
324
- .from(optionTypes)
325
- .where(eq(optionTypes.entityId, entityId));
326
- }
327
- async findOptionTypeById(id, ctx) {
328
- const db = this.getDb(ctx);
329
- const rows = await db
330
- .select()
331
- .from(optionTypes)
332
- .where(eq(optionTypes.id, id));
333
- return rows[0];
334
- }
335
- async createOptionType(data, ctx) {
336
- const db = this.getDb(ctx);
337
- const rows = await db.insert(optionTypes).values(data).returning();
338
- return rows[0];
339
- }
340
- async deleteOptionTypesByEntityId(entityId, ctx) {
341
- const db = this.getDb(ctx);
342
- await db.delete(optionTypes).where(eq(optionTypes.entityId, entityId));
343
- }
344
- // ─────────────────────────────────────────────────────────────────────────────
345
- // Option Values
346
- // ─────────────────────────────────────────────────────────────────────────────
347
- async findOptionValuesByTypeId(optionTypeId, ctx) {
348
- const db = this.getDb(ctx);
349
- return db
350
- .select()
351
- .from(optionValues)
352
- .where(eq(optionValues.optionTypeId, optionTypeId));
353
- }
354
- async findOptionValueById(id, ctx) {
355
- const db = this.getDb(ctx);
356
- const rows = await db
357
- .select()
358
- .from(optionValues)
359
- .where(eq(optionValues.id, id));
360
- return rows[0];
361
- }
362
- async findOptionValuesByIds(ids, ctx) {
363
- if (ids.length === 0)
364
- return [];
365
- const db = this.getDb(ctx);
366
- return db.select().from(optionValues).where(inArray(optionValues.id, ids));
367
- }
368
- async createOptionValue(data, ctx) {
369
- const db = this.getDb(ctx);
370
- const rows = await db.insert(optionValues).values(data).returning();
371
- return rows[0];
372
- }
373
- async deleteOptionValuesByTypeId(optionTypeId, ctx) {
374
- const db = this.getDb(ctx);
375
- await db
376
- .delete(optionValues)
377
- .where(eq(optionValues.optionTypeId, optionTypeId));
378
- }
379
- // ─────────────────────────────────────────────────────────────────────────────
380
- // Variants
381
- // ─────────────────────────────────────────────────────────────────────────────
382
- async findVariantsByEntityId(entityId, ctx) {
383
- const db = this.getDb(ctx);
384
- return db.select().from(variants).where(eq(variants.entityId, entityId));
385
- }
386
- async findVariantById(id, ctx) {
387
- const db = this.getDb(ctx);
388
- const rows = await db.select().from(variants).where(eq(variants.id, id));
389
- return rows[0];
390
- }
391
- async findVariantBySku(sku, ctx) {
392
- const db = this.getDb(ctx);
393
- const rows = await db.select().from(variants).where(eq(variants.sku, sku));
394
- return rows[0];
395
- }
396
- async findVariantByBarcode(barcode, ctx) {
397
- const db = this.getDb(ctx);
398
- const rows = await db
399
- .select()
400
- .from(variants)
401
- .where(eq(variants.barcode, barcode));
402
- return rows[0];
403
- }
404
- async createVariant(data, ctx) {
405
- const db = this.getDb(ctx);
406
- const rows = await db.insert(variants).values(data).returning();
407
- return rows[0];
408
- }
409
- async updateVariant(id, data, ctx) {
410
- const db = this.getDb(ctx);
411
- const rows = await db
412
- .update(variants)
413
- .set(data)
414
- .where(eq(variants.id, id))
415
- .returning();
416
- return rows[0];
417
- }
418
- async deleteVariantsByEntityId(entityId, ctx) {
419
- const db = this.getDb(ctx);
420
- await db.delete(variants).where(eq(variants.entityId, entityId));
421
- }
422
- // ─────────────────────────────────────────────────────────────────────────────
423
- // Variant Option Values (Join Table)
424
- // ─────────────────────────────────────────────────────────────────────────────
425
- async findVariantOptionValues(variantId, ctx) {
426
- const db = this.getDb(ctx);
427
- return db
428
- .select()
429
- .from(variantOptionValues)
430
- .where(eq(variantOptionValues.variantId, variantId));
431
- }
432
- async createVariantOptionValues(data, ctx) {
433
- if (data.length === 0)
434
- return;
435
- const db = this.getDb(ctx);
436
- await db.insert(variantOptionValues).values(data).onConflictDoNothing();
437
- }
438
- async deleteVariantOptionValuesByVariantId(variantId, ctx) {
439
- const db = this.getDb(ctx);
440
- await db
441
- .delete(variantOptionValues)
442
- .where(eq(variantOptionValues.variantId, variantId));
443
- }
444
- async deleteVariantOptionValuesByEntityId(entityId, ctx) {
445
- const db = this.getDb(ctx);
446
- // Get all variant IDs for this entity first
447
- const entityVariants = await this.findVariantsByEntityId(entityId, ctx);
448
- const variantIds = entityVariants.map((v) => v.id);
449
- if (variantIds.length > 0) {
450
- await db
451
- .delete(variantOptionValues)
452
- .where(inArray(variantOptionValues.variantId, variantIds));
453
- }
454
- }
455
- }