@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,106 +0,0 @@
1
- import { resolveOrgId } from "../../auth/org.js";
2
- import { CommerceNotFoundError } from "../../kernel/errors.js";
3
- import { Err, Ok } from "../../kernel/result.js";
4
- export class CustomerService {
5
- deps;
6
- repo;
7
- constructor(deps) {
8
- this.deps = deps;
9
- this.repo = deps.repository;
10
- }
11
- async getOrCreateByUserId(orgId, userId, ctx) {
12
- const existing = await this.repo.findByUserId(orgId, userId, ctx);
13
- if (existing) {
14
- return existing;
15
- }
16
- const customer = await this.repo.create({
17
- organizationId: orgId,
18
- userId,
19
- metadata: {},
20
- }, ctx);
21
- return customer;
22
- }
23
- async list(actor, ctx) {
24
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
25
- const customers = await this.repo.findAll(orgId, ctx);
26
- return Ok(customers);
27
- }
28
- async getById(id, actor, ctx) {
29
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
30
- const customer = await this.repo.findById(orgId, id, ctx);
31
- if (!customer)
32
- return Err(new CommerceNotFoundError("Customer not found."));
33
- return Ok(customer);
34
- }
35
- async getByUserId(userId, actor, ctx) {
36
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
37
- const customer = await this.getOrCreateByUserId(orgId, userId, ctx);
38
- return Ok(customer);
39
- }
40
- async update(id, updates, actor, ctx) {
41
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
42
- const existing = await this.repo.findById(orgId, id, ctx);
43
- if (!existing)
44
- return Err(new CommerceNotFoundError("Customer not found."));
45
- const updated = await this.repo.update(id, updates, ctx);
46
- if (!updated)
47
- return Err(new CommerceNotFoundError("Customer not found."));
48
- return Ok(updated);
49
- }
50
- async updateByUserId(userId, updates, actor, ctx) {
51
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
52
- const customer = await this.getOrCreateByUserId(orgId, userId, ctx);
53
- const updated = await this.repo.update(customer.id, updates, ctx);
54
- if (!updated) {
55
- return Err(new CommerceNotFoundError("Customer not found."));
56
- }
57
- return Ok(updated);
58
- }
59
- async getAddresses(userId, actor, ctx) {
60
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
61
- const customer = await this.getOrCreateByUserId(orgId, userId, ctx);
62
- const addresses = await this.repo.findAddressesByCustomerId(customer.id, ctx);
63
- return Ok(addresses);
64
- }
65
- async addAddress(userId, input, actor, ctx) {
66
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
67
- const customer = await this.getOrCreateByUserId(orgId, userId, ctx);
68
- // If new address is default, unset other defaults of same type
69
- if (input.isDefault) {
70
- const addresses = await this.repo.findAddressesByCustomerId(customer.id, ctx);
71
- for (const addr of addresses) {
72
- if (addr.type === input.type && addr.isDefault) {
73
- await this.repo.updateAddress(addr.id, { isDefault: false }, ctx);
74
- }
75
- }
76
- }
77
- const address = await this.repo.createAddress({
78
- ...input,
79
- customerId: customer.id,
80
- }, ctx);
81
- return Ok(address);
82
- }
83
- async deleteAddress(userId, addressId, actor, ctx) {
84
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
85
- const customer = await this.getOrCreateByUserId(orgId, userId, ctx);
86
- const addresses = await this.repo.findAddressesByCustomerId(customer.id, ctx);
87
- const addressExists = addresses.some((addr) => addr.id === addressId);
88
- if (!addressExists) {
89
- return Err(new CommerceNotFoundError("Address not found."));
90
- }
91
- await this.repo.deleteAddress(addressId, ctx);
92
- return Ok(undefined);
93
- }
94
- async findPOSOperatorByPin(hashedPin, actor, ctx) {
95
- const orgId = resolveOrgId(actor ?? ctx?.actor ?? null);
96
- const user = await this.repo.findByPosPin(orgId, hashedPin, ctx);
97
- if (!user)
98
- return null;
99
- return {
100
- id: user.userId,
101
- name: [user.firstName, user.lastName].filter(Boolean).join(" ") ||
102
- user.email ||
103
- "POS Operator",
104
- };
105
- }
106
- }
@@ -1,63 +0,0 @@
1
- import type { TxContext } from "../../../kernel/database/tx-context.js";
2
- import type { DrizzleDatabase } from "../../../kernel/database/drizzle-db.js";
3
- import { fulfillmentRecords, fulfillmentLineItems, fulfillmentEvents } from "../schema.js";
4
- export type FulfillmentRecord = typeof fulfillmentRecords.$inferSelect;
5
- export type FulfillmentRecordInsert = typeof fulfillmentRecords.$inferInsert;
6
- export type FulfillmentLineItem = typeof fulfillmentLineItems.$inferSelect;
7
- export type FulfillmentLineItemInsert = typeof fulfillmentLineItems.$inferInsert;
8
- export type FulfillmentEvent = typeof fulfillmentEvents.$inferSelect;
9
- export type FulfillmentEventInsert = typeof fulfillmentEvents.$inferInsert;
10
- /**
11
- * FulfillmentRepository provides type-safe database operations for fulfillments.
12
- *
13
- * This repository manages fulfillment records, line item associations, and events.
14
- * Supports physical shipments, digital deliveries, and access grants.
15
- * All methods support an optional TxContext parameter for transaction participation.
16
- */
17
- export declare class FulfillmentRepository {
18
- private readonly db;
19
- constructor(db: DrizzleDatabase);
20
- private getDb;
21
- findById(id: string, ctx?: TxContext): Promise<FulfillmentRecord | undefined>;
22
- findByOrderId(orderId: string, ctx?: TxContext): Promise<FulfillmentRecord[]>;
23
- findByCustomerId(customerId: string, ctx?: TxContext): Promise<FulfillmentRecord[]>;
24
- findByStatus(status: string, ctx?: TxContext): Promise<FulfillmentRecord[]>;
25
- findByType(type: string, ctx?: TxContext): Promise<FulfillmentRecord[]>;
26
- findByOrderIdAndStatus(orderId: string, status: string, ctx?: TxContext): Promise<FulfillmentRecord[]>;
27
- findActiveAccessGrants(customerId: string, ctx?: TxContext): Promise<FulfillmentRecord[]>;
28
- findAll(options?: {
29
- limit?: number;
30
- offset?: number;
31
- }, ctx?: TxContext): Promise<FulfillmentRecord[]>;
32
- create(data: FulfillmentRecordInsert, ctx?: TxContext): Promise<FulfillmentRecord>;
33
- update(id: string, data: Partial<Omit<FulfillmentRecordInsert, "id">>, ctx?: TxContext): Promise<FulfillmentRecord | undefined>;
34
- updateStatus(id: string, status: string, ctx?: TxContext): Promise<FulfillmentRecord | undefined>;
35
- delete(id: string, ctx?: TxContext): Promise<boolean>;
36
- incrementDownloadCount(id: string, ctx?: TxContext): Promise<FulfillmentRecord | undefined>;
37
- isDownloadAllowed(id: string, ctx?: TxContext): Promise<boolean>;
38
- deactivateAccessGrant(id: string, ctx?: TxContext): Promise<FulfillmentRecord | undefined>;
39
- activateAccessGrant(id: string, ctx?: TxContext): Promise<FulfillmentRecord | undefined>;
40
- isAccessGrantActive(id: string, ctx?: TxContext): Promise<boolean>;
41
- findLineItemsByFulfillmentId(fulfillmentId: string, ctx?: TxContext): Promise<FulfillmentLineItem[]>;
42
- findLineItemsByOrderLineItemId(orderLineItemId: string, ctx?: TxContext): Promise<FulfillmentLineItem[]>;
43
- createLineItem(data: FulfillmentLineItemInsert, ctx?: TxContext): Promise<FulfillmentLineItem>;
44
- createLineItems(data: FulfillmentLineItemInsert[], ctx?: TxContext): Promise<FulfillmentLineItem[]>;
45
- deleteLineItemsByFulfillmentId(fulfillmentId: string, ctx?: TxContext): Promise<void>;
46
- findEventsByFulfillmentId(fulfillmentId: string, ctx?: TxContext): Promise<FulfillmentEvent[]>;
47
- createEvent(data: FulfillmentEventInsert, ctx?: TxContext): Promise<FulfillmentEvent>;
48
- recordStatusChange(fulfillmentId: string, fromStatus: string, toStatus: string, actorId?: string, description?: string, ctx?: TxContext): Promise<FulfillmentEvent>;
49
- findWithLineItems(id: string, ctx?: TxContext): Promise<{
50
- fulfillment: FulfillmentRecord;
51
- lineItems: FulfillmentLineItem[];
52
- } | undefined>;
53
- findWithEvents(id: string, ctx?: TxContext): Promise<{
54
- fulfillment: FulfillmentRecord;
55
- events: FulfillmentEvent[];
56
- } | undefined>;
57
- /**
58
- * Get fulfilled quantity for an order line item.
59
- * Sums all fulfillment line items linked to the order line item.
60
- */
61
- getFulfilledQuantity(orderLineItemId: string, ctx?: TxContext): Promise<number>;
62
- }
63
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/fulfillment/repository/index.ts"],"names":[],"mappings":"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"}
@@ -1,268 +0,0 @@
1
- import { eq, desc, and, sql } from "drizzle-orm";
2
- import { fulfillmentRecords, fulfillmentLineItems, fulfillmentEvents, } from "../schema.js";
3
- /**
4
- * FulfillmentRepository provides type-safe database operations for fulfillments.
5
- *
6
- * This repository manages fulfillment records, line item associations, and events.
7
- * Supports physical shipments, digital deliveries, and access grants.
8
- * All methods support an optional TxContext parameter for transaction participation.
9
- */
10
- export class FulfillmentRepository {
11
- db;
12
- constructor(db) {
13
- this.db = db;
14
- }
15
- getDb(ctx) {
16
- return ctx?.tx ?? this.db;
17
- }
18
- // ─────────────────────────────────────────────────────────────────────────────
19
- // Fulfillment Records
20
- // ─────────────────────────────────────────────────────────────────────────────
21
- async findById(id, ctx) {
22
- const db = this.getDb(ctx);
23
- const rows = await db
24
- .select()
25
- .from(fulfillmentRecords)
26
- .where(eq(fulfillmentRecords.id, id));
27
- return rows[0];
28
- }
29
- async findByOrderId(orderId, ctx) {
30
- const db = this.getDb(ctx);
31
- return db
32
- .select()
33
- .from(fulfillmentRecords)
34
- .where(eq(fulfillmentRecords.orderId, orderId))
35
- .orderBy(desc(fulfillmentRecords.createdAt));
36
- }
37
- async findByCustomerId(customerId, ctx) {
38
- const db = this.getDb(ctx);
39
- return db
40
- .select()
41
- .from(fulfillmentRecords)
42
- .where(eq(fulfillmentRecords.customerId, customerId))
43
- .orderBy(desc(fulfillmentRecords.createdAt));
44
- }
45
- async findByStatus(status, ctx) {
46
- const db = this.getDb(ctx);
47
- return db
48
- .select()
49
- .from(fulfillmentRecords)
50
- .where(eq(fulfillmentRecords.status, status))
51
- .orderBy(desc(fulfillmentRecords.createdAt));
52
- }
53
- async findByType(type, ctx) {
54
- const db = this.getDb(ctx);
55
- return db
56
- .select()
57
- .from(fulfillmentRecords)
58
- .where(eq(fulfillmentRecords.type, type))
59
- .orderBy(desc(fulfillmentRecords.createdAt));
60
- }
61
- async findByOrderIdAndStatus(orderId, status, ctx) {
62
- const db = this.getDb(ctx);
63
- return db
64
- .select()
65
- .from(fulfillmentRecords)
66
- .where(and(eq(fulfillmentRecords.orderId, orderId), eq(fulfillmentRecords.status, status)))
67
- .orderBy(desc(fulfillmentRecords.createdAt));
68
- }
69
- async findActiveAccessGrants(customerId, ctx) {
70
- const db = this.getDb(ctx);
71
- return db
72
- .select()
73
- .from(fulfillmentRecords)
74
- .where(and(eq(fulfillmentRecords.customerId, customerId), eq(fulfillmentRecords.type, "access_grant"), eq(fulfillmentRecords.isActive, true)))
75
- .orderBy(desc(fulfillmentRecords.grantedAt));
76
- }
77
- async findAll(options, ctx) {
78
- const db = this.getDb(ctx);
79
- let query = db
80
- .select()
81
- .from(fulfillmentRecords)
82
- .orderBy(desc(fulfillmentRecords.createdAt))
83
- .$dynamic();
84
- if (options?.limit !== undefined) {
85
- query = query.limit(options.limit);
86
- }
87
- if (options?.offset !== undefined) {
88
- query = query.offset(options.offset);
89
- }
90
- return query;
91
- }
92
- async create(data, ctx) {
93
- const db = this.getDb(ctx);
94
- const rows = await db.insert(fulfillmentRecords).values(data).returning();
95
- return rows[0];
96
- }
97
- async update(id, data, ctx) {
98
- const db = this.getDb(ctx);
99
- const rows = await db
100
- .update(fulfillmentRecords)
101
- .set({ ...data, updatedAt: new Date() })
102
- .where(eq(fulfillmentRecords.id, id))
103
- .returning();
104
- return rows[0];
105
- }
106
- async updateStatus(id, status, ctx) {
107
- const data = { status };
108
- // Set timestamps based on status
109
- if (status === "shipped") {
110
- data.shippedAt = new Date();
111
- }
112
- else if (status === "delivered") {
113
- data.deliveredAt = new Date();
114
- }
115
- return this.update(id, data, ctx);
116
- }
117
- async delete(id, ctx) {
118
- const db = this.getDb(ctx);
119
- const result = await db
120
- .delete(fulfillmentRecords)
121
- .where(eq(fulfillmentRecords.id, id))
122
- .returning();
123
- return result.length > 0;
124
- }
125
- // ─────────────────────────────────────────────────────────────────────────────
126
- // Digital Delivery Operations
127
- // ─────────────────────────────────────────────────────────────────────────────
128
- async incrementDownloadCount(id, ctx) {
129
- const db = this.getDb(ctx);
130
- const rows = await db
131
- .update(fulfillmentRecords)
132
- .set({
133
- downloadCount: sql `${fulfillmentRecords.downloadCount} + 1`,
134
- updatedAt: new Date(),
135
- })
136
- .where(eq(fulfillmentRecords.id, id))
137
- .returning();
138
- return rows[0];
139
- }
140
- async isDownloadAllowed(id, ctx) {
141
- const fulfillment = await this.findById(id, ctx);
142
- if (!fulfillment || fulfillment.type !== "digital")
143
- return false;
144
- // Check expiration
145
- if (fulfillment.downloadExpiresAt &&
146
- new Date() > fulfillment.downloadExpiresAt) {
147
- return false;
148
- }
149
- // Check download limit
150
- if (fulfillment.maxDownloads !== null &&
151
- fulfillment.downloadCount >= fulfillment.maxDownloads) {
152
- return false;
153
- }
154
- return true;
155
- }
156
- // ─────────────────────────────────────────────────────────────────────────────
157
- // Access Grant Operations
158
- // ─────────────────────────────────────────────────────────────────────────────
159
- async deactivateAccessGrant(id, ctx) {
160
- return this.update(id, { isActive: false }, ctx);
161
- }
162
- async activateAccessGrant(id, ctx) {
163
- return this.update(id, { isActive: true, grantedAt: new Date() }, ctx);
164
- }
165
- async isAccessGrantActive(id, ctx) {
166
- const fulfillment = await this.findById(id, ctx);
167
- if (!fulfillment || fulfillment.type !== "access_grant")
168
- return false;
169
- if (!fulfillment.isActive)
170
- return false;
171
- // Check expiration
172
- if (fulfillment.expiresAt && new Date() > fulfillment.expiresAt) {
173
- return false;
174
- }
175
- return true;
176
- }
177
- // ─────────────────────────────────────────────────────────────────────────────
178
- // Fulfillment Line Items
179
- // ─────────────────────────────────────────────────────────────────────────────
180
- async findLineItemsByFulfillmentId(fulfillmentId, ctx) {
181
- const db = this.getDb(ctx);
182
- return db
183
- .select()
184
- .from(fulfillmentLineItems)
185
- .where(eq(fulfillmentLineItems.fulfillmentId, fulfillmentId));
186
- }
187
- async findLineItemsByOrderLineItemId(orderLineItemId, ctx) {
188
- const db = this.getDb(ctx);
189
- return db
190
- .select()
191
- .from(fulfillmentLineItems)
192
- .where(eq(fulfillmentLineItems.orderLineItemId, orderLineItemId));
193
- }
194
- async createLineItem(data, ctx) {
195
- const db = this.getDb(ctx);
196
- const rows = await db.insert(fulfillmentLineItems).values(data).returning();
197
- return rows[0];
198
- }
199
- async createLineItems(data, ctx) {
200
- if (data.length === 0)
201
- return [];
202
- const db = this.getDb(ctx);
203
- return db.insert(fulfillmentLineItems).values(data).returning();
204
- }
205
- async deleteLineItemsByFulfillmentId(fulfillmentId, ctx) {
206
- const db = this.getDb(ctx);
207
- await db
208
- .delete(fulfillmentLineItems)
209
- .where(eq(fulfillmentLineItems.fulfillmentId, fulfillmentId));
210
- }
211
- // ─────────────────────────────────────────────────────────────────────────────
212
- // Fulfillment Events
213
- // ─────────────────────────────────────────────────────────────────────────────
214
- async findEventsByFulfillmentId(fulfillmentId, ctx) {
215
- const db = this.getDb(ctx);
216
- return db
217
- .select()
218
- .from(fulfillmentEvents)
219
- .where(eq(fulfillmentEvents.fulfillmentId, fulfillmentId))
220
- .orderBy(desc(fulfillmentEvents.occurredAt));
221
- }
222
- async createEvent(data, ctx) {
223
- const db = this.getDb(ctx);
224
- const rows = await db.insert(fulfillmentEvents).values(data).returning();
225
- return rows[0];
226
- }
227
- async recordStatusChange(fulfillmentId, fromStatus, toStatus, actorId, description, ctx) {
228
- return this.createEvent({
229
- fulfillmentId,
230
- eventType: "status_change",
231
- fromStatus,
232
- toStatus,
233
- actorId,
234
- description,
235
- }, ctx);
236
- }
237
- // ─────────────────────────────────────────────────────────────────────────────
238
- // Aggregate Operations
239
- // ─────────────────────────────────────────────────────────────────────────────
240
- async findWithLineItems(id, ctx) {
241
- const fulfillment = await this.findById(id, ctx);
242
- if (!fulfillment)
243
- return undefined;
244
- const lineItems = await this.findLineItemsByFulfillmentId(id, ctx);
245
- return { fulfillment, lineItems };
246
- }
247
- async findWithEvents(id, ctx) {
248
- const fulfillment = await this.findById(id, ctx);
249
- if (!fulfillment)
250
- return undefined;
251
- const events = await this.findEventsByFulfillmentId(id, ctx);
252
- return { fulfillment, events };
253
- }
254
- /**
255
- * Get fulfilled quantity for an order line item.
256
- * Sums all fulfillment line items linked to the order line item.
257
- */
258
- async getFulfilledQuantity(orderLineItemId, ctx) {
259
- const db = this.getDb(ctx);
260
- const result = await db
261
- .select({
262
- total: sql `COALESCE(SUM(${fulfillmentLineItems.quantity}), 0)::int`,
263
- })
264
- .from(fulfillmentLineItems)
265
- .where(eq(fulfillmentLineItems.orderLineItemId, orderLineItemId));
266
- return result[0]?.total ?? 0;
267
- }
268
- }