@coursebuilder/adapter-drizzle 1.0.6 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/authjs.d.ts +27 -0
  2. package/dist/authjs.js +1 -0
  3. package/dist/chunk-3XHKEHGF.js +88 -0
  4. package/dist/{chunk-ENIKVP6O.js → chunk-4SMVVOU5.js} +2 -2
  5. package/dist/{chunk-EJ7UDN4T.js → chunk-52A4W4YI.js} +2 -2
  6. package/dist/{chunk-SUOPB24V.js → chunk-6VDGZ4KA.js} +2 -2
  7. package/dist/{chunk-MUFYDXA7.js → chunk-DB473RZJ.js} +9 -8
  8. package/dist/{chunk-XKCPXM63.js → chunk-DHII2GRW.js} +2 -2
  9. package/dist/{chunk-YMVONZZW.js → chunk-Q5NZ5UFZ.js} +2 -2
  10. package/dist/{chunk-5WMUBNWJ.js → chunk-QDWLBCD3.js} +2 -2
  11. package/dist/{chunk-MQSLKVLJ.js → chunk-RDAVEULA.js} +2 -2
  12. package/dist/{chunk-HEQ5MII4.js → chunk-ULJCXOOM.js} +564 -127
  13. package/dist/{chunk-U6XVAMCK.js → chunk-WPDVDHLH.js} +4 -3
  14. package/dist/index.d.ts +5 -3
  15. package/dist/index.js +15 -14
  16. package/dist/lib/mysql/index.cjs +967 -456
  17. package/dist/lib/mysql/index.cjs.map +1 -1
  18. package/dist/lib/mysql/index.d.cts +412 -6
  19. package/dist/lib/mysql/index.d.ts +412 -6
  20. package/dist/lib/mysql/index.js +15 -14
  21. package/dist/lib/mysql/schemas/auth/accounts.cjs.map +1 -1
  22. package/dist/lib/mysql/schemas/auth/accounts.d.cts +2 -2
  23. package/dist/lib/mysql/schemas/auth/accounts.d.ts +2 -2
  24. package/dist/lib/mysql/schemas/auth/accounts.js +3 -3
  25. package/dist/lib/mysql/schemas/auth/device-access-token.cjs.map +1 -1
  26. package/dist/lib/mysql/schemas/auth/device-access-token.js +4 -4
  27. package/dist/lib/mysql/schemas/auth/device-verification.cjs.map +1 -1
  28. package/dist/lib/mysql/schemas/auth/device-verification.js +4 -4
  29. package/dist/lib/mysql/schemas/auth/personal-access-token.cjs +288 -0
  30. package/dist/lib/mysql/schemas/auth/personal-access-token.cjs.map +1 -0
  31. package/dist/lib/mysql/schemas/auth/personal-access-token.d.cts +243 -0
  32. package/dist/lib/mysql/schemas/auth/personal-access-token.d.ts +243 -0
  33. package/dist/lib/mysql/schemas/auth/personal-access-token.js +21 -0
  34. package/dist/lib/mysql/schemas/auth/personal-access-token.js.map +1 -0
  35. package/dist/lib/mysql/schemas/auth/profiles.cjs.map +1 -1
  36. package/dist/lib/mysql/schemas/auth/profiles.js +3 -3
  37. package/dist/lib/mysql/schemas/auth/role-permissions.cjs.map +1 -1
  38. package/dist/lib/mysql/schemas/auth/role-permissions.js +4 -4
  39. package/dist/lib/mysql/schemas/auth/roles.cjs.map +1 -1
  40. package/dist/lib/mysql/schemas/auth/roles.js +3 -3
  41. package/dist/lib/mysql/schemas/auth/sessions.cjs.map +1 -1
  42. package/dist/lib/mysql/schemas/auth/sessions.js +4 -4
  43. package/dist/lib/mysql/schemas/auth/user-permissions.cjs.map +1 -1
  44. package/dist/lib/mysql/schemas/auth/user-permissions.js +3 -3
  45. package/dist/lib/mysql/schemas/auth/user-prefs.cjs.map +1 -1
  46. package/dist/lib/mysql/schemas/auth/user-prefs.js +3 -3
  47. package/dist/lib/mysql/schemas/auth/user-roles.cjs.map +1 -1
  48. package/dist/lib/mysql/schemas/auth/user-roles.js +3 -3
  49. package/dist/lib/mysql/schemas/auth/users.cjs +2 -1
  50. package/dist/lib/mysql/schemas/auth/users.cjs.map +1 -1
  51. package/dist/lib/mysql/schemas/auth/users.js +3 -3
  52. package/dist/lib/mysql/schemas/commerce/coupon.cjs +2 -1
  53. package/dist/lib/mysql/schemas/commerce/coupon.cjs.map +1 -1
  54. package/dist/lib/mysql/schemas/commerce/coupon.js +3 -3
  55. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs.map +1 -1
  56. package/dist/lib/mysql/schemas/commerce/merchant-charge.js +3 -3
  57. package/dist/lib/mysql/schemas/commerce/merchant-subscription.cjs.map +1 -1
  58. package/dist/lib/mysql/schemas/commerce/merchant-subscription.js +3 -3
  59. package/dist/lib/mysql/schemas/commerce/price.cjs.map +1 -1
  60. package/dist/lib/mysql/schemas/commerce/price.js +3 -3
  61. package/dist/lib/mysql/schemas/commerce/product.cjs.map +1 -1
  62. package/dist/lib/mysql/schemas/commerce/product.js +3 -3
  63. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs +2 -1
  64. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs.map +1 -1
  65. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.js +4 -4
  66. package/dist/lib/mysql/schemas/commerce/purchase.cjs +2 -1
  67. package/dist/lib/mysql/schemas/commerce/purchase.cjs.map +1 -1
  68. package/dist/lib/mysql/schemas/commerce/purchase.js +3 -3
  69. package/dist/lib/mysql/schemas/commerce/subscription.cjs.map +1 -1
  70. package/dist/lib/mysql/schemas/commerce/subscription.js +3 -3
  71. package/dist/lib/mysql/schemas/commerce/upgradable-products.cjs.map +1 -1
  72. package/dist/lib/mysql/schemas/commerce/upgradable-products.js +4 -4
  73. package/dist/lib/mysql/schemas/communication/comment.cjs.map +1 -1
  74. package/dist/lib/mysql/schemas/communication/comment.js +3 -3
  75. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs.map +1 -1
  76. package/dist/lib/mysql/schemas/communication/communication-preferences.js +3 -3
  77. package/dist/lib/mysql/schemas/communication/question-response.cjs.map +1 -1
  78. package/dist/lib/mysql/schemas/communication/question-response.js +4 -4
  79. package/dist/lib/mysql/schemas/content/content-contributions.cjs.map +1 -1
  80. package/dist/lib/mysql/schemas/content/content-contributions.js +3 -3
  81. package/dist/lib/mysql/schemas/content/content-resource-product.cjs.map +1 -1
  82. package/dist/lib/mysql/schemas/content/content-resource-product.js +3 -3
  83. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs.map +1 -1
  84. package/dist/lib/mysql/schemas/content/content-resource-resource.js +3 -3
  85. package/dist/lib/mysql/schemas/content/content-resource-tag.cjs.map +1 -1
  86. package/dist/lib/mysql/schemas/content/content-resource-tag.js +3 -3
  87. package/dist/lib/mysql/schemas/content/content-resource-version.cjs.map +1 -1
  88. package/dist/lib/mysql/schemas/content/content-resource-version.js +3 -3
  89. package/dist/lib/mysql/schemas/content/content-resource.cjs.map +1 -1
  90. package/dist/lib/mysql/schemas/content/content-resource.js +3 -3
  91. package/dist/lib/mysql/schemas/content/tag-tag.cjs.map +1 -1
  92. package/dist/lib/mysql/schemas/content/tag-tag.js +3 -3
  93. package/dist/lib/mysql/schemas/content/tag.cjs.map +1 -1
  94. package/dist/lib/mysql/schemas/content/tag.js +3 -3
  95. package/dist/lib/mysql/schemas/entitlements/entitlement.cjs +2 -1
  96. package/dist/lib/mysql/schemas/entitlements/entitlement.cjs.map +1 -1
  97. package/dist/lib/mysql/schemas/entitlements/entitlement.js +4 -4
  98. package/dist/lib/mysql/schemas/org/organization-membership-roles.cjs.map +1 -1
  99. package/dist/lib/mysql/schemas/org/organization-membership-roles.js +3 -3
  100. package/dist/lib/mysql/schemas/org/organization-memberships.cjs +2 -1
  101. package/dist/lib/mysql/schemas/org/organization-memberships.cjs.map +1 -1
  102. package/dist/lib/mysql/schemas/org/organization-memberships.js +3 -3
  103. package/dist/lib/mysql/schemas/org/organizations.cjs +2 -1
  104. package/dist/lib/mysql/schemas/org/organizations.cjs.map +1 -1
  105. package/dist/lib/mysql/schemas/org/organizations.js +3 -3
  106. package/dist/lib/utils.d.cts +3 -1
  107. package/dist/lib/utils.d.ts +3 -1
  108. package/package.json +9 -8
  109. package/src/authjs.ts +34 -0
  110. package/src/index.ts +2 -2
  111. package/src/lib/mysql/index.ts +224 -50
  112. package/src/lib/mysql/schemas/auth/accounts.ts +3 -2
  113. package/src/lib/mysql/schemas/auth/personal-access-token.ts +107 -0
  114. package/src/lib/mysql/schemas/commerce/purchase.ts +3 -0
  115. package/src/lib/mysql/schemas/entitlements/entitlement.ts +3 -0
