@coursebuilder/adapter-drizzle 2.1.1 → 3.0.0-canary.0.0c9beb2ae

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 (296) hide show
  1. package/dist/{chunk-KIQLUFJX.js → chunk-2GW3BJE2.js} +2 -2
  2. package/dist/{chunk-M3WM5Q7W.js → chunk-33ZN7FN7.js} +2 -2
  3. package/dist/chunk-4VZJQAPV.js +74 -0
  4. package/dist/chunk-5FLS4ZBX.js +109 -0
  5. package/dist/chunk-5YR5M22S.js +147 -0
  6. package/dist/chunk-6XQ6C3IX.js +18 -0
  7. package/dist/chunk-AIDM2CH6.js +146 -0
  8. package/dist/chunk-ALTODDUX.js +173 -0
  9. package/dist/chunk-AZY2VRAE.js +63 -0
  10. package/dist/chunk-BS7T27VL.js +239 -0
  11. package/dist/chunk-CN3FCRLR.js +55 -0
  12. package/dist/chunk-EAXC4CQD.js +245 -0
  13. package/dist/chunk-EDDG2YFS.js +249 -0
  14. package/dist/chunk-EDKWCMA7.js +210 -0
  15. package/dist/{chunk-7FBSP3VD.js → chunk-EDM6DKA5.js} +2 -2
  16. package/dist/{chunk-EZEQQJNH.js → chunk-EIQBTF5J.js} +2 -2
  17. package/dist/chunk-FYT7RTVW.js +248 -0
  18. package/dist/{chunk-F56AI52P.js → chunk-INZTF6QV.js} +2 -2
  19. package/dist/{chunk-AP5HBIV4.js → chunk-JVHX4JHA.js} +2 -2
  20. package/dist/chunk-LWEKWDLC.js +300 -0
  21. package/dist/chunk-OJPEBGGE.js +139 -0
  22. package/dist/chunk-QKOSV34V.js +16268 -0
  23. package/dist/chunk-QO3QE3LE.js +330 -0
  24. package/dist/chunk-QQKNNFFB.js +399 -0
  25. package/dist/chunk-RBHCV3UW.js +20 -0
  26. package/dist/chunk-TNH2C27F.js +252 -0
  27. package/dist/chunk-TNWNW666.js +133 -0
  28. package/dist/chunk-VBEXYQ6L.js +156 -0
  29. package/dist/chunk-W3ILNMLD.js +265 -0
  30. package/dist/chunk-WJ2ZUXL3.js +71 -0
  31. package/dist/{chunk-PJORQUQP.js → chunk-WUMDFFN3.js} +2 -2
  32. package/dist/{chunk-2AW5KYAK.js → chunk-X7DRYXB7.js} +2 -2
  33. package/dist/{chunk-PNPTKVJ4.js → chunk-XUBZKYH6.js} +24 -15
  34. package/dist/{chunk-WWBSNLRC.js → chunk-ZY4AFKUQ.js} +2 -2
  35. package/dist/index.d.ts +5 -11
  36. package/dist/index.js +41 -18
  37. package/dist/lib/mysql/cms-resource-actions.cjs +15912 -4127
  38. package/dist/lib/mysql/cms-resource-actions.cjs.map +1 -1
  39. package/dist/lib/mysql/cms-resource-actions.d.cts +8 -38
  40. package/dist/lib/mysql/cms-resource-actions.d.ts +8 -38
  41. package/dist/lib/mysql/cms-resource-actions.js +2 -1
  42. package/dist/lib/mysql/context.cjs +3380 -0
  43. package/dist/lib/mysql/context.cjs.map +1 -0
  44. package/dist/lib/mysql/context.d.cts +15 -0
  45. package/dist/lib/mysql/context.d.ts +15 -0
  46. package/dist/lib/mysql/context.js +34 -0
  47. package/dist/lib/mysql/context.js.map +1 -0
  48. package/dist/lib/mysql/index.cjs +21875 -15261
  49. package/dist/lib/mysql/index.cjs.map +1 -1
  50. package/dist/lib/mysql/index.d.cts +24 -14300
  51. package/dist/lib/mysql/index.d.ts +24 -14300
  52. package/dist/lib/mysql/index.js +46 -22
  53. package/dist/lib/mysql/ports/auth-storage.cjs +84 -0
  54. package/dist/lib/mysql/ports/auth-storage.cjs.map +1 -0
  55. package/dist/lib/mysql/ports/auth-storage.d.cts +22 -0
  56. package/dist/lib/mysql/ports/auth-storage.d.ts +22 -0
  57. package/dist/lib/mysql/ports/auth-storage.js +8 -0
  58. package/dist/lib/mysql/ports/auth-storage.js.map +1 -0
  59. package/dist/lib/mysql/ports/catalog.cjs +16688 -0
  60. package/dist/lib/mysql/ports/catalog.cjs.map +1 -0
  61. package/dist/lib/mysql/ports/catalog.d.cts +24 -0
  62. package/dist/lib/mysql/ports/catalog.d.ts +24 -0
  63. package/dist/lib/mysql/ports/catalog.js +9 -0
  64. package/dist/lib/mysql/ports/catalog.js.map +1 -0
  65. package/dist/lib/mysql/ports/content-resource.cjs +321 -0
  66. package/dist/lib/mysql/ports/content-resource.cjs.map +1 -0
  67. package/dist/lib/mysql/ports/content-resource.d.cts +23 -0
  68. package/dist/lib/mysql/ports/content-resource.d.ts +23 -0
  69. package/dist/lib/mysql/ports/content-resource.js +8 -0
  70. package/dist/lib/mysql/ports/content-resource.js.map +1 -0
  71. package/dist/lib/mysql/ports/coupon.cjs +16524 -0
  72. package/dist/lib/mysql/ports/coupon.cjs.map +1 -0
  73. package/dist/lib/mysql/ports/coupon.d.cts +22 -0
  74. package/dist/lib/mysql/ports/coupon.d.ts +22 -0
  75. package/dist/lib/mysql/ports/coupon.js +9 -0
  76. package/dist/lib/mysql/ports/coupon.js.map +1 -0
  77. package/dist/lib/mysql/ports/entitlement.cjs +16350 -0
  78. package/dist/lib/mysql/ports/entitlement.cjs.map +1 -0
  79. package/dist/lib/mysql/ports/entitlement.d.cts +22 -0
  80. package/dist/lib/mysql/ports/entitlement.d.ts +22 -0
  81. package/dist/lib/mysql/ports/entitlement.js +9 -0
  82. package/dist/lib/mysql/ports/entitlement.js.map +1 -0
  83. package/dist/lib/mysql/ports/identity.cjs +154 -0
  84. package/dist/lib/mysql/ports/identity.cjs.map +1 -0
  85. package/dist/lib/mysql/ports/identity.d.cts +22 -0
  86. package/dist/lib/mysql/ports/identity.d.ts +22 -0
  87. package/dist/lib/mysql/ports/identity.js +8 -0
  88. package/dist/lib/mysql/ports/identity.js.map +1 -0
  89. package/dist/lib/mysql/ports/merchant.cjs +194 -0
  90. package/dist/lib/mysql/ports/merchant.cjs.map +1 -0
  91. package/dist/lib/mysql/ports/merchant.d.cts +22 -0
  92. package/dist/lib/mysql/ports/merchant.d.ts +22 -0
  93. package/dist/lib/mysql/ports/merchant.js +8 -0
  94. package/dist/lib/mysql/ports/merchant.js.map +1 -0
  95. package/dist/lib/mysql/ports/organization.cjs +16426 -0
  96. package/dist/lib/mysql/ports/organization.cjs.map +1 -0
  97. package/dist/lib/mysql/ports/organization.d.cts +22 -0
  98. package/dist/lib/mysql/ports/organization.d.ts +22 -0
  99. package/dist/lib/mysql/ports/organization.js +9 -0
  100. package/dist/lib/mysql/ports/organization.js.map +1 -0
  101. package/dist/lib/mysql/ports/progress.cjs +16544 -0
  102. package/dist/lib/mysql/ports/progress.cjs.map +1 -0
  103. package/dist/lib/mysql/ports/progress.d.cts +22 -0
  104. package/dist/lib/mysql/ports/progress.d.ts +22 -0
  105. package/dist/lib/mysql/ports/progress.js +9 -0
  106. package/dist/lib/mysql/ports/progress.js.map +1 -0
  107. package/dist/lib/mysql/ports/purchase.cjs +16609 -0
  108. package/dist/lib/mysql/ports/purchase.cjs.map +1 -0
  109. package/dist/lib/mysql/ports/purchase.d.cts +23 -0
  110. package/dist/lib/mysql/ports/purchase.d.ts +23 -0
  111. package/dist/lib/mysql/ports/purchase.js +9 -0
  112. package/dist/lib/mysql/ports/purchase.js.map +1 -0
  113. package/dist/lib/mysql/ports/subscription.cjs +76 -0
  114. package/dist/lib/mysql/ports/subscription.cjs.map +1 -0
  115. package/dist/lib/mysql/ports/subscription.d.cts +22 -0
  116. package/dist/lib/mysql/ports/subscription.d.ts +22 -0
  117. package/dist/lib/mysql/ports/subscription.js +8 -0
  118. package/dist/lib/mysql/ports/subscription.js.map +1 -0
  119. package/dist/lib/mysql/schema.cjs +3373 -0
  120. package/dist/lib/mysql/schema.cjs.map +1 -0
  121. package/dist/lib/mysql/schema.d.cts +14385 -0
  122. package/dist/lib/mysql/schema.d.ts +14385 -0
  123. package/dist/lib/mysql/schema.js +35 -0
  124. package/dist/lib/mysql/schema.js.map +1 -0
  125. package/dist/lib/mysql/schemas/auth/accounts.cjs.map +1 -1
  126. package/dist/lib/mysql/schemas/auth/accounts.js +4 -4
  127. package/dist/lib/mysql/schemas/auth/device-access-token.cjs.map +1 -1
  128. package/dist/lib/mysql/schemas/auth/device-access-token.js +5 -5
  129. package/dist/lib/mysql/schemas/auth/device-verification.cjs.map +1 -1
  130. package/dist/lib/mysql/schemas/auth/device-verification.js +5 -5
  131. package/dist/lib/mysql/schemas/auth/personal-access-token.cjs.map +1 -1
  132. package/dist/lib/mysql/schemas/auth/personal-access-token.js +5 -5
  133. package/dist/lib/mysql/schemas/auth/profiles.cjs.map +1 -1
  134. package/dist/lib/mysql/schemas/auth/profiles.js +4 -4
  135. package/dist/lib/mysql/schemas/auth/role-permissions.cjs.map +1 -1
  136. package/dist/lib/mysql/schemas/auth/role-permissions.js +5 -5
  137. package/dist/lib/mysql/schemas/auth/roles.cjs.map +1 -1
  138. package/dist/lib/mysql/schemas/auth/roles.js +4 -4
  139. package/dist/lib/mysql/schemas/auth/sessions.cjs.map +1 -1
  140. package/dist/lib/mysql/schemas/auth/sessions.js +5 -5
  141. package/dist/lib/mysql/schemas/auth/user-permissions.cjs.map +1 -1
  142. package/dist/lib/mysql/schemas/auth/user-permissions.js +4 -4
  143. package/dist/lib/mysql/schemas/auth/user-prefs.cjs.map +1 -1
  144. package/dist/lib/mysql/schemas/auth/user-prefs.js +4 -4
  145. package/dist/lib/mysql/schemas/auth/user-roles.cjs.map +1 -1
  146. package/dist/lib/mysql/schemas/auth/user-roles.js +4 -4
  147. package/dist/lib/mysql/schemas/auth/users.cjs +5 -1
  148. package/dist/lib/mysql/schemas/auth/users.cjs.map +1 -1
  149. package/dist/lib/mysql/schemas/auth/users.js +4 -4
  150. package/dist/lib/mysql/schemas/commerce/coupon.cjs.map +1 -1
  151. package/dist/lib/mysql/schemas/commerce/coupon.js +4 -4
  152. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs.map +1 -1
  153. package/dist/lib/mysql/schemas/commerce/merchant-charge.js +4 -4
  154. package/dist/lib/mysql/schemas/commerce/merchant-subscription.cjs.map +1 -1
  155. package/dist/lib/mysql/schemas/commerce/merchant-subscription.js +4 -4
  156. package/dist/lib/mysql/schemas/commerce/price.cjs.map +1 -1
  157. package/dist/lib/mysql/schemas/commerce/price.js +4 -4
  158. package/dist/lib/mysql/schemas/commerce/product.cjs.map +1 -1
  159. package/dist/lib/mysql/schemas/commerce/product.js +4 -4
  160. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs.map +1 -1
  161. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.js +5 -5
  162. package/dist/lib/mysql/schemas/commerce/purchase.cjs +11 -2
  163. package/dist/lib/mysql/schemas/commerce/purchase.cjs.map +1 -1
  164. package/dist/lib/mysql/schemas/commerce/purchase.js +4 -4
  165. package/dist/lib/mysql/schemas/commerce/subscription.cjs +6 -1
  166. package/dist/lib/mysql/schemas/commerce/subscription.cjs.map +1 -1
  167. package/dist/lib/mysql/schemas/commerce/subscription.js +4 -4
  168. package/dist/lib/mysql/schemas/commerce/upgradable-products.cjs.map +1 -1
  169. package/dist/lib/mysql/schemas/commerce/upgradable-products.js +5 -5
  170. package/dist/lib/mysql/schemas/communication/comment.cjs +5 -1
  171. package/dist/lib/mysql/schemas/communication/comment.cjs.map +1 -1
  172. package/dist/lib/mysql/schemas/communication/comment.js +4 -4
  173. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs +5 -1
  174. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs.map +1 -1
  175. package/dist/lib/mysql/schemas/communication/communication-preferences.js +4 -4
  176. package/dist/lib/mysql/schemas/communication/question-response.cjs.map +1 -1
  177. package/dist/lib/mysql/schemas/communication/question-response.js +5 -5
  178. package/dist/lib/mysql/schemas/content/content-contributions.cjs +5 -1
  179. package/dist/lib/mysql/schemas/content/content-contributions.cjs.map +1 -1
  180. package/dist/lib/mysql/schemas/content/content-contributions.js +4 -4
  181. package/dist/lib/mysql/schemas/content/content-resource-product.cjs.map +1 -1
  182. package/dist/lib/mysql/schemas/content/content-resource-product.js +4 -4
  183. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs.map +1 -1
  184. package/dist/lib/mysql/schemas/content/content-resource-resource.js +4 -4
  185. package/dist/lib/mysql/schemas/content/content-resource-tag.cjs.map +1 -1
  186. package/dist/lib/mysql/schemas/content/content-resource-tag.js +4 -4
  187. package/dist/lib/mysql/schemas/content/content-resource-version.cjs.map +1 -1
  188. package/dist/lib/mysql/schemas/content/content-resource-version.js +4 -4
  189. package/dist/lib/mysql/schemas/content/content-resource.cjs +5 -1
  190. package/dist/lib/mysql/schemas/content/content-resource.cjs.map +1 -1
  191. package/dist/lib/mysql/schemas/content/content-resource.js +4 -4
  192. package/dist/lib/mysql/schemas/content/tag-tag.cjs.map +1 -1
  193. package/dist/lib/mysql/schemas/content/tag-tag.js +4 -4
  194. package/dist/lib/mysql/schemas/content/tag.cjs.map +1 -1
  195. package/dist/lib/mysql/schemas/content/tag.js +4 -4
  196. package/dist/lib/mysql/schemas/entitlements/entitlement.cjs +11 -2
  197. package/dist/lib/mysql/schemas/entitlements/entitlement.cjs.map +1 -1
  198. package/dist/lib/mysql/schemas/entitlements/entitlement.js +5 -5
  199. package/dist/lib/mysql/schemas/org/organization-membership-roles.cjs +11 -2
  200. package/dist/lib/mysql/schemas/org/organization-membership-roles.cjs.map +1 -1
  201. package/dist/lib/mysql/schemas/org/organization-membership-roles.js +4 -4
  202. package/dist/lib/mysql/schemas/org/organization-memberships.cjs +11 -2
  203. package/dist/lib/mysql/schemas/org/organization-memberships.cjs.map +1 -1
  204. package/dist/lib/mysql/schemas/org/organization-memberships.d.cts +16 -0
  205. package/dist/lib/mysql/schemas/org/organization-memberships.d.ts +16 -0
  206. package/dist/lib/mysql/schemas/org/organization-memberships.js +4 -4
  207. package/dist/lib/mysql/schemas/org/organizations.cjs +11 -2
  208. package/dist/lib/mysql/schemas/org/organizations.cjs.map +1 -1
  209. package/dist/lib/mysql/schemas/org/organizations.d.cts +16 -0
  210. package/dist/lib/mysql/schemas/org/organizations.d.ts +16 -0
  211. package/dist/lib/mysql/schemas/org/organizations.js +4 -4
  212. package/dist/lib/mysql/workflows/content-resource-workflow-utils.cjs +40 -0
  213. package/dist/lib/mysql/workflows/content-resource-workflow-utils.cjs.map +1 -0
  214. package/dist/lib/mysql/workflows/content-resource-workflow-utils.d.cts +4 -0
  215. package/dist/lib/mysql/workflows/content-resource-workflow-utils.d.ts +4 -0
  216. package/dist/lib/mysql/workflows/content-resource-workflow-utils.js +10 -0
  217. package/dist/lib/mysql/workflows/content-resource-workflow-utils.js.map +1 -0
  218. package/dist/lib/mysql/workflows/create-cohort.cjs +184 -0
  219. package/dist/lib/mysql/workflows/create-cohort.cjs.map +1 -0
  220. package/dist/lib/mysql/workflows/create-cohort.d.cts +24 -0
  221. package/dist/lib/mysql/workflows/create-cohort.d.ts +24 -0
  222. package/dist/lib/mysql/workflows/create-cohort.js +9 -0
  223. package/dist/lib/mysql/workflows/create-cohort.js.map +1 -0
  224. package/dist/lib/mysql/workflows/create-event-series.cjs +283 -0
  225. package/dist/lib/mysql/workflows/create-event-series.cjs.map +1 -0
  226. package/dist/lib/mysql/workflows/create-event-series.d.cts +24 -0
  227. package/dist/lib/mysql/workflows/create-event-series.d.ts +24 -0
  228. package/dist/lib/mysql/workflows/create-event-series.js +9 -0
  229. package/dist/lib/mysql/workflows/create-event-series.js.map +1 -0
  230. package/dist/lib/mysql/workflows/create-event.cjs +194 -0
  231. package/dist/lib/mysql/workflows/create-event.cjs.map +1 -0
  232. package/dist/lib/mysql/workflows/create-event.d.cts +24 -0
  233. package/dist/lib/mysql/workflows/create-event.d.ts +24 -0
  234. package/dist/lib/mysql/workflows/create-event.js +9 -0
  235. package/dist/lib/mysql/workflows/create-event.js.map +1 -0
  236. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.cjs +231 -0
  237. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.cjs.map +1 -0
  238. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.d.cts +22 -0
  239. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.d.ts +22 -0
  240. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.js +8 -0
  241. package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.js.map +1 -0
  242. package/dist/lib/mysql/workflows/create-workshop.cjs +286 -0
  243. package/dist/lib/mysql/workflows/create-workshop.cjs.map +1 -0
  244. package/dist/lib/mysql/workflows/create-workshop.d.cts +24 -0
  245. package/dist/lib/mysql/workflows/create-workshop.d.ts +24 -0
  246. package/dist/lib/mysql/workflows/create-workshop.js +9 -0
  247. package/dist/lib/mysql/workflows/create-workshop.js.map +1 -0
  248. package/dist/lib/mysql/workflows/redeem-full-price-coupon.cjs +130 -0
  249. package/dist/lib/mysql/workflows/redeem-full-price-coupon.cjs.map +1 -0
  250. package/dist/lib/mysql/workflows/redeem-full-price-coupon.d.cts +24 -0
  251. package/dist/lib/mysql/workflows/redeem-full-price-coupon.d.ts +24 -0
  252. package/dist/lib/mysql/workflows/redeem-full-price-coupon.js +8 -0
  253. package/dist/lib/mysql/workflows/redeem-full-price-coupon.js.map +1 -0
  254. package/dist/lib/mysql/workflows/transfer-purchase-to-user.cjs +95 -0
  255. package/dist/lib/mysql/workflows/transfer-purchase-to-user.cjs.map +1 -0
  256. package/dist/lib/mysql/workflows/transfer-purchase-to-user.d.cts +30 -0
  257. package/dist/lib/mysql/workflows/transfer-purchase-to-user.d.ts +30 -0
  258. package/dist/lib/mysql/workflows/transfer-purchase-to-user.js +8 -0
  259. package/dist/lib/mysql/workflows/transfer-purchase-to-user.js.map +1 -0
  260. package/dist/lib/utils.d.cts +1 -10
  261. package/dist/lib/utils.d.ts +1 -10
  262. package/dist/types.d.ts +14 -0
  263. package/dist/types.js +1 -0
  264. package/package.json +9 -5
  265. package/src/index.ts +3 -2
  266. package/src/lib/mysql/context.ts +20 -0
  267. package/src/lib/mysql/index.ts +118 -4873
  268. package/src/lib/mysql/ports/auth-storage.ts +139 -0
  269. package/src/lib/mysql/ports/catalog.ts +610 -0
  270. package/src/lib/mysql/ports/content-resource.ts +442 -0
  271. package/src/lib/mysql/ports/coupon.ts +387 -0
  272. package/src/lib/mysql/ports/entitlement.ts +96 -0
  273. package/src/lib/mysql/ports/identity.ts +160 -0
  274. package/src/lib/mysql/ports/merchant.ts +274 -0
  275. package/src/lib/mysql/ports/organization.ts +216 -0
  276. package/src/lib/mysql/ports/progress.ts +366 -0
  277. package/src/lib/mysql/ports/purchase.ts +517 -0
  278. package/src/lib/mysql/ports/subscription.ts +93 -0
  279. package/src/lib/mysql/schema.ts +374 -0
  280. package/src/lib/mysql/schemas/org/organization-memberships.ts +7 -0
  281. package/src/lib/mysql/schemas/org/organizations.ts +8 -0
  282. package/src/lib/mysql/workflows/content-resource-workflow-utils.ts +22 -0
  283. package/src/lib/mysql/workflows/create-cohort.ts +239 -0
  284. package/src/lib/mysql/workflows/create-event-series.ts +384 -0
  285. package/src/lib/mysql/workflows/create-event.ts +232 -0
  286. package/src/lib/mysql/workflows/create-merchant-charge-and-purchase.ts +365 -0
  287. package/src/lib/mysql/workflows/create-workshop.ts +372 -0
  288. package/src/lib/mysql/workflows/redeem-full-price-coupon.ts +179 -0
  289. package/src/lib/mysql/workflows/transfer-purchase-to-user.ts +142 -0
  290. package/src/types.ts +33 -0
  291. package/dist/authjs.d.ts +0 -27
  292. package/dist/authjs.js +0 -1
  293. package/dist/chunk-62VSIVME.js +0 -4714
  294. package/dist/chunk-RVXF3JZ7.js +0 -8732
  295. package/dist/chunk-WEJL5OFI.js +0 -8732
  296. package/src/authjs.ts +0 -34
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/lib/mysql/workflows/transfer-purchase-to-user.ts
22
+ var transfer_purchase_to_user_exports = {};
23
+ __export(transfer_purchase_to_user_exports, {
24
+ createTransferPurchaseToUserWorkflow: () => createTransferPurchaseToUserWorkflow
25
+ });
26
+ module.exports = __toCommonJS(transfer_purchase_to_user_exports);
27
+ var import_drizzle_orm = require("drizzle-orm");
28
+ var import_uuid = require("uuid");
29
+ var import_schemas = require("@coursebuilder/core/schemas");
30
+ var import_merchant_customer_schema = require("@coursebuilder/core/schemas/merchant-customer-schema");
31
+ function createTransferPurchaseToUserWorkflow({ client, tables }, paymentProvider, operations) {
32
+ const { users, purchases: purchaseTable, purchaseUserTransfer, merchantCharge, merchantCustomer } = tables;
33
+ return {
34
+ transferPurchaseToUser: async (options) => {
35
+ const { purchaseId, targetUserId, sourceUserId } = options;
36
+ const transferId = `put_${(0, import_uuid.v4)()}`;
37
+ await client.transaction(async (trx) => {
38
+ const purchase = await trx.select().from(purchaseTable).where((0, import_drizzle_orm.eq)(purchaseTable.id, purchaseId)).for("update").then((rows) => rows[0]);
39
+ if (!purchase)
40
+ throw new Error("No purchase found");
41
+ if (purchase.userId !== sourceUserId)
42
+ throw new Error("Invalid source user");
43
+ await trx.update(purchaseTable).set({
44
+ userId: targetUserId
45
+ }).where((0, import_drizzle_orm.eq)(purchaseTable.id, purchase.id));
46
+ await trx.insert(purchaseUserTransfer).values({
47
+ id: transferId,
48
+ purchaseId: purchase.id,
49
+ sourceUserId,
50
+ targetUserId,
51
+ transferState: "COMPLETED",
52
+ completedAt: /* @__PURE__ */ new Date()
53
+ });
54
+ if (paymentProvider && purchase.merchantChargeId) {
55
+ await trx.update(merchantCharge).set({
56
+ userId: targetUserId
57
+ }).where((0, import_drizzle_orm.eq)(merchantCharge.id, purchase.merchantChargeId));
58
+ const updatedMerchantCharge = import_schemas.merchantChargeSchema.parse(await trx.query.merchantCharge.findFirst({
59
+ where: (0, import_drizzle_orm.eq)(merchantCharge.id, purchase.merchantChargeId)
60
+ }));
61
+ await trx.update(merchantCustomer).set({
62
+ userId: targetUserId
63
+ }).where((0, import_drizzle_orm.eq)(merchantCustomer.id, updatedMerchantCharge.merchantCustomerId));
64
+ const updatedMerchantCustomer = import_merchant_customer_schema.merchantCustomerSchema.parse(await trx.query.merchantCustomer.findFirst({
65
+ where: (0, import_drizzle_orm.eq)(merchantCustomer.id, updatedMerchantCharge.merchantCustomerId)
66
+ }));
67
+ const targetUser = import_schemas.userSchema.parse(await trx.query.users.findFirst({
68
+ where: (0, import_drizzle_orm.eq)(users.id, targetUserId)
69
+ }));
70
+ const sourceUser = import_schemas.userSchema.parse(await trx.query.users.findFirst({
71
+ where: (0, import_drizzle_orm.eq)(users.id, sourceUserId)
72
+ }));
73
+ await paymentProvider.updateCustomer(updatedMerchantCustomer.identifier, {
74
+ email: targetUser.email,
75
+ name: targetUser.name || sourceUser.name || "",
76
+ metadata: {
77
+ transferId,
78
+ transferredFrom: sourceUser.email,
79
+ transferredOn: (/* @__PURE__ */ new Date()).toISOString()
80
+ }
81
+ });
82
+ }
83
+ });
84
+ return await operations.getPurchaseUserTransferById({
85
+ id: transferId
86
+ });
87
+ }
88
+ };
89
+ }
90
+ __name(createTransferPurchaseToUserWorkflow, "createTransferPurchaseToUserWorkflow");
91
+ // Annotate the CommonJS export names for ESM import in node:
92
+ 0 && (module.exports = {
93
+ createTransferPurchaseToUserWorkflow
94
+ });
95
+ //# sourceMappingURL=transfer-purchase-to-user.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/mysql/workflows/transfer-purchase-to-user.ts"],"sourcesContent":["import { eq } from 'drizzle-orm'\nimport { v4 } from 'uuid'\n\nimport type { PurchasePort } from '@coursebuilder/core/ports'\nimport { merchantChargeSchema, userSchema } from '@coursebuilder/core/schemas'\nimport { merchantCustomerSchema } from '@coursebuilder/core/schemas/merchant-customer-schema'\nimport type { PaymentsProviderConfig } from '@coursebuilder/core/types'\n\nimport type { MySqlContext } from '../context.js'\n\ntype TransferPurchaseToUserOperations = Pick<\n\tPurchasePort,\n\t'getPurchaseUserTransferById'\n>\n\n/**\n * Creates the private purchase transfer workflow.\n *\n * @param context - The shared MySQL client and table set.\n * @param paymentProvider - The configured external payment provider.\n * @param operations - Narrow purchase, merchant, and identity operations.\n * @returns The purchase-owned user transfer operation.\n *\n * @example\n * ```ts\n * const workflow = createTransferPurchaseToUserWorkflow(\n * \tcontext,\n * \tpaymentProvider,\n * \toperations,\n * )\n * ```\n */\nexport function createTransferPurchaseToUserWorkflow(\n\t{ client, tables }: MySqlContext,\n\tpaymentProvider: PaymentsProviderConfig | undefined,\n\toperations: TransferPurchaseToUserOperations,\n): Pick<PurchasePort, 'transferPurchaseToUser'> {\n\tconst {\n\t\tusers,\n\t\tpurchases: purchaseTable,\n\t\tpurchaseUserTransfer,\n\t\tmerchantCharge,\n\t\tmerchantCustomer,\n\t} = tables\n\n\treturn {\n\t\ttransferPurchaseToUser: async (options: {\n\t\t\tpurchaseId: string\n\t\t\ttargetUserId: string\n\t\t\tsourceUserId: string\n\t\t}) => {\n\t\t\tconst { purchaseId, targetUserId, sourceUserId } = options\n\t\t\tconst transferId = `put_${v4()}`\n\n\t\t\tawait client.transaction(async (trx) => {\n\t\t\t\tconst purchase = await trx\n\t\t\t\t\t.select()\n\t\t\t\t\t.from(purchaseTable)\n\t\t\t\t\t.where(eq(purchaseTable.id, purchaseId))\n\t\t\t\t\t.for('update')\n\t\t\t\t\t.then((rows) => rows[0])\n\n\t\t\t\tif (!purchase) throw new Error('No purchase found')\n\t\t\t\tif (purchase.userId !== sourceUserId)\n\t\t\t\t\tthrow new Error('Invalid source user')\n\n\t\t\t\tawait trx\n\t\t\t\t\t.update(purchaseTable)\n\t\t\t\t\t.set({ userId: targetUserId })\n\t\t\t\t\t.where(eq(purchaseTable.id, purchase.id))\n\n\t\t\t\tawait trx.insert(purchaseUserTransfer).values({\n\t\t\t\t\tid: transferId,\n\t\t\t\t\tpurchaseId: purchase.id,\n\t\t\t\t\tsourceUserId: sourceUserId,\n\t\t\t\t\ttargetUserId: targetUserId,\n\t\t\t\t\ttransferState: 'COMPLETED',\n\t\t\t\t\tcompletedAt: new Date(),\n\t\t\t\t})\n\n\t\t\t\tif (paymentProvider && purchase.merchantChargeId) {\n\t\t\t\t\tawait trx\n\t\t\t\t\t\t.update(merchantCharge)\n\t\t\t\t\t\t.set({\n\t\t\t\t\t\t\tuserId: targetUserId,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.where(eq(merchantCharge.id, purchase.merchantChargeId))\n\n\t\t\t\t\tconst updatedMerchantCharge = merchantChargeSchema.parse(\n\t\t\t\t\t\tawait trx.query.merchantCharge.findFirst({\n\t\t\t\t\t\t\twhere: eq(merchantCharge.id, purchase.merchantChargeId),\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\n\t\t\t\t\tawait trx\n\t\t\t\t\t\t.update(merchantCustomer)\n\t\t\t\t\t\t.set({ userId: targetUserId })\n\t\t\t\t\t\t.where(\n\t\t\t\t\t\t\teq(merchantCustomer.id, updatedMerchantCharge.merchantCustomerId),\n\t\t\t\t\t\t)\n\n\t\t\t\t\tconst updatedMerchantCustomer = merchantCustomerSchema.parse(\n\t\t\t\t\t\tawait trx.query.merchantCustomer.findFirst({\n\t\t\t\t\t\t\twhere: eq(\n\t\t\t\t\t\t\t\tmerchantCustomer.id,\n\t\t\t\t\t\t\t\tupdatedMerchantCharge.merchantCustomerId,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\n\t\t\t\t\tconst targetUser = userSchema.parse(\n\t\t\t\t\t\tawait trx.query.users.findFirst({\n\t\t\t\t\t\t\twhere: eq(users.id, targetUserId),\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\n\t\t\t\t\tconst sourceUser = userSchema.parse(\n\t\t\t\t\t\tawait trx.query.users.findFirst({\n\t\t\t\t\t\t\twhere: eq(users.id, sourceUserId),\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\n\t\t\t\t\tawait paymentProvider.updateCustomer(\n\t\t\t\t\t\tupdatedMerchantCustomer.identifier,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\temail: targetUser.email,\n\t\t\t\t\t\t\tname: targetUser.name || sourceUser.name || '',\n\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\ttransferId,\n\t\t\t\t\t\t\t\ttransferredFrom: sourceUser.email,\n\t\t\t\t\t\t\t\ttransferredOn: new Date().toISOString(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn await operations.getPurchaseUserTransferById({\n\t\t\t\tid: transferId,\n\t\t\t})\n\t\t},\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;yBAAmB;AACnB,kBAAmB;AAGnB,qBAAiD;AACjD,sCAAuC;AA2BhC,SAASA,qCACf,EAAEC,QAAQC,OAAM,GAChBC,iBACAC,YAA4C;AAE5C,QAAM,EACLC,OACAC,WAAWC,eACXC,sBACAC,gBACAC,iBAAgB,IACbR;AAEJ,SAAO;IACNS,wBAAwB,OAAOC,YAAAA;AAK9B,YAAM,EAAEC,YAAYC,cAAcC,aAAY,IAAKH;AACnD,YAAMI,aAAa,WAAOC,gBAAAA,CAAAA;AAE1B,YAAMhB,OAAOiB,YAAY,OAAOC,QAAAA;AAC/B,cAAMC,WAAW,MAAMD,IACrBE,OAAM,EACNC,KAAKf,aAAAA,EACLgB,UAAMC,uBAAGjB,cAAckB,IAAIZ,UAAAA,CAAAA,EAC3Ba,IAAI,QAAA,EACJC,KAAK,CAACC,SAASA,KAAK,CAAA,CAAE;AAExB,YAAI,CAACR;AAAU,gBAAM,IAAIS,MAAM,mBAAA;AAC/B,YAAIT,SAASU,WAAWf;AACvB,gBAAM,IAAIc,MAAM,qBAAA;AAEjB,cAAMV,IACJY,OAAOxB,aAAAA,EACPyB,IAAI;UAAEF,QAAQhB;QAAa,CAAA,EAC3BS,UAAMC,uBAAGjB,cAAckB,IAAIL,SAASK,EAAE,CAAA;AAExC,cAAMN,IAAIc,OAAOzB,oBAAAA,EAAsB0B,OAAO;UAC7CT,IAAIT;UACJH,YAAYO,SAASK;UACrBV;UACAD;UACAqB,eAAe;UACfC,aAAa,oBAAIC,KAAAA;QAClB,CAAA;AAEA,YAAIlC,mBAAmBiB,SAASkB,kBAAkB;AACjD,gBAAMnB,IACJY,OAAOtB,cAAAA,EACPuB,IAAI;YACJF,QAAQhB;UACT,CAAA,EACCS,UAAMC,uBAAGf,eAAegB,IAAIL,SAASkB,gBAAgB,CAAA;AAEvD,gBAAMC,wBAAwBC,oCAAqBC,MAClD,MAAMtB,IAAIuB,MAAMjC,eAAekC,UAAU;YACxCpB,WAAOC,uBAAGf,eAAegB,IAAIL,SAASkB,gBAAgB;UACvD,CAAA,CAAA;AAGD,gBAAMnB,IACJY,OAAOrB,gBAAAA,EACPsB,IAAI;YAAEF,QAAQhB;UAAa,CAAA,EAC3BS,UACAC,uBAAGd,iBAAiBe,IAAIc,sBAAsBK,kBAAkB,CAAA;AAGlE,gBAAMC,0BAA0BC,uDAAuBL,MACtD,MAAMtB,IAAIuB,MAAMhC,iBAAiBiC,UAAU;YAC1CpB,WAAOC,uBACNd,iBAAiBe,IACjBc,sBAAsBK,kBAAkB;UAE1C,CAAA,CAAA;AAGD,gBAAMG,aAAaC,0BAAWP,MAC7B,MAAMtB,IAAIuB,MAAMrC,MAAMsC,UAAU;YAC/BpB,WAAOC,uBAAGnB,MAAMoB,IAAIX,YAAAA;UACrB,CAAA,CAAA;AAGD,gBAAMmC,aAAaD,0BAAWP,MAC7B,MAAMtB,IAAIuB,MAAMrC,MAAMsC,UAAU;YAC/BpB,WAAOC,uBAAGnB,MAAMoB,IAAIV,YAAAA;UACrB,CAAA,CAAA;AAGD,gBAAMZ,gBAAgB+C,eACrBL,wBAAwBM,YACxB;YACCC,OAAOL,WAAWK;YAClBC,MAAMN,WAAWM,QAAQJ,WAAWI,QAAQ;YAC5CC,UAAU;cACTtC;cACAuC,iBAAiBN,WAAWG;cAC5BI,gBAAe,oBAAInB,KAAAA,GAAOoB,YAAW;YACtC;UACD,CAAA;QAEF;MACD,CAAA;AACA,aAAO,MAAMrD,WAAWsD,4BAA4B;QACnDjC,IAAIT;MACL,CAAA;IACD;EACD;AACD;AA7GgBhB;","names":["createTransferPurchaseToUserWorkflow","client","tables","paymentProvider","operations","users","purchases","purchaseTable","purchaseUserTransfer","merchantCharge","merchantCustomer","transferPurchaseToUser","options","purchaseId","targetUserId","sourceUserId","transferId","v4","transaction","trx","purchase","select","from","where","eq","id","for","then","rows","Error","userId","update","set","insert","values","transferState","completedAt","Date","merchantChargeId","updatedMerchantCharge","merchantChargeSchema","parse","query","findFirst","merchantCustomerId","updatedMerchantCustomer","merchantCustomerSchema","targetUser","userSchema","sourceUser","updateCustomer","identifier","email","name","metadata","transferredFrom","transferredOn","toISOString","getPurchaseUserTransferById"]}
@@ -0,0 +1,30 @@
1
+ import { PurchasePort } from '@coursebuilder/core/ports';
2
+ import { PaymentsProviderConfig } from '@coursebuilder/core/types';
3
+ import { MySqlContext } from '../context.cjs';
4
+ import 'drizzle-orm/mysql-core';
5
+ import '../schema.cjs';
6
+ import 'drizzle-orm';
7
+ import '@coursebuilder/core/auth';
8
+ import '../schemas/auth/users.cjs';
9
+
10
+ type TransferPurchaseToUserOperations = Pick<PurchasePort, 'getPurchaseUserTransferById'>;
11
+ /**
12
+ * Creates the private purchase transfer workflow.
13
+ *
14
+ * @param context - The shared MySQL client and table set.
15
+ * @param paymentProvider - The configured external payment provider.
16
+ * @param operations - Narrow purchase, merchant, and identity operations.
17
+ * @returns The purchase-owned user transfer operation.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const workflow = createTransferPurchaseToUserWorkflow(
22
+ * context,
23
+ * paymentProvider,
24
+ * operations,
25
+ * )
26
+ * ```
27
+ */
28
+ declare function createTransferPurchaseToUserWorkflow({ client, tables }: MySqlContext, paymentProvider: PaymentsProviderConfig | undefined, operations: TransferPurchaseToUserOperations): Pick<PurchasePort, 'transferPurchaseToUser'>;
29
+
30
+ export { createTransferPurchaseToUserWorkflow };
@@ -0,0 +1,30 @@
1
+ import { PurchasePort } from '@coursebuilder/core/ports';
2
+ import { PaymentsProviderConfig } from '@coursebuilder/core/types';
3
+ import { MySqlContext } from '../context.js';
4
+ import 'drizzle-orm/mysql-core';
5
+ import '../schema.js';
6
+ import 'drizzle-orm';
7
+ import '@coursebuilder/core/auth';
8
+ import '../schemas/auth/users.js';
9
+
10
+ type TransferPurchaseToUserOperations = Pick<PurchasePort, 'getPurchaseUserTransferById'>;
11
+ /**
12
+ * Creates the private purchase transfer workflow.
13
+ *
14
+ * @param context - The shared MySQL client and table set.
15
+ * @param paymentProvider - The configured external payment provider.
16
+ * @param operations - Narrow purchase, merchant, and identity operations.
17
+ * @returns The purchase-owned user transfer operation.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const workflow = createTransferPurchaseToUserWorkflow(
22
+ * context,
23
+ * paymentProvider,
24
+ * operations,
25
+ * )
26
+ * ```
27
+ */
28
+ declare function createTransferPurchaseToUserWorkflow({ client, tables }: MySqlContext, paymentProvider: PaymentsProviderConfig | undefined, operations: TransferPurchaseToUserOperations): Pick<PurchasePort, 'transferPurchaseToUser'>;
29
+
30
+ export { createTransferPurchaseToUserWorkflow };
@@ -0,0 +1,8 @@
1
+ import {
2
+ createTransferPurchaseToUserWorkflow
3
+ } from "../../../chunk-4VZJQAPV.js";
4
+ import "../../../chunk-2X5XVNDN.js";
5
+ export {
6
+ createTransferPurchaseToUserWorkflow
7
+ };
8
+ //# sourceMappingURL=transfer-purchase-to-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,19 +1,10 @@
1
1
  import { MySqlDatabase, MySqlTableFn, AnyMySqlTable } from 'drizzle-orm/mysql-core';
