@coursebuilder/adapter-drizzle 0.0.4 → 0.0.5

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 (188) hide show
  1. package/dist/{chunk-QM6AYTGN.js → chunk-6CBAFOL3.js} +5 -7
  2. package/dist/{chunk-NCDVIRG4.js → chunk-AIDEJDKJ.js} +5 -7
  3. package/dist/{chunk-34QNODEZ.js → chunk-BRGTUNY2.js} +5 -7
  4. package/dist/{chunk-WULUGMHP.js → chunk-H4MXNDWO.js} +5 -7
  5. package/dist/{chunk-JWWIIUV3.js → chunk-ICL7XZ2Y.js} +5 -7
  6. package/dist/{chunk-SBGLYMAH.js → chunk-JD4KFACE.js} +5 -7
  7. package/dist/{chunk-VID6JINS.js → chunk-JQFZOCAU.js} +98 -45
  8. package/dist/{chunk-ZUKX3WXB.js → chunk-KI47TR7F.js} +5 -7
  9. package/dist/{chunk-FZHAOQVB.js → chunk-KVN3JV7C.js} +5 -7
  10. package/dist/{chunk-H7XEMCP4.js → chunk-MBQ3TMHH.js} +5 -7
  11. package/dist/chunk-NISOQSUL.js +47 -0
  12. package/dist/chunk-PUGK2AEH.js +746 -0
  13. package/dist/{chunk-ABVLEWR5.js → chunk-SFJM6FKE.js} +5 -7
  14. package/dist/{chunk-QRRP7Y2V.js → chunk-TA6VLEV5.js} +5 -7
  15. package/dist/{chunk-BZPXYS6A.js → chunk-TMQIGK3N.js} +5 -7
  16. package/dist/{chunk-VWMY6XV7.js → chunk-US2EXVMI.js} +5 -7
  17. package/dist/{chunk-KFQAWBFP.js → chunk-UY3DVPP3.js} +5 -7
  18. package/dist/{chunk-M5NL4CY4.js → chunk-VEFCDI73.js} +5 -7
  19. package/dist/{chunk-EFO2N6T7.js → chunk-VZABQCFH.js} +5 -7
  20. package/dist/index.d.ts +1 -29
  21. package/dist/index.js +19 -30
  22. package/dist/lib/mysql/index.cjs +967 -769
  23. package/dist/lib/mysql/index.cjs.map +1 -1
  24. package/dist/lib/mysql/index.d.ts +4649 -745
  25. package/dist/lib/mysql/index.js +21 -117
  26. package/dist/lib/mysql/schemas/auth/accounts.cjs +124 -22
  27. package/dist/lib/mysql/schemas/auth/accounts.cjs.map +1 -1
  28. package/dist/lib/mysql/schemas/auth/accounts.d.ts +180 -178
  29. package/dist/lib/mysql/schemas/auth/accounts.js +5 -1
  30. package/dist/lib/mysql/schemas/auth/permissions.cjs +108 -14
  31. package/dist/lib/mysql/schemas/auth/permissions.cjs.map +1 -1
  32. package/dist/lib/mysql/schemas/auth/permissions.d.ts +96 -94
  33. package/dist/lib/mysql/schemas/auth/permissions.js +5 -1
  34. package/dist/lib/mysql/schemas/auth/role-permissions.cjs +146 -13
  35. package/dist/lib/mysql/schemas/auth/role-permissions.cjs.map +1 -1
  36. package/dist/lib/mysql/schemas/auth/role-permissions.d.ts +85 -82
  37. package/dist/lib/mysql/schemas/auth/role-permissions.js +5 -1
  38. package/dist/lib/mysql/schemas/auth/roles.cjs +110 -14
  39. package/dist/lib/mysql/schemas/auth/roles.cjs.map +1 -1
  40. package/dist/lib/mysql/schemas/auth/roles.d.ts +96 -94
  41. package/dist/lib/mysql/schemas/auth/roles.js +5 -1
  42. package/dist/lib/mysql/schemas/auth/sessions.cjs +116 -10
  43. package/dist/lib/mysql/schemas/auth/sessions.cjs.map +1 -1
  44. package/dist/lib/mysql/schemas/auth/sessions.d.ts +48 -46
  45. package/dist/lib/mysql/schemas/auth/sessions.js +6 -1
  46. package/dist/lib/mysql/schemas/auth/user-permissions.cjs +155 -15
  47. package/dist/lib/mysql/schemas/auth/user-permissions.cjs.map +1 -1
  48. package/dist/lib/mysql/schemas/auth/user-permissions.d.ts +85 -82
  49. package/dist/lib/mysql/schemas/auth/user-permissions.js +5 -1
  50. package/dist/lib/mysql/schemas/auth/user-roles.cjs +151 -13
  51. package/dist/lib/mysql/schemas/auth/user-roles.cjs.map +1 -1
  52. package/dist/lib/mysql/schemas/auth/user-roles.d.ts +85 -82
  53. package/dist/lib/mysql/schemas/auth/user-roles.js +5 -1
  54. package/dist/lib/mysql/schemas/auth/users.cjs +310 -14
  55. package/dist/lib/mysql/schemas/auth/users.cjs.map +1 -1
  56. package/dist/lib/mysql/schemas/auth/users.d.ts +101 -94
  57. package/dist/lib/mysql/schemas/auth/users.js +5 -1
  58. package/dist/lib/mysql/schemas/auth/verification-tokens.cjs +4 -6
  59. package/dist/lib/mysql/schemas/auth/verification-tokens.cjs.map +1 -1
  60. package/dist/lib/mysql/schemas/auth/verification-tokens.d.ts +55 -57
  61. package/dist/lib/mysql/schemas/auth/verification-tokens.js +1 -1
  62. package/dist/lib/mysql/schemas/commerce/coupon.cjs +4 -6
  63. package/dist/lib/mysql/schemas/commerce/coupon.cjs.map +1 -1
  64. package/dist/lib/mysql/schemas/commerce/coupon.d.ts +163 -165
  65. package/dist/lib/mysql/schemas/commerce/coupon.js +1 -1
  66. package/dist/lib/mysql/schemas/commerce/merchant-account.cjs +4 -6
  67. package/dist/lib/mysql/schemas/commerce/merchant-account.cjs.map +1 -1
  68. package/dist/lib/mysql/schemas/commerce/merchant-account.d.ts +67 -69
  69. package/dist/lib/mysql/schemas/commerce/merchant-account.js +1 -1
  70. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs +4 -6
  71. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs.map +1 -1
  72. package/dist/lib/mysql/schemas/commerce/merchant-charge.d.ts +103 -105
  73. package/dist/lib/mysql/schemas/commerce/merchant-charge.js +1 -1
  74. package/dist/lib/mysql/schemas/commerce/merchant-coupon.cjs +4 -6
  75. package/dist/lib/mysql/schemas/commerce/merchant-coupon.cjs.map +1 -1
  76. package/dist/lib/mysql/schemas/commerce/merchant-coupon.d.ts +79 -81
  77. package/dist/lib/mysql/schemas/commerce/merchant-coupon.js +1 -1
  78. package/dist/lib/mysql/schemas/commerce/merchant-customer.cjs +4 -6
  79. package/dist/lib/mysql/schemas/commerce/merchant-customer.cjs.map +1 -1
  80. package/dist/lib/mysql/schemas/commerce/merchant-customer.d.ts +79 -81
  81. package/dist/lib/mysql/schemas/commerce/merchant-customer.js +1 -1
  82. package/dist/lib/mysql/schemas/commerce/merchant-price.cjs +4 -6
  83. package/dist/lib/mysql/schemas/commerce/merchant-price.cjs.map +1 -1
  84. package/dist/lib/mysql/schemas/commerce/merchant-price.d.ts +91 -93
  85. package/dist/lib/mysql/schemas/commerce/merchant-price.js +1 -1
  86. package/dist/lib/mysql/schemas/commerce/merchant-product.cjs +4 -6
  87. package/dist/lib/mysql/schemas/commerce/merchant-product.cjs.map +1 -1
  88. package/dist/lib/mysql/schemas/commerce/merchant-product.d.ts +79 -81
  89. package/dist/lib/mysql/schemas/commerce/merchant-product.js +1 -1
  90. package/dist/lib/mysql/schemas/commerce/merchant-session.cjs +4 -6
  91. package/dist/lib/mysql/schemas/commerce/merchant-session.cjs.map +1 -1
  92. package/dist/lib/mysql/schemas/commerce/merchant-session.d.ts +43 -45
  93. package/dist/lib/mysql/schemas/commerce/merchant-session.js +1 -1
  94. package/dist/lib/mysql/schemas/commerce/price.cjs +4 -6
  95. package/dist/lib/mysql/schemas/commerce/price.cjs.map +1 -1
  96. package/dist/lib/mysql/schemas/commerce/price.d.ts +91 -93
  97. package/dist/lib/mysql/schemas/commerce/price.js +1 -1
  98. package/dist/lib/mysql/schemas/commerce/product.cjs +4 -6
  99. package/dist/lib/mysql/schemas/commerce/product.cjs.map +1 -1
  100. package/dist/lib/mysql/schemas/commerce/product.d.ts +91 -93
  101. package/dist/lib/mysql/schemas/commerce/product.js +1 -1
  102. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs +4 -6
  103. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs.map +1 -1
  104. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.d.ts +127 -129
  105. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.js +1 -1
  106. package/dist/lib/mysql/schemas/commerce/purchase.cjs +4 -6
  107. package/dist/lib/mysql/schemas/commerce/purchase.cjs.map +1 -1
  108. package/dist/lib/mysql/schemas/commerce/purchase.d.ts +211 -213
  109. package/dist/lib/mysql/schemas/commerce/purchase.js +1 -1
  110. package/dist/lib/mysql/schemas/communication/communication-channel.cjs +4 -6
  111. package/dist/lib/mysql/schemas/communication/communication-channel.cjs.map +1 -1
  112. package/dist/lib/mysql/schemas/communication/communication-channel.d.ts +91 -93
  113. package/dist/lib/mysql/schemas/communication/communication-channel.js +1 -1
  114. package/dist/lib/mysql/schemas/communication/communication-preference-types.cjs +4 -6
  115. package/dist/lib/mysql/schemas/communication/communication-preference-types.cjs.map +1 -1
  116. package/dist/lib/mysql/schemas/communication/communication-preference-types.d.ts +91 -93
  117. package/dist/lib/mysql/schemas/communication/communication-preference-types.js +1 -1
  118. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs +192 -20
  119. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs.map +1 -1
  120. package/dist/lib/mysql/schemas/communication/communication-preferences.d.ts +146 -142
  121. package/dist/lib/mysql/schemas/communication/communication-preferences.js +5 -1
  122. package/dist/lib/mysql/schemas/content/content-contributions.cjs +201 -17
  123. package/dist/lib/mysql/schemas/content/content-contributions.cjs.map +1 -1
  124. package/dist/lib/mysql/schemas/content/content-contributions.d.ts +110 -106
  125. package/dist/lib/mysql/schemas/content/content-contributions.js +5 -1
  126. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs +128 -18
  127. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs.map +1 -1
  128. package/dist/lib/mysql/schemas/content/content-resource-resource.d.ts +97 -94
  129. package/dist/lib/mysql/schemas/content/content-resource-resource.js +5 -1
  130. package/dist/lib/mysql/schemas/content/content-resource.cjs +198 -18
  131. package/dist/lib/mysql/schemas/content/content-resource.cjs.map +1 -1
  132. package/dist/lib/mysql/schemas/content/content-resource.d.ts +99 -94
  133. package/dist/lib/mysql/schemas/content/content-resource.js +5 -1
  134. package/dist/lib/mysql/schemas/content/contribution-types.cjs +113 -16
  135. package/dist/lib/mysql/schemas/content/contribution-types.cjs.map +1 -1
  136. package/dist/lib/mysql/schemas/content/contribution-types.d.ts +108 -106
  137. package/dist/lib/mysql/schemas/content/contribution-types.js +5 -1
  138. package/dist/lib/mysql/schemas/content/resource-progress.cjs +4 -6
  139. package/dist/lib/mysql/schemas/content/resource-progress.cjs.map +1 -1
  140. package/dist/lib/mysql/schemas/content/resource-progress.d.ts +79 -81
  141. package/dist/lib/mysql/schemas/content/resource-progress.js +1 -1
  142. package/dist/lib/pg.d.ts +1 -1
  143. package/dist/lib/sqlite.d.ts +1 -1
  144. package/dist/lib/utils.d.ts +1 -29
  145. package/package.json +1 -1
  146. package/src/lib/mysql/index.ts +95 -65
  147. package/src/lib/mysql/schemas/auth/accounts.ts +12 -3
  148. package/src/lib/mysql/schemas/auth/permissions.ts +10 -3
  149. package/src/lib/mysql/schemas/auth/role-permissions.ts +21 -3
  150. package/src/lib/mysql/schemas/auth/roles.ts +12 -3
  151. package/src/lib/mysql/schemas/auth/sessions.ts +12 -3
  152. package/src/lib/mysql/schemas/auth/user-permissions.ts +21 -3
  153. package/src/lib/mysql/schemas/auth/user-roles.ts +21 -3
  154. package/src/lib/mysql/schemas/auth/users.ts +26 -3
  155. package/src/lib/mysql/schemas/auth/verification-tokens.ts +2 -4
  156. package/src/lib/mysql/schemas/commerce/coupon.ts +2 -4
  157. package/src/lib/mysql/schemas/commerce/merchant-account.ts +2 -4
  158. package/src/lib/mysql/schemas/commerce/merchant-charge.ts +2 -4
  159. package/src/lib/mysql/schemas/commerce/merchant-coupon.ts +2 -4
  160. package/src/lib/mysql/schemas/commerce/merchant-customer.ts +2 -4
  161. package/src/lib/mysql/schemas/commerce/merchant-price.ts +2 -4
  162. package/src/lib/mysql/schemas/commerce/merchant-product.ts +2 -4
  163. package/src/lib/mysql/schemas/commerce/merchant-session.ts +2 -4
  164. package/src/lib/mysql/schemas/commerce/price.ts +2 -4
  165. package/src/lib/mysql/schemas/commerce/product.ts +2 -4
  166. package/src/lib/mysql/schemas/commerce/purchase-user-transfer.ts +2 -4
  167. package/src/lib/mysql/schemas/commerce/purchase.ts +2 -4
  168. package/src/lib/mysql/schemas/communication/communication-channel.ts +2 -4
  169. package/src/lib/mysql/schemas/communication/communication-preference-types.ts +20 -25
  170. package/src/lib/mysql/schemas/communication/communication-preferences.ts +30 -3
  171. package/src/lib/mysql/schemas/content/content-contributions.ts +31 -3
  172. package/src/lib/mysql/schemas/content/content-resource-resource.ts +23 -4
  173. package/src/lib/mysql/schemas/content/content-resource.ts +22 -4
  174. package/src/lib/mysql/schemas/content/contribution-types.ts +13 -3
  175. package/src/lib/mysql/schemas/content/resource-progress.ts +2 -4
  176. package/dist/chunk-7Z72PW3G.js +0 -60
  177. package/dist/chunk-C2G2KMWQ.js +0 -48
  178. package/dist/chunk-GJZCLS2Y.js +0 -29
  179. package/dist/chunk-HHQK736S.js +0 -40
  180. package/dist/chunk-I4NIW2NF.js +0 -46
  181. package/dist/chunk-IHQ3ARH4.js +0 -44
  182. package/dist/chunk-KEJBPPZC.js +0 -45
  183. package/dist/chunk-L3XBKPYA.js +0 -47
  184. package/dist/chunk-MHZHMZ5C.js +0 -47
  185. package/dist/chunk-MOO56C62.js +0 -46
  186. package/dist/chunk-RLTOQRJB.js +0 -40
  187. package/dist/chunk-SWOTLIQI.js +0 -46
  188. package/dist/chunk-XM4CEU6B.js +0 -54