@@ -0,0 +1,27 @@
1
+ import { Adapter } from '@auth/core/adapters';
2
+ import { CourseBuilderAdapter } from '@coursebuilder/core/adapters';
3
+ import { AuthStoragePort, UserProvisioningPort } from '@coursebuilder/core/auth';
4
+
5
+ /**
6
+ * Compatibility bridge between the Course Builder persistence
7
+ * {@link CourseBuilderAdapter}, the auth-runtime persistence
8
+ * {@link AuthStoragePort}, and the Auth.js {@link Adapter} contract.
9
+ *
10
+ * @typeParam TDatabaseInstance - Drizzle database constructor used to type the
11
+ * adapter client exposed by CourseBuilderAdapter.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * function mySqlDrizzleAdapter(): AuthJsCourseBuilderAdapter<typeof MySqlDatabase> {
16
+ * // ...
17
+ * }
18
+ * ```
19
+ *
20
+ * @deprecated ADR-0012 Phase 1 bridge for current Auth.js apps. Phase 2 should
21
+ * migrate callers to CourseBuilderAdapter + AuthStoragePort directly, with
22
+ * Auth.js compatibility handled at the application boundary instead of inside
23
+ * Course Builder core.
24
+ */
25
+ type AuthJsCourseBuilderAdapter<TDatabaseInstance extends abstract new (...args: any) => any = any> = CourseBuilderAdapter<TDatabaseInstance> & AuthStoragePort & UserProvisioningPort & Adapter;
26
+
27
+ export type { AuthJsCourseBuilderAdapter };
package/dist/authjs.js ADDED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=authjs.js.map
@@ -0,0 +1,88 @@
1
+ import {
2
+ getUsersSchema
3
+ } from "./chunk-DB473RZJ.js";
4
+ import {
5
+ __name
6
+ } from "./chunk-2X5XVNDN.js";
7
+
8
+ // src/lib/mysql/schemas/auth/personal-access-token.ts
9
+ import { relations, sql } from "drizzle-orm";
10
+ import { index, json, primaryKey, timestamp, uniqueIndex, varchar } from "drizzle-orm/mysql-core";
11
+ function getPersonalAccessTokenSchema(mysqlTable) {
12
+ return mysqlTable("PersonalAccessToken", {
13
+ id: varchar("id", {
14
+ length: 191
15
+ }).notNull(),
16
+ userId: varchar("userId", {
17
+ length: 191
18
+ }).notNull(),
19
+ name: varchar("name", {
20
+ length: 255
21
+ }).notNull(),
22
+ publicId: varchar("publicId", {
23
+ length: 64
24
+ }).notNull(),
25
+ tokenPrefix: varchar("tokenPrefix", {
26
+ length: 128
27
+ }).notNull(),
28
+ tokenHash: varchar("tokenHash", {
29
+ length: 128
30
+ }).notNull(),
31
+ scopes: json("scopes").$type().notNull(),
32
+ expiresAt: timestamp("expiresAt", {
33
+ mode: "date",
34
+ fsp: 3
35
+ }),
36
+ lastUsedAt: timestamp("lastUsedAt", {
37
+ mode: "date",
38
+ fsp: 3
39
+ }),
40
+ revokedAt: timestamp("revokedAt", {
41
+ mode: "date",
42
+ fsp: 3
43
+ }),
44
+ createdAt: timestamp("createdAt", {
45
+ mode: "date",
46
+ fsp: 3
47
+ }).default(sql`CURRENT_TIMESTAMP(3)`),
48
+ updatedAt: timestamp("updatedAt", {
49
+ mode: "date",
50
+ fsp: 3
51
+ }).default(sql`CURRENT_TIMESTAMP(3)`).$onUpdate(() => /* @__PURE__ */ new Date())
52
+ }, (pat) => ({
53
+ pk: primaryKey({
54
+ columns: [
55
+ pat.id
56
+ ]
57
+ }),
58
+ publicIdIdx: uniqueIndex("publicId_idx").on(pat.publicId),
59
+ tokenHashIdx: uniqueIndex("tokenHash_idx").on(pat.tokenHash),
60
+ userIdIdx: index("userId_idx").on(pat.userId),
61
+ expiresAtIdx: index("expiresAt_idx").on(pat.expiresAt),
62
+ revokedAtIdx: index("revokedAt_idx").on(pat.revokedAt)
63
+ }));
64
+ }
65
+ __name(getPersonalAccessTokenSchema, "getPersonalAccessTokenSchema");
66
+ function getPersonalAccessTokenRelationsSchema(mysqlTable, overrides = {}) {
67
+ const personalAccessToken = getPersonalAccessTokenSchema(mysqlTable);
68
+ const resolveUsersSchema = overrides.getUsersSchema ?? getUsersSchema;
69
+ const user = resolveUsersSchema(mysqlTable);
70
+ return relations(personalAccessToken, ({ one }) => ({
71
+ user: one(user, {
72
+ fields: [
73
+ personalAccessToken.userId
74
+ ],
75
+ references: [
76
+ user.id
77
+ ],
78
+ relationName: "user"
79
+ })
80
+ }));
81
+ }
82
+ __name(getPersonalAccessTokenRelationsSchema, "getPersonalAccessTokenRelationsSchema");
83
+
84
+ export {
85
+ getPersonalAccessTokenSchema,
86
+ getPersonalAccessTokenRelationsSchema
87
+ };
88
+ //# sourceMappingURL=chunk-3XHKEHGF.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getUsersSchema
3
- } from "./chunk-MUFYDXA7.js";
3
+ } from "./chunk-DB473RZJ.js";
4
4
  import {
5
5
  __name
6
6
  } from "./chunk-2X5XVNDN.js";