2
2
  import { PgDatabase, PgTableFn } from 'drizzle-orm/pg-core';
3
3
  import { BaseSQLiteDatabase, SQLiteTableFn, AnySQLiteTable } from 'drizzle-orm/sqlite-core';
4
- import { DefaultSchema } from './mysql/index.cjs';
4
+ import { DefaultSchema } from './mysql/schema.cjs';
5
5
  import 'drizzle-orm';
6
6
  import '@coursebuilder/core/auth';
7
- import '@coursebuilder/core/types';
8
- import '../authjs.cjs';
9
- import '@auth/core/adapters';
10
- import '@coursebuilder/core/adapters';
11
7
  import './mysql/schemas/auth/users.cjs';
12
- import './mysql/cms-resource-actions.cjs';
13
- import 'zod';
14
- import './mysql/schemas/content/content-resource-product.cjs';
15
- import './mysql/schemas/content/content-resource-resource.cjs';
16
- import './mysql/schemas/content/content-resource.cjs';
17
8
 
18
9
  type AnyMySqlDatabase = MySqlDatabase<any, any>;
19
10
  type AnyPgDatabase = PgDatabase<any, any, any>;
@@ -1,19 +1,10 @@
1
1
  import { MySqlDatabase, MySqlTableFn, AnyMySqlTable } from 'drizzle-orm/mysql-core';