@@ -1,86 +1,84 @@
1
1
  import * as drizzle_orm_mysql_core from 'drizzle-orm/mysql-core';
2
2
  import { MySqlTableFn } from 'drizzle-orm/mysql-core';
3
3
 
4
- declare const getResourceProgressSchema: (mysqlTable: MySqlTableFn) => {
5
- resourceProgress: drizzle_orm_mysql_core.MySqlTableWithColumns<{
6
- name: "resourceProgresses";
7
- schema: undefined;
8
- columns: {
9
- userId: drizzle_orm_mysql_core.MySqlColumn<{
10
- name: "userId";
11
- tableName: "resourceProgresses";
12
- dataType: "string";
13
- columnType: "MySqlVarChar";
14
- data: string;
15
- driverParam: string | number;
16
- notNull: true;
17
- hasDefault: false;
18
- enumValues: [string, ...string[]];
19
- baseColumn: never;
20
- }, object>;
21
- contentResourceId: drizzle_orm_mysql_core.MySqlColumn<{
22
- name: "contentResourceId";
23
- tableName: "resourceProgresses";
24
- dataType: "string";
25
- columnType: "MySqlVarChar";
26
- data: string;
27
- driverParam: string | number;
28
- notNull: false;
29
- hasDefault: false;
30
- enumValues: [string, ...string[]];
31
- baseColumn: never;
32
- }, object>;
33
- metadata: drizzle_orm_mysql_core.MySqlColumn<{
34
- name: "fields";
35
- tableName: "resourceProgresses";
36
- dataType: "json";
37
- columnType: "MySqlJson";
38
- data: Record<string, any>;
39
- driverParam: string;
40
- notNull: false;
41
- hasDefault: true;
42
- enumValues: undefined;
43
- baseColumn: never;
44
- }, object>;
45
- completedAt: drizzle_orm_mysql_core.MySqlColumn<{
46
- name: "completedAt";
47
- tableName: "resourceProgresses";
48
- dataType: "string";
49
- columnType: "MySqlDateTimeString";
50
- data: string;
51
- driverParam: string | number;
52
- notNull: false;
53
- hasDefault: false;
54
- enumValues: undefined;
55
- baseColumn: never;
56
- }, object>;
57
- updatedAt: drizzle_orm_mysql_core.MySqlColumn<{
58
- name: "updatedAt";
59
- tableName: "resourceProgresses";
60
- dataType: "string";
61
- columnType: "MySqlDateTimeString";
62
- data: string;
63
- driverParam: string | number;
64
- notNull: false;
65
- hasDefault: false;
66
- enumValues: undefined;
67
- baseColumn: never;
68
- }, object>;
69
- createdAt: drizzle_orm_mysql_core.MySqlColumn<{
70
- name: "createdAt";
71
- tableName: "resourceProgresses";
72
- dataType: "string";
73
- columnType: "MySqlDateTimeString";
74
- data: string;
75
- driverParam: string | number;
76
- notNull: true;
77
- hasDefault: true;
78
- enumValues: undefined;
79
- baseColumn: never;
80
- }, object>;
81
- };
82
- dialect: "mysql";
83
- }>;
84
- };
4
+ declare function getResourceProgressSchema(mysqlTable: MySqlTableFn): drizzle_orm_mysql_core.MySqlTableWithColumns<{
5
+ name: "resourceProgresses";
6
+ schema: undefined;
7
+ columns: {
8
+ userId: drizzle_orm_mysql_core.MySqlColumn<{
9
+ name: "userId";
10
+ tableName: "resourceProgresses";
11
+ dataType: "string";
12
+ columnType: "MySqlVarChar";
13
+ data: string;
14
+ driverParam: string | number;
15
+ notNull: true;
16
+ hasDefault: false;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ }, object>;
20
+ contentResourceId: drizzle_orm_mysql_core.MySqlColumn<{
21
+ name: "contentResourceId";
22
+ tableName: "resourceProgresses";
23
+ dataType: "string";
24
+ columnType: "MySqlVarChar";
25
+ data: string;
26
+ driverParam: string | number;
27
+ notNull: false;
28
+ hasDefault: false;
29
+ enumValues: [string, ...string[]];
30
+ baseColumn: never;
31
+ }, object>;
32
+ metadata: drizzle_orm_mysql_core.MySqlColumn<{
33
+ name: "fields";
34
+ tableName: "resourceProgresses";
35
+ dataType: "json";
36
+ columnType: "MySqlJson";
37
+ data: Record<string, any>;
38
+ driverParam: string;
39
+ notNull: false;
40
+ hasDefault: true;
41
+ enumValues: undefined;
42
+ baseColumn: never;
43
+ }, object>;
44
+ completedAt: drizzle_orm_mysql_core.MySqlColumn<{
45
+ name: "completedAt";
46
+ tableName: "resourceProgresses";
47
+ dataType: "string";
48
+ columnType: "MySqlDateTimeString";
49
+ data: string;
50
+ driverParam: string | number;
51
+ notNull: false;
52
+ hasDefault: false;
53
+ enumValues: undefined;
54
+ baseColumn: never;
55
+ }, object>;
56
+ updatedAt: drizzle_orm_mysql_core.MySqlColumn<{
57
+ name: "updatedAt";
58
+ tableName: "resourceProgresses";
59
+ dataType: "string";
60
+ columnType: "MySqlDateTimeString";
61
+ data: string;
62
+ driverParam: string | number;
63
+ notNull: false;
64
+ hasDefault: false;
65
+ enumValues: undefined;
66
+ baseColumn: never;
67
+ }, object>;
68
+ createdAt: drizzle_orm_mysql_core.MySqlColumn<{
69
+ name: "createdAt";
70
+ tableName: "resourceProgresses";
71
+ dataType: "string";
72
+ columnType: "MySqlDateTimeString";
73
+ data: string;
74
+ driverParam: string | number;
75
+ notNull: true;
76
+ hasDefault: true;
77
+ enumValues: undefined;
78
+ baseColumn: never;
79
+ }, object>;
80
+ };
81
+ dialect: "mysql";
82
+ }>;
85
83
 