@@ -55,4 +55,4 @@ export {
55
55
  getDeviceAccessTokenSchema,
56
56
  getDeviceAccessTokenRelationsSchema
57
57
  };
58
- //# sourceMappingURL=chunk-ENIKVP6O.js.map
58
+ //# sourceMappingURL=chunk-4SMVVOU5.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getUsersSchema
3
- } from "./chunk-MUFYDXA7.js";
3
+ } from "./chunk-DB473RZJ.js";
4
4
  import {
5
5
  __name
6
6
  } from "./chunk-2X5XVNDN.js";
@@ -60,4 +60,4 @@ export {
60
60
  getDeviceVerificationSchema,
61
61
  getDeviceVerificationRelationsSchema
62
62
  };
63
- //# sourceMappingURL=chunk-EJ7UDN4T.js.map
63
+ //# sourceMappingURL=chunk-52A4W4YI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getRolesSchema
3
- } from "./chunk-MUFYDXA7.js";
3
+ } from "./chunk-DB473RZJ.js";
4
4
  import {
5
5
  getPermissionsSchema
6
6
  } from "./chunk-UWUDJCJM.js";
@@ -75,4 +75,4 @@ export {
75
75
  getRolePermissionsSchema,
76
76
  getRolePermissionsRelationsSchema
77
77
  };