2
2
  import { PgDatabase, PgTableFn } from 'drizzle-orm/pg-core';
3
3
  import { BaseSQLiteDatabase, SQLiteTableFn, AnySQLiteTable } from 'drizzle-orm/sqlite-core';
4
- import { DefaultSchema } from './mysql/index.js';
4
+ import { DefaultSchema } from './mysql/schema.js';
5
5
  import 'drizzle-orm';
6
6
  import '@coursebuilder/core/auth';
7
- import '@coursebuilder/core/types';
8
- import '../authjs.js';
9
- import '@auth/core/adapters';
10
- import '@coursebuilder/core/adapters';
11
7
  import './mysql/schemas/auth/users.js';
12
- import './mysql/cms-resource-actions.js';
13
- import 'zod';
14
- import './mysql/schemas/content/content-resource-product.js';
15
- import './mysql/schemas/content/content-resource-resource.js';
16
- import './mysql/schemas/content/content-resource.js';
17
8
 
18
9
  type AnyMySqlDatabase = MySqlDatabase<any, any>;
19
10
  type AnyPgDatabase = PgDatabase<any, any, any>;
@@ -0,0 +1,14 @@
1
+ import { AuthStoragePort } from '@coursebuilder/core/auth';
2
+ import { CatalogPort, ContentResourcePort, CouponPort, EntitlementPort, IdentityPort, MerchantPort, OrganizationPort, ProgressPort, PurchasePort, SubscriptionPort } from '@coursebuilder/core/ports';
3
+
4
+ /**
5
+ * Provider-neutral capability composition implemented by the Drizzle adapter.
6
+ *
7
+ * Auth runtime bindings belong at the application boundary. This type contains
8
+ * only Course Builder-owned ports plus the Drizzle client escape hatch.
9
+ */
10
+ type DrizzleAdapterComposition<TClient = unknown> = AuthStoragePort & CatalogPort & ContentResourcePort & CouponPort & EntitlementPort & IdentityPort & MerchantPort & OrganizationPort & ProgressPort & PurchasePort & SubscriptionPort & {
11
+ client: TClient;
12
+ };
13
+
14
+ export type { DrizzleAdapterComposition };
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coursebuilder/adapter-drizzle",
3
- "version": "2.1.1",
3
+ "version": "3.0.0-canary.0.0c9beb2ae",
4
4
  "private": false,