86
84
  export { getResourceProgressSchema };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getResourceProgressSchema
3
- } from "../../../../chunk-KFQAWBFP.js";
3
+ } from "../../../../chunk-UY3DVPP3.js";
4
4
  import "../../../../chunk-VNI36MMC.js";
5
5
  export {
6
6
  getResourceProgressSchema
package/dist/lib/pg.d.ts CHANGED
@@ -103,7 +103,7 @@ declare function createTables(pgTable: PgTableFn): {
103
103
  tableName: "account";
104
104
  dataType: "string";
105
105
  columnType: "PgText";
106
- data: "oidc" | "oauth" | "email" | "webauthn";
106
+ data: "email" | "oidc" | "oauth" | "webauthn";
107
107
  driverParam: string;
108
108
  notNull: true;
109
109
  hasDefault: false;
@@ -104,7 +104,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
104
104
  tableName: "account";
105
105
  dataType: "string";
106
106
  columnType: "SQLiteText";
107
- data: "oidc" | "oauth" | "email" | "webauthn";
107
+ data: "email" | "oidc" | "oauth" | "webauthn";
108
108
  driverParam: string;
109
109
  notNull: true;
110
110
  hasDefault: false;
@@ -4,36 +4,8 @@ import { BaseSQLiteDatabase, AnySQLiteTable, SQLiteTableFn } from 'drizzle-orm/s
4
4
  import { DefaultSchema } from './mysql/index.js';
5
5
  import { DefaultSchema as DefaultSchema$1 } from './pg.js';
6
6
  import { DefaultSchema as DefaultSchema$2 } from './sqlite.js';
7
+ import 'drizzle-orm';
7
8
  import '@coursebuilder/core/adapters';
8
- import './mysql/schemas/auth/accounts.js';
9
- import './mysql/schemas/auth/permissions.js';
10
- import './mysql/schemas/auth/role-permissions.js';
11
- import './mysql/schemas/auth/roles.js';
12
- import './mysql/schemas/auth/sessions.js';
13
- import './mysql/schemas/auth/user-permissions.js';
14
- import './mysql/schemas/auth/user-roles.js';
15
- import './mysql/schemas/auth/users.js';
16
- import './mysql/schemas/auth/verification-tokens.js';
17
- import './mysql/schemas/commerce/coupon.js';
18
- import './mysql/schemas/commerce/merchant-account.js';
19
- import './mysql/schemas/commerce/merchant-charge.js';
20
- import './mysql/schemas/commerce/merchant-coupon.js';
21
- import './mysql/schemas/commerce/merchant-customer.js';
22
- import './mysql/schemas/commerce/merchant-price.js';
23
- import './mysql/schemas/commerce/merchant-product.js';
24
- import './mysql/schemas/commerce/merchant-session.js';
25
- import './mysql/schemas/commerce/price.js';
26
- import './mysql/schemas/commerce/product.js';
27
- import './mysql/schemas/commerce/purchase.js';
28
- import './mysql/schemas/commerce/purchase-user-transfer.js';
29
- import './mysql/schemas/communication/communication-channel.js';
30
- import './mysql/schemas/communication/communication-preference-types.js';
31
- import './mysql/schemas/communication/communication-preferences.js';
32
- import './mysql/schemas/content/content-contributions.js';
33
- import './mysql/schemas/content/content-resource.js';
34
- import './mysql/schemas/content/content-resource-resource.js';
35
- import './mysql/schemas/content/contribution-types.js';
36
- import './mysql/schemas/content/resource-progress.js';
37
9
  import 'drizzle-orm/sqlite-core/table.js';
38
10
  import 'drizzle-orm/sqlite-core/index.js';
39
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coursebuilder/adapter-drizzle",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Drizzle adapter for Course Builder.",
5
5
  "keywords": [
6
6
  "coursebuilder",
@@ -10,14 +10,32 @@ import {
10
10
  import { type CourseBuilderAdapter } from '@coursebuilder/core/adapters'
11
11
  import { VideoResourceSchema } from '@coursebuilder/core/schemas/video-resource'
12
12
 
13
- import { getAccountsSchema } from './schemas/auth/accounts'
14
- import { getPermissionsSchema } from './schemas/auth/permissions'
15
- import { getRolePermissionsSchema } from './schemas/auth/role-permissions'
16
- import { getRolesSchema } from './schemas/auth/roles'
17
- import { getSessionsSchema } from './schemas/auth/sessions'
18
- import { getUserPermissionsSchema } from './schemas/auth/user-permissions'
19
- import { getUserRolesSchema } from './schemas/auth/user-roles'
20
- import { getUsersSchema } from './schemas/auth/users'
13
+ import {
14
+ getAccountsRelationsSchema,
15
+ getAccountsSchema,
16
+ } from './schemas/auth/accounts'
17
+ import {
18
+ getPermissionsRelationsSchema,
19
+ getPermissionsSchema,
20
+ } from './schemas/auth/permissions'
21
+ import {
22
+ getRolePermissionsRelationsSchema,
23
+ getRolePermissionsSchema,
24
+ } from './schemas/auth/role-permissions'
25
+ import { getRolesRelationsSchema, getRolesSchema } from './schemas/auth/roles'
26
+ import {
27
+ getSessionRelationsSchema,
28
+ getSessionsSchema,
29
+ } from './schemas/auth/sessions'
30
+ import {
31
+ getUserPermissionsRelationsSchema,
32
+ getUserPermissionsSchema,
33
+ } from './schemas/auth/user-permissions'
34
+ import {
35
+ getUserRolesRelationsSchema,
36
+ getUserRolesSchema,
37
+ } from './schemas/auth/user-roles'
38
+ import { getUsersRelationsSchema, getUsersSchema } from './schemas/auth/users'
21
39
  import { getVerificationTokensSchema } from './schemas/auth/verification-tokens'
22
40
  import { getCouponSchema } from './schemas/commerce/coupon'
23
41
  import { getMerchantAccountSchema } from './schemas/commerce/merchant-account'
@@ -33,69 +51,81 @@ import { getPurchaseSchema } from './schemas/commerce/purchase'
33
51
  import { getPurchaseUserTransferSchema } from './schemas/commerce/purchase-user-transfer'
34
52
  import { getCommunicationChannelSchema } from './schemas/communication/communication-channel'
35
53
  import { getCommunicationPreferenceTypesSchema } from './schemas/communication/communication-preference-types'
36
- import { getCommunicationPreferencesSchema } from './schemas/communication/communication-preferences'
37
- import { getContentContributionsSchema } from './schemas/content/content-contributions'
38
- import { getContentResourceSchema } from './schemas/content/content-resource'
39
- import { getContentResourceResourceSchema } from './schemas/content/content-resource-resource'
40
- import { getContributionTypesSchema } from './schemas/content/contribution-types'
41
- import { getResourceProgressSchema } from './schemas/content/resource-progress'
42
-
43
- export {
44
- getAccountsSchema,
45
- getSessionsSchema,
46
- getUsersSchema,
47
- getVerificationTokensSchema,
48
- getCouponSchema,
49
- getMerchantAccountSchema,
50
- getMerchantChargeSchema,
51
- getMerchantCouponSchema,
52
- getMerchantCustomerSchema,
53
- getMerchantPriceSchema,
54
- getMerchantProductSchema,
55
- getMerchantSessionSchema,
56
- getPriceSchema,
57
- getProductSchema,
58
- getPurchaseSchema,
59
- getPurchaseUserTransferSchema,
60
- getContentResourceSchema,
61
- getContentResourceResourceSchema,
62
- getPermissionsSchema,
63
- getRolePermissionsSchema,
64
- getRolesSchema,
65
- getUserPermissionsSchema,
66
- getUserRolesSchema,
67
- getCommunicationChannelSchema,
68
- getCommunicationPreferenceTypesSchema,
54
+ import {
55
+ getCommunicationPreferencesRelationsSchema,
69
56
  getCommunicationPreferencesSchema,
57
+ } from './schemas/communication/communication-preferences'
58
+ import {
59
+ getContentContributionRelationsSchema,
70
60
  getContentContributionsSchema,
61
+ } from './schemas/content/content-contributions'
62
+ import {
63
+ getContentResourceRelationsSchema,
64
+ getContentResourceSchema,
65
+ } from './schemas/content/content-resource'
66
+ import {
67
+ getContentResourceResourceRelationsSchema,
68
+ getContentResourceResourceSchema,
69
+ } from './schemas/content/content-resource-resource'
70
+ import {
71
+ getContributionTypesRelationsSchema,
71
72
  getContributionTypesSchema,
72
- getResourceProgressSchema,
73
+ } from './schemas/content/contribution-types'
74
+ import { getResourceProgressSchema } from './schemas/content/resource-progress'
75
+
76
+ export function getCourseBuilderSchema(mysqlTable: MySqlTableFn) {
77
+ return {
78
+ accounts: getAccountsSchema(mysqlTable),
79
+ accountsRelations: getAccountsRelationsSchema(mysqlTable),
80
+ permissions: getPermissionsSchema(mysqlTable),
81
+ permissionsRelations: getPermissionsRelationsSchema(mysqlTable),
82
+ rolePermissions: getRolePermissionsSchema(mysqlTable),
83
+ rolePermissionsRelations: getRolePermissionsRelationsSchema(mysqlTable),
84
+ roles: getRolesSchema(mysqlTable),
85
+ rolesRelations: getRolesRelationsSchema(mysqlTable),
86
+ sessions: getSessionsSchema(mysqlTable),
87
+ sessionsRelations: getSessionRelationsSchema(mysqlTable),
88
+ userPermissions: getUserPermissionsSchema(mysqlTable),
89
+ userPermissionsRelations: getUserPermissionsRelationsSchema(mysqlTable),
90
+ userRoles: getUserRolesSchema(mysqlTable),
91
+ userRolesRelations: getUserRolesRelationsSchema(mysqlTable),
92
+ users: getUsersSchema(mysqlTable),
93
+ usersRelations: getUsersRelationsSchema(mysqlTable),
94
+ verificationTokens: getVerificationTokensSchema(mysqlTable),
95
+ coupon: getCouponSchema(mysqlTable),
96
+ merchantAccount: getMerchantAccountSchema(mysqlTable),
97
+ merchantCharge: getMerchantChargeSchema(mysqlTable),
98
+ merchantCoupon: getMerchantCouponSchema(mysqlTable),
99
+ merchantCustomer: getMerchantCustomerSchema(mysqlTable),
100
+ merchantPrice: getMerchantPriceSchema(mysqlTable),
101
+ merchantProduct: getMerchantProductSchema(mysqlTable),
102
+ merchantSession: getMerchantSessionSchema(mysqlTable),
103
+ price: getPriceSchema(mysqlTable),
104
+ product: getProductSchema(mysqlTable),
105
+ purchase: getPurchaseSchema(mysqlTable),
106
+ purchaseUserTransfer: getPurchaseUserTransferSchema(mysqlTable),
107
+ communicationChannel: getCommunicationChannelSchema(mysqlTable),
108
+ communicationPreferenceTypes:
109
+ getCommunicationPreferenceTypesSchema(mysqlTable),
110
+ communicationPreferences: getCommunicationPreferencesSchema(mysqlTable),
111
+ communicationPreferencesRelations:
112
+ getCommunicationPreferencesRelationsSchema(mysqlTable),
113
+ contentContributions: getContentContributionsSchema(mysqlTable),
114
+ contentContributionRelations:
115
+ getContentContributionRelationsSchema(mysqlTable),
116
+ contentResource: getContentResourceSchema(mysqlTable),
117
+ contentResourceRelations: getContentResourceRelationsSchema(mysqlTable),
118
+ contentResourceResource: getContentResourceResourceSchema(mysqlTable),
119
+ contentResourceResourceRelations:
120
+ getContentResourceResourceRelationsSchema(mysqlTable),
121
+ contributionTypes: getContributionTypesSchema(mysqlTable),
122
+ contributionTypesRelations: getContributionTypesRelationsSchema(mysqlTable),
123
+ resourceProgress: getResourceProgressSchema(mysqlTable),
124
+ } as const
73
125
  }
74
126
 
75
127
  export function createTables(mySqlTable: MySqlTableFn) {
76
- return {
77
- users: getUsersSchema(mySqlTable).users,
78
- accounts: getAccountsSchema(mySqlTable).accounts,
79
- sessions: getSessionsSchema(mySqlTable).sessions,
80
- verificationTokens:
81
- getVerificationTokensSchema(mySqlTable).verificationTokens,
82
- contentResource: getContentResourceSchema(mySqlTable).contentResource,
83
- contentResourceResource:
84
- getContentResourceResourceSchema(mySqlTable).contentResourceResource,
85
- purchase: getPurchaseSchema(mySqlTable).purchase,
86
- price: getPriceSchema(mySqlTable).price,
87
- product: getProductSchema(mySqlTable).product,
88
- purchaseUserTransfer:
89
- getPurchaseUserTransferSchema(mySqlTable).purchaseUserTransfer,
90
- merchantSession: getMerchantSessionSchema(mySqlTable).merchantSession,
91
- merchantProduct: getMerchantProductSchema(mySqlTable).merchantProduct,
92
- merchantPrice: getMerchantPriceSchema(mySqlTable).merchantPrice,
93
- merchantCustomer: getMerchantCustomerSchema(mySqlTable).merchantCustomer,
94
- merchantCoupon: getMerchantCouponSchema(mySqlTable).merchantCoupon,
95
- merchantCharge: getMerchantChargeSchema(mySqlTable).merchantCharge,
96
- merchantAccount: getMerchantAccountSchema(mySqlTable).merchantAccount,
97
- coupon: getCouponSchema(mySqlTable).coupon,
98
- }
128
+ return getCourseBuilderSchema(mySqlTable)
99
129
  }
100
130
 
101
131
  export type DefaultSchema = ReturnType<typeof createTables>
@@ -1,4 +1,5 @@
1
1
  import { AdapterAccount } from '@auth/core/adapters'
2
+ import { relations } from 'drizzle-orm'
2
3
  import {
3
4
  index,
4
5
  int,
@@ -8,8 +9,10 @@ import {
8
9
  varchar,
9
10
  } from 'drizzle-orm/mysql-core'
10
11
 
11
- export const getAccountsSchema = (mysqlTable: MySqlTableFn) => {
12
- const accounts = mysqlTable(
12
+ import { getUsersSchema } from './users'
13
+
14
+ export function getAccountsSchema(mysqlTable: MySqlTableFn) {
15
+ return mysqlTable(
13
16
  'account',
14
17
  {
15
18
  userId: varchar('userId', { length: 255 }).notNull(),
@@ -38,6 +41,12 @@ export const getAccountsSchema = (mysqlTable: MySqlTableFn) => {
38
41
  userIdIdx: index('userId_idx').on(account.userId),
39
42
  }),
40
43
  )
44
+ }
41
45
 
42
- return { accounts }
46
+ export function getAccountsRelationsSchema(mysqlTable: MySqlTableFn) {
47
+ const accounts = getAccountsSchema(mysqlTable)
48
+ const users = getUsersSchema(mysqlTable)
49
+ return relations(accounts, ({ one }) => ({
50
+ user: one(users, { fields: [accounts.userId], references: [users.id] }),
51
+ }))
43
52
  }
@@ -1,3 +1,4 @@
1
+ import { relations } from 'drizzle-orm'
1
2
  import {
2
3
  boolean,
3
4
  index,
@@ -7,8 +8,10 @@ import {
7
8
  varchar,
8
9
  } from 'drizzle-orm/mysql-core'
9
10
 
10
- export const getPermissionsSchema = (mysqlTable: MySqlTableFn) => {
11
- const permissions = mysqlTable(
11
+ import { getRolePermissionsSchema } from './role-permissions'
12
+
13
+ export function getPermissionsSchema(mysqlTable: MySqlTableFn) {
14
+ return mysqlTable(
12
15
  'permission',
13
16
  {
14
17
  id: varchar('id', { length: 255 }).notNull().primaryKey(),
@@ -32,6 +35,10 @@ export const getPermissionsSchema = (mysqlTable: MySqlTableFn) => {
32
35
  nameIdx: index('name_idx').on(permission.name),
33
36
  }),
34
37
  )
38
+ }
35
39
 
36
- return { permissions }
40
+ export function getPermissionsRelationsSchema(mysqlTable: MySqlTableFn) {
41
+ return relations(getPermissionsSchema(mysqlTable), ({ many }) => ({
42
+ rolePermissions: many(getRolePermissionsSchema(mysqlTable)),
43
+ }))
37
44
  }
@@ -1,3 +1,4 @@
1
+ import { relations } from 'drizzle-orm'
1
2
  import {
2
3
  boolean,
3
4
  index,
@@ -7,8 +8,11 @@ import {
7
8
  varchar,
8
9
  } from 'drizzle-orm/mysql-core'
9
10
 
10
- export const getRolePermissionsSchema = (mysqlTable: MySqlTableFn) => {
11
- const rolePermissions = mysqlTable(
11
+ import { getPermissionsSchema } from './permissions'
12
+ import { getRolesSchema } from './roles'
13
+
14
+ export function getRolePermissionsSchema(mysqlTable: MySqlTableFn) {
15
+ return mysqlTable(
12
16
  'rolePermission',
13
17
  {
14
18
  roleId: varchar('roleId', { length: 255 }).notNull(),
@@ -33,6 +37,20 @@ export const getRolePermissionsSchema = (mysqlTable: MySqlTableFn) => {
33
37
  permissionIdIdx: index('permissionId_idx').on(rp.permissionId),
34
38
  }),
35
39
  )
40
+ }
36
41
 
37
- return { rolePermissions }
42
+ export function getRolePermissionsRelationsSchema(mysqlTable: MySqlTableFn) {
43
+ const permissions = getPermissionsSchema(mysqlTable)
44
+ const roles = getRolesSchema(mysqlTable)
45
+ const rolePermissions = getRolePermissionsSchema(mysqlTable)
46
+ return relations(rolePermissions, ({ one }) => ({
47
+ role: one(roles, {
48
+ fields: [rolePermissions.roleId],
49
+ references: [roles.id],
50
+ }),
51
+ permission: one(permissions, {
52
+ fields: [rolePermissions.permissionId],
53
+ references: [permissions.id],
54
+ }),
55
+ }))
38
56
  }
@@ -1,3 +1,4 @@
1
+ import { relations } from 'drizzle-orm'
1
2
  import {
2
3
  boolean,
3
4
  index,
@@ -7,8 +8,10 @@ import {
7
8
  varchar,
8
9
  } from 'drizzle-orm/mysql-core'
9
10
 
10
- export const getRolesSchema = (mysqlTable: MySqlTableFn) => {
11
- const roles = mysqlTable(
11
+ import { getUserRolesSchema } from './user-roles'
12
+
13
+ export function getRolesSchema(mysqlTable: MySqlTableFn) {
14
+ return mysqlTable(
12
15
  'role',
13
16
  {
14
17
  id: varchar('id', { length: 255 }).notNull().primaryKey(),
@@ -32,6 +35,12 @@ export const getRolesSchema = (mysqlTable: MySqlTableFn) => {
32
35
  nameIdx: index('name_idx').on(role.name),
33
36
  }),
34
37
  )
38
+ }
35
39
 
36
- return { roles }
40
+ export function getRolesRelationsSchema(mysqlTable: MySqlTableFn) {
41
+ const roles = getRolesSchema(mysqlTable)
42
+ const userRoles = getUserRolesSchema(mysqlTable)
43
+ return relations(roles, ({ many }) => ({
44
+ userRoles: many(userRoles),
45
+ }))
37
46
  }
@@ -1,7 +1,10 @@
1
+ import { relations } from 'drizzle-orm'
1
2
  import { index, MySqlTableFn, timestamp, varchar } from 'drizzle-orm/mysql-core'
2
3
 
3
- export const getSessionsSchema = (mysqlTable: MySqlTableFn) => {
4
- const sessions = mysqlTable(
4
+ import { getUsersSchema } from './users'
5
+
6
+ export function getSessionsSchema(mysqlTable: MySqlTableFn) {
7
+ return mysqlTable(
5
8
  'session',
6
9
  {
7
10
  sessionToken: varchar('sessionToken', { length: 255 })
@@ -14,6 +17,12 @@ export const getSessionsSchema = (mysqlTable: MySqlTableFn) => {
14
17
  userIdIdx: index('userId_idx').on(session.userId),
15
18
  }),
16
19
  )
20
+ }
17
21
 
18
- return { sessions }
22
+ export function getSessionRelationsSchema(mysqlTable: MySqlTableFn) {
23
+ const sessions = getSessionsSchema(mysqlTable)
24
+ const users = getUsersSchema(mysqlTable)
25
+ return relations(sessions, ({ one }) => ({
26
+ user: one(users, { fields: [sessions.userId], references: [users.id] }),
27
+ }))
19
28
  }
@@ -1,3 +1,4 @@
1
+ import { relations } from 'drizzle-orm'
1
2
  import {
2
3
  boolean,
3
4
  index,
@@ -7,8 +8,11 @@ import {
7
8
  varchar,
8
9
  } from 'drizzle-orm/mysql-core'
9
10
 
10
- export const getUserPermissionsSchema = (mysqlTable: MySqlTableFn) => {
11
- const userPermissions = mysqlTable(
11
+ import { getPermissionsSchema } from './permissions'
12
+ import { getUsersSchema } from './users'
13
+
14
+ export function getUserPermissionsSchema(mysqlTable: MySqlTableFn) {
15
+ return mysqlTable(
12
16
  'userPermission',
13
17
  {
14
18
  userId: varchar('userId', { length: 255 }).notNull(),
@@ -33,6 +37,20 @@ export const getUserPermissionsSchema = (mysqlTable: MySqlTableFn) => {
33
37
  permissionIdIdx: index('permissionId_idx').on(up.permissionId),
34
38
  }),
35
39
  )
40
+ }
36
41
 
37
- return { userPermissions }
42
+ export function getUserPermissionsRelationsSchema(mysqlTable: MySqlTableFn) {
43
+ const userPermissions = getUserPermissionsSchema(mysqlTable)
44
+ const users = getUsersSchema(mysqlTable)
45
+ const permissions = getPermissionsSchema(mysqlTable)
46
+ return relations(userPermissions, ({ one }) => ({
47
+ user: one(users, {
48
+ fields: [userPermissions.userId],
49
+ references: [users.id],
50
+ }),
51
+ permission: one(permissions, {
52
+ fields: [userPermissions.permissionId],
53
+ references: [permissions.id],
54
+ }),
55
+ }))
38
56
  }