78
- //# sourceMappingURL=chunk-SUOPB24V.js.map
78
+ //# sourceMappingURL=chunk-6VDGZ4KA.js.map
@@ -7,24 +7,24 @@ import {
7
7
  import {
8
8
  getCommunicationPreferenceTypesSchema
9
9
  } from "./chunk-QKFITIXC.js";
10
+ import {
11
+ getMerchantPriceSchema
12
+ } from "./chunk-PMCOC5PM.js";
10
13
  import {
11
14
  getMerchantProductSchema
12
15
  } from "./chunk-2I7NIOKI.js";
13
16
  import {
14
17
  getMerchantSessionSchema
15
18
  } from "./chunk-5NNBQJUP.js";
19
+ import {
20
+ getMerchantAccountSchema
21
+ } from "./chunk-DNBW5D64.js";
16
22
  import {
17
23
  getMerchantCouponSchema
18
24
  } from "./chunk-NON5CXDH.js";
19
25
  import {
20
26
  getMerchantCustomerSchema
21
27
  } from "./chunk-SIZFEXIS.js";
22
- import {
23
- getMerchantAccountSchema
24
- } from "./chunk-DNBW5D64.js";
25
- import {
26
- getMerchantPriceSchema
27
- } from "./chunk-PMCOC5PM.js";
28
28
  import {
29
29
  getPermissionsSchema
30
30
  } from "./chunk-UWUDJCJM.js";
@@ -1432,7 +1432,8 @@ function getPurchaseSchema(mysqlTable) {
1432
1432
  merchantChargeIdIdx: index19("idx_Purchase_on_merchantChargeId").on(table.merchantChargeId),
1433
1433
  purchaseUpgradedFromIdKey: unique4("Purchase_upgradedFromId_key").on(table.upgradedFromId),
1434
1434
  organizationIdIdx: index19("organizationId_idx").on(table.organizationId),
1435
- organizationMembershipIdIdx: index19("organizationMembershipId_idx").on(table.purchasedByorganizationMembershipId)
1435
+ organizationMembershipIdIdx: index19("organizationMembershipId_idx").on(table.purchasedByorganizationMembershipId),
1436
+ userStatusProductIdx: index19("idx_Purchase_on_userId_status_productId").on(table.userId, table.status, table.productId)
1436
1437
  };
1437
1438
  });