5
5
  "description": "Drizzle adapter for Course Builder.",
6
6
  "keywords": [
@@ -35,12 +35,15 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@auth/core": "0.37.2",
39
38
  "@sindresorhus/slugify": "^2.2.1",
40
39
  "date-fns": "^2.30.0",
41
40
  "nanoid": "^5.0.2",
42
41
  "uuid": "^9.0.1",
43
- "@coursebuilder/nodash": "0.0.3"
42
+ "@coursebuilder/commerce": "0.1.0-canary.0.0c9beb2ae",
43
+ "@coursebuilder/core": "3.0.0-canary.0.0c9beb2ae",
44
+ "@coursebuilder/nodash": "0.0.3",
45
+ "@coursebuilder/server": "0.1.0-canary.0.0c9beb2ae",
46
+ "@coursebuilder/utils": "1.1.0-canary.0.0c9beb2ae"
44
47
  },
45
48
  "devDependencies": {
46
49
  "@libsql/client": "0.5.6",
@@ -53,8 +56,7 @@
53
56
  "postgres": "^3.3.4",
54
57
  "tsup": "8.0.2",
55
58
  "tsx": "^4.7.1",
56
- "zod": "^3.22.4",
57
- "@coursebuilder/core": "2.0.2"
59
+ "zod": "^4.1.12"
58
60
  },
