@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.
- package/dist/{chunk-KIQLUFJX.js → chunk-2GW3BJE2.js} +2 -2
- package/dist/{chunk-M3WM5Q7W.js → chunk-33ZN7FN7.js} +2 -2
- package/dist/chunk-4VZJQAPV.js +74 -0
- package/dist/chunk-5FLS4ZBX.js +109 -0
- package/dist/chunk-5YR5M22S.js +147 -0
- package/dist/chunk-6XQ6C3IX.js +18 -0
- package/dist/chunk-AIDM2CH6.js +146 -0
- package/dist/chunk-ALTODDUX.js +173 -0
- package/dist/chunk-AZY2VRAE.js +63 -0
- package/dist/chunk-BS7T27VL.js +239 -0
- package/dist/chunk-CN3FCRLR.js +55 -0
- package/dist/chunk-EAXC4CQD.js +245 -0
- package/dist/chunk-EDDG2YFS.js +249 -0
- package/dist/chunk-EDKWCMA7.js +210 -0
- package/dist/{chunk-7FBSP3VD.js → chunk-EDM6DKA5.js} +2 -2
- package/dist/{chunk-EZEQQJNH.js → chunk-EIQBTF5J.js} +2 -2
- package/dist/chunk-FYT7RTVW.js +248 -0
- package/dist/{chunk-F56AI52P.js → chunk-INZTF6QV.js} +2 -2
- package/dist/{chunk-AP5HBIV4.js → chunk-JVHX4JHA.js} +2 -2
- package/dist/chunk-LWEKWDLC.js +300 -0
- package/dist/chunk-OJPEBGGE.js +139 -0
- package/dist/chunk-QKOSV34V.js +16268 -0
- package/dist/chunk-QO3QE3LE.js +330 -0
- package/dist/chunk-QQKNNFFB.js +399 -0
- package/dist/chunk-RBHCV3UW.js +20 -0
- package/dist/chunk-TNH2C27F.js +252 -0
- package/dist/chunk-TNWNW666.js +133 -0
- package/dist/chunk-VBEXYQ6L.js +156 -0
- package/dist/chunk-W3ILNMLD.js +265 -0
- package/dist/chunk-WJ2ZUXL3.js +71 -0
- package/dist/{chunk-PJORQUQP.js → chunk-WUMDFFN3.js} +2 -2
- package/dist/{chunk-2AW5KYAK.js → chunk-X7DRYXB7.js} +2 -2
- package/dist/{chunk-PNPTKVJ4.js → chunk-XUBZKYH6.js} +24 -15
- package/dist/{chunk-WWBSNLRC.js → chunk-ZY4AFKUQ.js} +2 -2
- package/dist/index.d.ts +5 -11
- package/dist/index.js +41 -18
- package/dist/lib/mysql/cms-resource-actions.cjs +15912 -4127
- package/dist/lib/mysql/cms-resource-actions.cjs.map +1 -1
- package/dist/lib/mysql/cms-resource-actions.d.cts +8 -38
- package/dist/lib/mysql/cms-resource-actions.d.ts +8 -38
- package/dist/lib/mysql/cms-resource-actions.js +2 -1
- package/dist/lib/mysql/context.cjs +3380 -0
- package/dist/lib/mysql/context.cjs.map +1 -0
- package/dist/lib/mysql/context.d.cts +15 -0
- package/dist/lib/mysql/context.d.ts +15 -0
- package/dist/lib/mysql/context.js +34 -0
- package/dist/lib/mysql/context.js.map +1 -0
- package/dist/lib/mysql/index.cjs +21875 -15261
- package/dist/lib/mysql/index.cjs.map +1 -1
- package/dist/lib/mysql/index.d.cts +24 -14300
- package/dist/lib/mysql/index.d.ts +24 -14300
- package/dist/lib/mysql/index.js +46 -22
- package/dist/lib/mysql/ports/auth-storage.cjs +84 -0
- package/dist/lib/mysql/ports/auth-storage.cjs.map +1 -0
- package/dist/lib/mysql/ports/auth-storage.d.cts +22 -0
- package/dist/lib/mysql/ports/auth-storage.d.ts +22 -0
- package/dist/lib/mysql/ports/auth-storage.js +8 -0
- package/dist/lib/mysql/ports/auth-storage.js.map +1 -0
- package/dist/lib/mysql/ports/catalog.cjs +16688 -0
- package/dist/lib/mysql/ports/catalog.cjs.map +1 -0
- package/dist/lib/mysql/ports/catalog.d.cts +24 -0
- package/dist/lib/mysql/ports/catalog.d.ts +24 -0
- package/dist/lib/mysql/ports/catalog.js +9 -0
- package/dist/lib/mysql/ports/catalog.js.map +1 -0
- package/dist/lib/mysql/ports/content-resource.cjs +321 -0
- package/dist/lib/mysql/ports/content-resource.cjs.map +1 -0
- package/dist/lib/mysql/ports/content-resource.d.cts +23 -0
- package/dist/lib/mysql/ports/content-resource.d.ts +23 -0
- package/dist/lib/mysql/ports/content-resource.js +8 -0
- package/dist/lib/mysql/ports/content-resource.js.map +1 -0
- package/dist/lib/mysql/ports/coupon.cjs +16524 -0
- package/dist/lib/mysql/ports/coupon.cjs.map +1 -0
- package/dist/lib/mysql/ports/coupon.d.cts +22 -0
- package/dist/lib/mysql/ports/coupon.d.ts +22 -0
- package/dist/lib/mysql/ports/coupon.js +9 -0
- package/dist/lib/mysql/ports/coupon.js.map +1 -0
- package/dist/lib/mysql/ports/entitlement.cjs +16350 -0
- package/dist/lib/mysql/ports/entitlement.cjs.map +1 -0
- package/dist/lib/mysql/ports/entitlement.d.cts +22 -0
- package/dist/lib/mysql/ports/entitlement.d.ts +22 -0
- package/dist/lib/mysql/ports/entitlement.js +9 -0
- package/dist/lib/mysql/ports/entitlement.js.map +1 -0
- package/dist/lib/mysql/ports/identity.cjs +154 -0
- package/dist/lib/mysql/ports/identity.cjs.map +1 -0
- package/dist/lib/mysql/ports/identity.d.cts +22 -0
- package/dist/lib/mysql/ports/identity.d.ts +22 -0
- package/dist/lib/mysql/ports/identity.js +8 -0
- package/dist/lib/mysql/ports/identity.js.map +1 -0
- package/dist/lib/mysql/ports/merchant.cjs +194 -0
- package/dist/lib/mysql/ports/merchant.cjs.map +1 -0
- package/dist/lib/mysql/ports/merchant.d.cts +22 -0
- package/dist/lib/mysql/ports/merchant.d.ts +22 -0
- package/dist/lib/mysql/ports/merchant.js +8 -0
- package/dist/lib/mysql/ports/merchant.js.map +1 -0
- package/dist/lib/mysql/ports/organization.cjs +16426 -0
- package/dist/lib/mysql/ports/organization.cjs.map +1 -0
- package/dist/lib/mysql/ports/organization.d.cts +22 -0
- package/dist/lib/mysql/ports/organization.d.ts +22 -0
- package/dist/lib/mysql/ports/organization.js +9 -0
- package/dist/lib/mysql/ports/organization.js.map +1 -0
- package/dist/lib/mysql/ports/progress.cjs +16544 -0
- package/dist/lib/mysql/ports/progress.cjs.map +1 -0
- package/dist/lib/mysql/ports/progress.d.cts +22 -0
- package/dist/lib/mysql/ports/progress.d.ts +22 -0
- package/dist/lib/mysql/ports/progress.js +9 -0
- package/dist/lib/mysql/ports/progress.js.map +1 -0
- package/dist/lib/mysql/ports/purchase.cjs +16609 -0
- package/dist/lib/mysql/ports/purchase.cjs.map +1 -0
- package/dist/lib/mysql/ports/purchase.d.cts +23 -0
- package/dist/lib/mysql/ports/purchase.d.ts +23 -0
- package/dist/lib/mysql/ports/purchase.js +9 -0
- package/dist/lib/mysql/ports/purchase.js.map +1 -0
- package/dist/lib/mysql/ports/subscription.cjs +76 -0
- package/dist/lib/mysql/ports/subscription.cjs.map +1 -0
- package/dist/lib/mysql/ports/subscription.d.cts +22 -0
- package/dist/lib/mysql/ports/subscription.d.ts +22 -0
- package/dist/lib/mysql/ports/subscription.js +8 -0
- package/dist/lib/mysql/ports/subscription.js.map +1 -0
- package/dist/lib/mysql/schema.cjs +3373 -0
- package/dist/lib/mysql/schema.cjs.map +1 -0
- package/dist/lib/mysql/schema.d.cts +14385 -0
- package/dist/lib/mysql/schema.d.ts +14385 -0
- package/dist/lib/mysql/schema.js +35 -0
- package/dist/lib/mysql/schema.js.map +1 -0
- package/dist/lib/mysql/schemas/auth/accounts.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/accounts.js +4 -4
- package/dist/lib/mysql/schemas/auth/device-access-token.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/device-access-token.js +5 -5
- package/dist/lib/mysql/schemas/auth/device-verification.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/device-verification.js +5 -5
- package/dist/lib/mysql/schemas/auth/personal-access-token.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/personal-access-token.js +5 -5
- package/dist/lib/mysql/schemas/auth/profiles.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/profiles.js +4 -4
- package/dist/lib/mysql/schemas/auth/role-permissions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/role-permissions.js +5 -5
- package/dist/lib/mysql/schemas/auth/roles.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/roles.js +4 -4
- package/dist/lib/mysql/schemas/auth/sessions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/sessions.js +5 -5
- package/dist/lib/mysql/schemas/auth/user-permissions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/user-permissions.js +4 -4
- package/dist/lib/mysql/schemas/auth/user-prefs.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/user-prefs.js +4 -4
- package/dist/lib/mysql/schemas/auth/user-roles.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/user-roles.js +4 -4
- package/dist/lib/mysql/schemas/auth/users.cjs +5 -1
- package/dist/lib/mysql/schemas/auth/users.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/users.js +4 -4
- package/dist/lib/mysql/schemas/commerce/coupon.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/coupon.js +4 -4
- package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/merchant-charge.js +4 -4
- package/dist/lib/mysql/schemas/commerce/merchant-subscription.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/merchant-subscription.js +4 -4
- package/dist/lib/mysql/schemas/commerce/price.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/price.js +4 -4
- package/dist/lib/mysql/schemas/commerce/product.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/product.js +4 -4
- package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.js +5 -5
- package/dist/lib/mysql/schemas/commerce/purchase.cjs +11 -2
- package/dist/lib/mysql/schemas/commerce/purchase.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/purchase.js +4 -4
- package/dist/lib/mysql/schemas/commerce/subscription.cjs +6 -1
- package/dist/lib/mysql/schemas/commerce/subscription.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/subscription.js +4 -4
- package/dist/lib/mysql/schemas/commerce/upgradable-products.cjs.map +1 -1
- package/dist/lib/mysql/schemas/commerce/upgradable-products.js +5 -5
- package/dist/lib/mysql/schemas/communication/comment.cjs +5 -1
- package/dist/lib/mysql/schemas/communication/comment.cjs.map +1 -1
- package/dist/lib/mysql/schemas/communication/comment.js +4 -4
- package/dist/lib/mysql/schemas/communication/communication-preferences.cjs +5 -1
- package/dist/lib/mysql/schemas/communication/communication-preferences.cjs.map +1 -1
- package/dist/lib/mysql/schemas/communication/communication-preferences.js +4 -4
- package/dist/lib/mysql/schemas/communication/question-response.cjs.map +1 -1
- package/dist/lib/mysql/schemas/communication/question-response.js +5 -5
- package/dist/lib/mysql/schemas/content/content-contributions.cjs +5 -1
- package/dist/lib/mysql/schemas/content/content-contributions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-contributions.js +4 -4
- package/dist/lib/mysql/schemas/content/content-resource-product.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-resource-product.js +4 -4
- package/dist/lib/mysql/schemas/content/content-resource-resource.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-resource-resource.js +4 -4
- package/dist/lib/mysql/schemas/content/content-resource-tag.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-resource-tag.js +4 -4
- package/dist/lib/mysql/schemas/content/content-resource-version.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-resource-version.js +4 -4
- package/dist/lib/mysql/schemas/content/content-resource.cjs +5 -1
- package/dist/lib/mysql/schemas/content/content-resource.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-resource.js +4 -4
- package/dist/lib/mysql/schemas/content/tag-tag.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/tag-tag.js +4 -4
- package/dist/lib/mysql/schemas/content/tag.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/tag.js +4 -4
- package/dist/lib/mysql/schemas/entitlements/entitlement.cjs +11 -2
- package/dist/lib/mysql/schemas/entitlements/entitlement.cjs.map +1 -1
- package/dist/lib/mysql/schemas/entitlements/entitlement.js +5 -5
- package/dist/lib/mysql/schemas/org/organization-membership-roles.cjs +11 -2
- package/dist/lib/mysql/schemas/org/organization-membership-roles.cjs.map +1 -1
- package/dist/lib/mysql/schemas/org/organization-membership-roles.js +4 -4
- package/dist/lib/mysql/schemas/org/organization-memberships.cjs +11 -2
- package/dist/lib/mysql/schemas/org/organization-memberships.cjs.map +1 -1
- package/dist/lib/mysql/schemas/org/organization-memberships.d.cts +16 -0
- package/dist/lib/mysql/schemas/org/organization-memberships.d.ts +16 -0
- package/dist/lib/mysql/schemas/org/organization-memberships.js +4 -4
- package/dist/lib/mysql/schemas/org/organizations.cjs +11 -2
- package/dist/lib/mysql/schemas/org/organizations.cjs.map +1 -1
- package/dist/lib/mysql/schemas/org/organizations.d.cts +16 -0
- package/dist/lib/mysql/schemas/org/organizations.d.ts +16 -0
- package/dist/lib/mysql/schemas/org/organizations.js +4 -4
- package/dist/lib/mysql/workflows/content-resource-workflow-utils.cjs +40 -0
- package/dist/lib/mysql/workflows/content-resource-workflow-utils.cjs.map +1 -0
- package/dist/lib/mysql/workflows/content-resource-workflow-utils.d.cts +4 -0
- package/dist/lib/mysql/workflows/content-resource-workflow-utils.d.ts +4 -0
- package/dist/lib/mysql/workflows/content-resource-workflow-utils.js +10 -0
- package/dist/lib/mysql/workflows/content-resource-workflow-utils.js.map +1 -0
- package/dist/lib/mysql/workflows/create-cohort.cjs +184 -0
- package/dist/lib/mysql/workflows/create-cohort.cjs.map +1 -0
- package/dist/lib/mysql/workflows/create-cohort.d.cts +24 -0
- package/dist/lib/mysql/workflows/create-cohort.d.ts +24 -0
- package/dist/lib/mysql/workflows/create-cohort.js +9 -0
- package/dist/lib/mysql/workflows/create-cohort.js.map +1 -0
- package/dist/lib/mysql/workflows/create-event-series.cjs +283 -0
- package/dist/lib/mysql/workflows/create-event-series.cjs.map +1 -0
- package/dist/lib/mysql/workflows/create-event-series.d.cts +24 -0
- package/dist/lib/mysql/workflows/create-event-series.d.ts +24 -0
- package/dist/lib/mysql/workflows/create-event-series.js +9 -0
- package/dist/lib/mysql/workflows/create-event-series.js.map +1 -0
- package/dist/lib/mysql/workflows/create-event.cjs +194 -0
- package/dist/lib/mysql/workflows/create-event.cjs.map +1 -0
- package/dist/lib/mysql/workflows/create-event.d.cts +24 -0
- package/dist/lib/mysql/workflows/create-event.d.ts +24 -0
- package/dist/lib/mysql/workflows/create-event.js +9 -0
- package/dist/lib/mysql/workflows/create-event.js.map +1 -0
- package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.cjs +231 -0
- package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.cjs.map +1 -0
- package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.d.cts +22 -0
- package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.d.ts +22 -0
- package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.js +8 -0
- package/dist/lib/mysql/workflows/create-merchant-charge-and-purchase.js.map +1 -0
- package/dist/lib/mysql/workflows/create-workshop.cjs +286 -0
- package/dist/lib/mysql/workflows/create-workshop.cjs.map +1 -0
- package/dist/lib/mysql/workflows/create-workshop.d.cts +24 -0
- package/dist/lib/mysql/workflows/create-workshop.d.ts +24 -0
- package/dist/lib/mysql/workflows/create-workshop.js +9 -0
- package/dist/lib/mysql/workflows/create-workshop.js.map +1 -0
- package/dist/lib/mysql/workflows/redeem-full-price-coupon.cjs +130 -0
- package/dist/lib/mysql/workflows/redeem-full-price-coupon.cjs.map +1 -0
- package/dist/lib/mysql/workflows/redeem-full-price-coupon.d.cts +24 -0
- package/dist/lib/mysql/workflows/redeem-full-price-coupon.d.ts +24 -0
- package/dist/lib/mysql/workflows/redeem-full-price-coupon.js +8 -0
- package/dist/lib/mysql/workflows/redeem-full-price-coupon.js.map +1 -0
- package/dist/lib/mysql/workflows/transfer-purchase-to-user.cjs +95 -0
- package/dist/lib/mysql/workflows/transfer-purchase-to-user.cjs.map +1 -0
- package/dist/lib/mysql/workflows/transfer-purchase-to-user.d.cts +30 -0
- package/dist/lib/mysql/workflows/transfer-purchase-to-user.d.ts +30 -0
- package/dist/lib/mysql/workflows/transfer-purchase-to-user.js +8 -0
- package/dist/lib/mysql/workflows/transfer-purchase-to-user.js.map +1 -0
- package/dist/lib/utils.d.cts +1 -10
- package/dist/lib/utils.d.ts +1 -10
- package/dist/types.d.ts +14 -0
- package/dist/types.js +1 -0
- package/package.json +9 -5
- package/src/index.ts +3 -2
- package/src/lib/mysql/context.ts +20 -0
- package/src/lib/mysql/index.ts +118 -4873
- package/src/lib/mysql/ports/auth-storage.ts +139 -0
- package/src/lib/mysql/ports/catalog.ts +610 -0
- package/src/lib/mysql/ports/content-resource.ts +442 -0
- package/src/lib/mysql/ports/coupon.ts +387 -0
- package/src/lib/mysql/ports/entitlement.ts +96 -0
- package/src/lib/mysql/ports/identity.ts +160 -0
- package/src/lib/mysql/ports/merchant.ts +274 -0
- package/src/lib/mysql/ports/organization.ts +216 -0
- package/src/lib/mysql/ports/progress.ts +366 -0
- package/src/lib/mysql/ports/purchase.ts +517 -0
- package/src/lib/mysql/ports/subscription.ts +93 -0
- package/src/lib/mysql/schema.ts +374 -0
- package/src/lib/mysql/schemas/org/organization-memberships.ts +7 -0
- package/src/lib/mysql/schemas/org/organizations.ts +8 -0
- package/src/lib/mysql/workflows/content-resource-workflow-utils.ts +22 -0
- package/src/lib/mysql/workflows/create-cohort.ts +239 -0
- package/src/lib/mysql/workflows/create-event-series.ts +384 -0
- package/src/lib/mysql/workflows/create-event.ts +232 -0
- package/src/lib/mysql/workflows/create-merchant-charge-and-purchase.ts +365 -0
- package/src/lib/mysql/workflows/create-workshop.ts +372 -0
- package/src/lib/mysql/workflows/redeem-full-price-coupon.ts +179 -0
- package/src/lib/mysql/workflows/transfer-purchase-to-user.ts +142 -0
- package/src/types.ts +33 -0
- package/dist/authjs.d.ts +0 -27
- package/dist/authjs.js +0 -1
- package/dist/chunk-62VSIVME.js +0 -4714
- package/dist/chunk-RVXF3JZ7.js +0 -8732
- package/dist/chunk-WEJL5OFI.js +0 -8732
- 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 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/lib/utils.d.cts
CHANGED
|
@@ -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/
|
|
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>;
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -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/
|
|
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>;
|
package/dist/types.d.ts
ADDED
|
@@ -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": "
|
|
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/
|
|
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": "^
|
|
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 {
|
|
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
|
-
):
|
|
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
|
+
}
|