1438
1439
  }
@@ -2140,4 +2141,4 @@ export {
2140
2141
  getAccountsSchema,
2141
2142
  getAccountsRelationsSchema
2142
2143
  };
2143
- //# sourceMappingURL=chunk-MUFYDXA7.js.map
2144
+ //# sourceMappingURL=chunk-DB473RZJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getProductSchema
3
- } from "./chunk-MUFYDXA7.js";
3
+ } from "./chunk-DB473RZJ.js";
4
4
  import {
5
5
  __name
6
6
  } from "./chunk-2X5XVNDN.js";
@@ -76,4 +76,4 @@ export {
76
76
  getUpgradableProductsSchema,
77
77
  getUpgradableProductsRelationsSchema
78
78
  };
79
- //# sourceMappingURL=chunk-XKCPXM63.js.map
79
+ //# sourceMappingURL=chunk-DHII2GRW.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getUsersSchema
3
- } from "./chunk-MUFYDXA7.js";
3
+ } from "./chunk-DB473RZJ.js";
4
4
  import {
5
5
  __name
6
6
  } from "./chunk-2X5XVNDN.js";
@@ -46,4 +46,4 @@ export {
46
46
  getSessionsSchema,
47
47
  getSessionRelationsSchema
48
48
  };
49
- //# sourceMappingURL=chunk-YMVONZZW.js.map
49
+ //# sourceMappingURL=chunk-Q5NZ5UFZ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getPurchaseSchema,
3
3
  getUsersSchema
4
- } from "./chunk-MUFYDXA7.js";
4
+ } from "./chunk-DB473RZJ.js";
5
5
  import {
6
6
  __name
7
7
  } from "./chunk-2X5XVNDN.js";
@@ -109,4 +109,4 @@ export {
109
109
  getPurchaseUserTransferSchema,
110
110
  getPurchaseUserTransferRelationsSchema
111
111
  };
112
- //# sourceMappingURL=chunk-5WMUBNWJ.js.map
112
+ //# sourceMappingURL=chunk-QDWLBCD3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getContentResourceSchema,
3
3
  getUsersSchema
4
- } from "./chunk-MUFYDXA7.js";
4
+ } from "./chunk-DB473RZJ.js";
5
5
  import {
6
6
  __name
7
7
  } from "./chunk-2X5XVNDN.js";
@@ -98,4 +98,4 @@ export {
98
98
  getQuestionResponseSchema,
99
99
  getQuestionResponseRelationsSchema
100
100
  };
101
- //# sourceMappingURL=chunk-MQSLKVLJ.js.map
101
+ //# sourceMappingURL=chunk-RDAVEULA.js.map