59
61
  "peerDependencies": {
60
62
  "drizzle-orm": "0.36.x"
@@ -66,6 +68,8 @@
66
68
  "test": "pnpm test:mysql",
67
69
  "test:mysql": "pnpm clean && ./test/mysql/test.sh",
68
70
  "test:mysql:ci": "./test/mysql/test.sh ci",
71
+ "test:mysql:schema-smoke": "pnpm clean && bash ./test/mysql-multi-project-schema/test.sh",
72
+ "test:mysql:schema-smoke:ci": "bash ./test/mysql-multi-project-schema/test.sh ci",
69
73
  "test:mysql:watch": "pnpm clean && ./test/mysql/test.sh watch"
70
74
  }
71
75
  }
package/src/index.ts CHANGED
@@ -7,7 +7,7 @@ import {
7
7
 
8
8
  import { PaymentsProviderConfig } from '@coursebuilder/core/types'
9
9
 
10
- import type { AuthJsCourseBuilderAdapter } from './authjs.js'
10
+ import type { DrizzleAdapterComposition } from './types.js'
11
11
  import {
12
12
  createTables as createMySqlTables,
13
13
  mySqlDrizzleAdapter,
@@ -18,7 +18,7 @@ export function DrizzleAdapter<SqlFlavor extends SqlFlavorOptions>(
18
18
  db: SqlFlavor,
19
19
  table: TableFn<SqlFlavor>,
20
20
  paymentProvider?: PaymentsProviderConfig,
21
- ): AuthJsCourseBuilderAdapter {
21
+ ): DrizzleAdapterComposition {
22
22
  if (is(db, MySqlDatabase)) {
23
23
  return mySqlDrizzleAdapter(
24
24
  db,
@@ -33,3 +33,4 @@ export function DrizzleAdapter<SqlFlavor extends SqlFlavorOptions>(
33
33
  }
34
34
 
35
35
  export { createMySqlTables }
36
+ export type { DrizzleAdapterComposition } from './types.js'
@@ -0,0 +1,20 @@
1
+ import type { MySqlDatabase, MySqlTableFn } from 'drizzle-orm/mysql-core'
2
+
3
+ import { createTables } from './schema.js'
4
+
5
+ /** Shared MySQL adapter dependencies constructed once by the composition root. */
6
+ export type MySqlContext = Readonly<{
7
+ client: InstanceType<typeof MySqlDatabase>
8
+ tables: ReturnType<typeof createTables>
9
+ }>
10
+
11
+ /** Creates the single typed client and table-set context used by MySQL factories. */
12
+ export function createMySqlContext(
13
+ client: InstanceType<typeof MySqlDatabase>,
14
+ tableFn: MySqlTableFn,
15
+ ): MySqlContext {
16
+ return {
17
+ client,
18
+ tables: createTables(tableFn),
19
+ }
20
+ }