@coursebuilder/adapter-drizzle 0.0.7 → 0.1.1

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 (161) hide show
  1. package/dist/{chunk-ICL7XZ2Y.js → chunk-27KREOQW.js} +4 -4
  2. package/dist/{chunk-KVN3JV7C.js → chunk-44VDBYFU.js} +6 -6
  3. package/dist/{chunk-VEFCDI73.js → chunk-75V6F7LZ.js} +12 -12
  4. package/dist/{chunk-SQR6UWVO.js → chunk-7LAAAEVE.js} +165 -11
  5. package/dist/{chunk-TA6VLEV5.js → chunk-AFQGYW7Z.js} +4 -4
  6. package/dist/{chunk-US2EXVMI.js → chunk-CPE4P26C.js} +4 -4
  7. package/dist/{chunk-VZABQCFH.js → chunk-IN6G6MTW.js} +4 -4
  8. package/dist/{chunk-4HDU7QIB.js → chunk-ISURSRBK.js} +345 -324
  9. package/dist/{chunk-AIDEJDKJ.js → chunk-JKRFXYAR.js} +4 -4
  10. package/dist/{chunk-KI47TR7F.js → chunk-L2TQQYG4.js} +4 -4
  11. package/dist/{chunk-UY3DVPP3.js → chunk-LSOPFMDB.js} +4 -4
  12. package/dist/chunk-MCFL2YV4.js +4679 -0
  13. package/dist/{chunk-PFN4YUQZ.js → chunk-MYRB6GLJ.js} +4 -3
  14. package/dist/chunk-NZDLUQWP.js +44 -0
  15. package/dist/{chunk-22KIKVBY.js → chunk-O2KKII62.js} +163 -10
  16. package/dist/{chunk-MBQ3TMHH.js → chunk-OIUOQ3TT.js} +4 -4
  17. package/dist/chunk-QZOBGJSV.js +78 -0
  18. package/dist/chunk-RVYJDDZD.js +75 -0
  19. package/dist/chunk-V6QEDDFG.js +49 -0
  20. package/dist/{chunk-FRNVLW7N.js → chunk-Y34AIPU7.js} +34 -303
  21. package/dist/index.js +21 -17
  22. package/dist/lib/mysql/index.cjs +5896 -1367
  23. package/dist/lib/mysql/index.cjs.map +1 -1
  24. package/dist/lib/mysql/index.d.ts +325 -129
  25. package/dist/lib/mysql/index.js +19 -15
  26. package/dist/lib/mysql/schemas/auth/accounts.cjs +73 -57
  27. package/dist/lib/mysql/schemas/auth/accounts.cjs.map +1 -1
  28. package/dist/lib/mysql/schemas/auth/accounts.js +7 -1
  29. package/dist/lib/mysql/schemas/auth/permissions.cjs +9 -98
  30. package/dist/lib/mysql/schemas/auth/permissions.cjs.map +1 -1
  31. package/dist/lib/mysql/schemas/auth/permissions.d.ts +1 -3
  32. package/dist/lib/mysql/schemas/auth/permissions.js +1 -3
  33. package/dist/lib/mysql/schemas/auth/role-permissions.cjs +64 -43
  34. package/dist/lib/mysql/schemas/auth/role-permissions.cjs.map +1 -1
  35. package/dist/lib/mysql/schemas/auth/role-permissions.js +8 -1
  36. package/dist/lib/mysql/schemas/auth/roles.cjs +63 -46
  37. package/dist/lib/mysql/schemas/auth/roles.cjs.map +1 -1
  38. package/dist/lib/mysql/schemas/auth/roles.js +7 -1
  39. package/dist/lib/mysql/schemas/auth/sessions.cjs +63 -47
  40. package/dist/lib/mysql/schemas/auth/sessions.cjs.map +1 -1
  41. package/dist/lib/mysql/schemas/auth/sessions.js +8 -2
  42. package/dist/lib/mysql/schemas/auth/user-permissions.cjs +97 -82
  43. package/dist/lib/mysql/schemas/auth/user-permissions.cjs.map +1 -1
  44. package/dist/lib/mysql/schemas/auth/user-permissions.js +7 -1
  45. package/dist/lib/mysql/schemas/auth/user-roles.cjs +65 -48
  46. package/dist/lib/mysql/schemas/auth/user-roles.cjs.map +1 -1
  47. package/dist/lib/mysql/schemas/auth/user-roles.js +7 -1
  48. package/dist/lib/mysql/schemas/auth/users.cjs +233 -132
  49. package/dist/lib/mysql/schemas/auth/users.cjs.map +1 -1
  50. package/dist/lib/mysql/schemas/auth/users.d.ts +2 -1
  51. package/dist/lib/mysql/schemas/auth/users.js +7 -1
  52. package/dist/lib/mysql/schemas/commerce/coupon.cjs +4 -4
  53. package/dist/lib/mysql/schemas/commerce/coupon.cjs.map +1 -1
  54. package/dist/lib/mysql/schemas/commerce/coupon.d.ts +6 -6
  55. package/dist/lib/mysql/schemas/commerce/coupon.js +1 -1
  56. package/dist/lib/mysql/schemas/commerce/merchant-account.cjs +2 -2
  57. package/dist/lib/mysql/schemas/commerce/merchant-account.cjs.map +1 -1
  58. package/dist/lib/mysql/schemas/commerce/merchant-account.d.ts +3 -3
  59. package/dist/lib/mysql/schemas/commerce/merchant-account.js +1 -1
  60. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs +2 -2
  61. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs.map +1 -1
  62. package/dist/lib/mysql/schemas/commerce/merchant-charge.d.ts +3 -3
  63. package/dist/lib/mysql/schemas/commerce/merchant-charge.js +1 -1
  64. package/dist/lib/mysql/schemas/commerce/merchant-customer.cjs +2 -2
  65. package/dist/lib/mysql/schemas/commerce/merchant-customer.cjs.map +1 -1
  66. package/dist/lib/mysql/schemas/commerce/merchant-customer.d.ts +3 -3
  67. package/dist/lib/mysql/schemas/commerce/merchant-customer.js +1 -1
  68. package/dist/lib/mysql/schemas/commerce/merchant-price.cjs +2 -2
  69. package/dist/lib/mysql/schemas/commerce/merchant-price.cjs.map +1 -1
  70. package/dist/lib/mysql/schemas/commerce/merchant-price.d.ts +3 -3
  71. package/dist/lib/mysql/schemas/commerce/merchant-price.js +1 -1
  72. package/dist/lib/mysql/schemas/commerce/merchant-product.cjs +2 -2
  73. package/dist/lib/mysql/schemas/commerce/merchant-product.cjs.map +1 -1
  74. package/dist/lib/mysql/schemas/commerce/merchant-product.d.ts +3 -3
  75. package/dist/lib/mysql/schemas/commerce/merchant-product.js +1 -1
  76. package/dist/lib/mysql/schemas/commerce/price.cjs +2 -2
  77. package/dist/lib/mysql/schemas/commerce/price.cjs.map +1 -1
  78. package/dist/lib/mysql/schemas/commerce/price.d.ts +3 -3
  79. package/dist/lib/mysql/schemas/commerce/price.js +1 -1
  80. package/dist/lib/mysql/schemas/commerce/product.cjs +2 -2
  81. package/dist/lib/mysql/schemas/commerce/product.cjs.map +1 -1
  82. package/dist/lib/mysql/schemas/commerce/product.d.ts +3 -3
  83. package/dist/lib/mysql/schemas/commerce/product.js +1 -1
  84. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs +10 -10
  85. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs.map +1 -1
  86. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.d.ts +15 -15
  87. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.js +1 -1
  88. package/dist/lib/mysql/schemas/commerce/purchase.cjs +320 -21
  89. package/dist/lib/mysql/schemas/commerce/purchase.cjs.map +1 -1
  90. package/dist/lib/mysql/schemas/commerce/purchase.d.ts +12 -4
  91. package/dist/lib/mysql/schemas/commerce/purchase.js +11 -1
  92. package/dist/lib/mysql/schemas/commerce/upgradable-products.cjs +130 -0
  93. package/dist/lib/mysql/schemas/commerce/upgradable-products.cjs.map +1 -0
  94. package/dist/lib/mysql/schemas/commerce/upgradable-products.d.ts +101 -0
  95. package/dist/lib/mysql/schemas/commerce/upgradable-products.js +11 -0
  96. package/dist/lib/mysql/schemas/commerce/upgradable-products.js.map +1 -0
  97. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs +90 -72
  98. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs.map +1 -1
  99. package/dist/lib/mysql/schemas/communication/communication-preferences.js +7 -1
  100. package/dist/lib/mysql/schemas/content/content-contributions.cjs +94 -76
  101. package/dist/lib/mysql/schemas/content/content-contributions.cjs.map +1 -1
  102. package/dist/lib/mysql/schemas/content/content-contributions.js +7 -1
  103. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs +68 -53
  104. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs.map +1 -1
  105. package/dist/lib/mysql/schemas/content/content-resource-resource.d.ts +1 -1
  106. package/dist/lib/mysql/schemas/content/content-resource-resource.js +7 -1
  107. package/dist/lib/mysql/schemas/content/content-resource.cjs +81 -103
  108. package/dist/lib/mysql/schemas/content/content-resource.cjs.map +1 -1
  109. package/dist/lib/mysql/schemas/content/content-resource.d.ts +0 -1
  110. package/dist/lib/mysql/schemas/content/content-resource.js +7 -1
  111. package/dist/lib/mysql/schemas/content/contribution-types.cjs +11 -102
  112. package/dist/lib/mysql/schemas/content/contribution-types.cjs.map +1 -1
  113. package/dist/lib/mysql/schemas/content/contribution-types.d.ts +1 -3
  114. package/dist/lib/mysql/schemas/content/contribution-types.js +1 -3
  115. package/dist/lib/mysql/schemas/content/resource-progress.cjs +3 -3
  116. package/dist/lib/mysql/schemas/content/resource-progress.cjs.map +1 -1
  117. package/dist/lib/mysql/schemas/content/resource-progress.d.ts +9 -9
  118. package/dist/lib/mysql/schemas/content/resource-progress.js +1 -1
  119. package/dist/lib/mysql/utils.cjs +51 -0
  120. package/dist/lib/mysql/utils.cjs.map +1 -0
  121. package/dist/lib/mysql/utils.d.ts +12 -0
  122. package/dist/lib/mysql/utils.js +29 -0
  123. package/dist/lib/mysql/utils.js.map +1 -0
  124. package/dist/lib/pg.cjs +4289 -9
  125. package/dist/lib/pg.cjs.map +1 -1
  126. package/dist/lib/pg.d.ts +91 -0
  127. package/dist/lib/pg.js +2 -1
  128. package/dist/lib/sqlite.cjs +4285 -8
  129. package/dist/lib/sqlite.cjs.map +1 -1
  130. package/dist/lib/sqlite.js +2 -1
  131. package/package.json +6 -4
  132. package/src/lib/mysql/index.ts +694 -34
  133. package/src/lib/mysql/schemas/auth/accounts.ts +5 -1
  134. package/src/lib/mysql/schemas/auth/permissions.ts +1 -3
  135. package/src/lib/mysql/schemas/auth/role-permissions.ts +2 -0
  136. package/src/lib/mysql/schemas/auth/roles.ts +1 -1
  137. package/src/lib/mysql/schemas/auth/sessions.ts +5 -1
  138. package/src/lib/mysql/schemas/auth/user-permissions.ts +2 -0
  139. package/src/lib/mysql/schemas/auth/user-roles.ts +2 -0
  140. package/src/lib/mysql/schemas/auth/users.ts +23 -6
  141. package/src/lib/mysql/schemas/commerce/coupon.ts +3 -3
  142. package/src/lib/mysql/schemas/commerce/merchant-account.ts +2 -2
  143. package/src/lib/mysql/schemas/commerce/merchant-charge.ts +2 -2
  144. package/src/lib/mysql/schemas/commerce/merchant-customer.ts +2 -2
  145. package/src/lib/mysql/schemas/commerce/merchant-price.ts +2 -2
  146. package/src/lib/mysql/schemas/commerce/merchant-product.ts +2 -2
  147. package/src/lib/mysql/schemas/commerce/price.ts +2 -2
  148. package/src/lib/mysql/schemas/commerce/product.ts +2 -2
  149. package/src/lib/mysql/schemas/commerce/purchase-user-transfer.ts +6 -6
  150. package/src/lib/mysql/schemas/commerce/purchase.ts +49 -3
  151. package/src/lib/mysql/schemas/commerce/upgradable-products.ts +58 -0
  152. package/src/lib/mysql/schemas/communication/communication-preferences.ts +3 -0
  153. package/src/lib/mysql/schemas/content/content-contributions.ts +3 -0
  154. package/src/lib/mysql/schemas/content/content-resource-resource.ts +1 -1
  155. package/src/lib/mysql/schemas/content/content-resource.ts +1 -2
  156. package/src/lib/mysql/schemas/content/contribution-types.ts +1 -4
  157. package/src/lib/mysql/schemas/content/resource-progress.ts +3 -3
  158. package/src/lib/mysql/utils.ts +23 -0
  159. package/src/lib/pg.ts +298 -16
  160. package/src/lib/sqlite.ts +290 -15
  161. package/dist/chunk-BRGTUNY2.js +0 -78
@@ -25,133 +25,42 @@ __export(contribution_types_exports, {
25
25
  getContributionTypesSchema: () => getContributionTypesSchema
26
26
  });
27
27
  module.exports = __toCommonJS(contribution_types_exports);
28
- var import_drizzle_orm12 = require("drizzle-orm");
29
- var import_mysql_core14 = require("drizzle-orm/mysql-core");
30
-
31
- // src/lib/mysql/schemas/content/content-contributions.ts
32
- var import_drizzle_orm11 = require("drizzle-orm");
33
- var import_mysql_core13 = require("drizzle-orm/mysql-core");
34
-
35
- // src/lib/mysql/schemas/auth/users.ts
36
- var import_drizzle_orm10 = require("drizzle-orm");
37
- var import_mysql_core12 = require("drizzle-orm/mysql-core");
38
-
39
- // src/lib/mysql/schemas/communication/communication-preferences.ts
40
28
  var import_drizzle_orm = require("drizzle-orm");
41
- var import_mysql_core3 = require("drizzle-orm/mysql-core");
42
-
43
- // src/lib/mysql/schemas/communication/communication-channel.ts
44
29
  var import_mysql_core = require("drizzle-orm/mysql-core");
45
-
46
- // src/lib/mysql/schemas/communication/communication-preference-types.ts
47
- var import_mysql_core2 = require("drizzle-orm/mysql-core");
48
-
49
- // src/lib/mysql/schemas/content/content-resource.ts
50
- var import_drizzle_orm3 = require("drizzle-orm");
51
- var import_mysql_core5 = require("drizzle-orm/mysql-core");
52
-
53
- // src/lib/mysql/schemas/content/content-resource-resource.ts
54
- var import_drizzle_orm2 = require("drizzle-orm");
55
- var import_mysql_core4 = require("drizzle-orm/mysql-core");
56
-
57
- // src/lib/mysql/schemas/auth/accounts.ts
58
- var import_drizzle_orm4 = require("drizzle-orm");
59
- var import_mysql_core6 = require("drizzle-orm/mysql-core");
60
-
61
- // src/lib/mysql/schemas/auth/user-permissions.ts
62
- var import_drizzle_orm9 = require("drizzle-orm");
63
- var import_mysql_core11 = require("drizzle-orm/mysql-core");
64
-
65
- // src/lib/mysql/schemas/auth/permissions.ts
66
- var import_drizzle_orm8 = require("drizzle-orm");
67
- var import_mysql_core10 = require("drizzle-orm/mysql-core");
68
-
69
- // src/lib/mysql/schemas/auth/role-permissions.ts
70
- var import_drizzle_orm7 = require("drizzle-orm");
71
- var import_mysql_core9 = require("drizzle-orm/mysql-core");
72
-
73
- // src/lib/mysql/schemas/auth/roles.ts
74
- var import_drizzle_orm6 = require("drizzle-orm");
75
- var import_mysql_core8 = require("drizzle-orm/mysql-core");
76
-
77
- // src/lib/mysql/schemas/auth/user-roles.ts
78
- var import_drizzle_orm5 = require("drizzle-orm");
79
- var import_mysql_core7 = require("drizzle-orm/mysql-core");
80
-
81
- // src/lib/mysql/schemas/content/content-contributions.ts
82
- function getContentContributionsSchema(mysqlTable) {
83
- return mysqlTable("contentContribution", {
84
- id: (0, import_mysql_core13.varchar)("id", {
85
- length: 255
86
- }).notNull().primaryKey(),
87
- userId: (0, import_mysql_core13.varchar)("userId", {
88
- length: 255
89
- }).notNull(),
90
- contentId: (0, import_mysql_core13.varchar)("contentId", {
91
- length: 255
92
- }).notNull(),
93
- contributionTypeId: (0, import_mysql_core13.varchar)("contributionTypeId", {
94
- length: 255
95
- }).notNull(),
96
- active: (0, import_mysql_core13.boolean)("active").notNull().default(true),
97
- createdAt: (0, import_mysql_core13.timestamp)("createdAt", {
98
- mode: "date",
99
- fsp: 3
100
- }).defaultNow(),
101
- updatedAt: (0, import_mysql_core13.timestamp)("updatedAt", {
102
- mode: "date",
103
- fsp: 3
104
- }).defaultNow(),
105
- deletedAt: (0, import_mysql_core13.timestamp)("deletedAt", {
106
- mode: "date",
107
- fsp: 3
108
- })
109
- }, (cc) => ({
110
- userIdIdx: (0, import_mysql_core13.index)("userId_idx").on(cc.userId),
111
- contentIdIdx: (0, import_mysql_core13.index)("contentId_idx").on(cc.contentId),
112
- contributionTypeIdIdx: (0, import_mysql_core13.index)("contributionTypeId_idx").on(cc.contributionTypeId)
113
- }));
114
- }
115
- __name(getContentContributionsSchema, "getContentContributionsSchema");
116
-
117
- // src/lib/mysql/schemas/content/contribution-types.ts
118
30
  function getContributionTypesSchema(mysqlTable) {
119
31
  return mysqlTable("contributionType", {
120
- id: (0, import_mysql_core14.varchar)("id", {
32
+ id: (0, import_mysql_core.varchar)("id", {
121
33
  length: 255
122
34
  }).notNull().primaryKey(),
123
- slug: (0, import_mysql_core14.varchar)("slug", {
35
+ slug: (0, import_mysql_core.varchar)("slug", {
124
36
  length: 255
125
37
  }).notNull().unique(),
126
- name: (0, import_mysql_core14.varchar)("name", {
38
+ name: (0, import_mysql_core.varchar)("name", {
127
39
  length: 255
128
40
  }).notNull(),
129
- description: (0, import_mysql_core14.text)("description"),
130
- active: (0, import_mysql_core14.boolean)("active").notNull().default(true),
131
- createdAt: (0, import_mysql_core14.timestamp)("createdAt", {
41
+ description: (0, import_mysql_core.text)("description"),
42
+ active: (0, import_mysql_core.boolean)("active").notNull().default(true),
43
+ createdAt: (0, import_mysql_core.timestamp)("createdAt", {
132
44
  mode: "date",
133
45
  fsp: 3
134
46
  }).defaultNow(),
135
- updatedAt: (0, import_mysql_core14.timestamp)("updatedAt", {
47
+ updatedAt: (0, import_mysql_core.timestamp)("updatedAt", {
136
48
  mode: "date",
137
49
  fsp: 3
138
50
  }).defaultNow(),
139
- deletedAt: (0, import_mysql_core14.timestamp)("deletedAt", {
51
+ deletedAt: (0, import_mysql_core.timestamp)("deletedAt", {
140
52
  mode: "date",
141
53
  fsp: 3
142
54
  })
143
55
  }, (ct) => ({
144
- nameIdx: (0, import_mysql_core14.index)("name_idx").on(ct.name),
145
- slugIdx: (0, import_mysql_core14.index)("slug_idx").on(ct.slug)
56
+ nameIdx: (0, import_mysql_core.index)("name_idx").on(ct.name),
57
+ slugIdx: (0, import_mysql_core.index)("slug_idx").on(ct.slug)
146
58
  }));
147
59
  }
148
60
  __name(getContributionTypesSchema, "getContributionTypesSchema");
149
61
  function getContributionTypesRelationsSchema(mysqlTable) {
150
62
  const contributionTypes = getContributionTypesSchema(mysqlTable);
151
- const contentContributions = getContentContributionsSchema(mysqlTable);
152
- return (0, import_drizzle_orm12.relations)(contributionTypes, ({ many }) => ({
153
- contributions: many(contentContributions)
154
- }));
63
+ return (0, import_drizzle_orm.relations)(contributionTypes, ({ many }) => ({}));
155
64
  }
156
65
  __name(getContributionTypesRelationsSchema, "getContributionTypesRelationsSchema");
157
66
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/lib/mysql/schemas/content/contribution-types.ts","../../../../../src/lib/mysql/schemas/content/content-contributions.ts","../../../../../src/lib/mysql/schemas/auth/users.ts","../../../../../src/lib/mysql/schemas/communication/communication-preferences.ts","../../../../../src/lib/mysql/schemas/communication/communication-channel.ts","../../../../../src/lib/mysql/schemas/communication/communication-preference-types.ts","../../../../../src/lib/mysql/schemas/content/content-resource.ts","../../../../../src/lib/mysql/schemas/content/content-resource-resource.ts","../../../../../src/lib/mysql/schemas/auth/accounts.ts","../../../../../src/lib/mysql/schemas/auth/user-permissions.ts","../../../../../src/lib/mysql/schemas/auth/permissions.ts","../../../../../src/lib/mysql/schemas/auth/role-permissions.ts","../../../../../src/lib/mysql/schemas/auth/roles.ts","../../../../../src/lib/mysql/schemas/auth/user-roles.ts"],"sourcesContent":["import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getContentContributionsSchema } from './content-contributions.js'\n\nexport function getContributionTypesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'contributionType',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tslug: varchar('slug', { length: 255 }).notNull().unique(),\n\t\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(ct) => ({\n\t\t\tnameIdx: index('name_idx').on(ct.name),\n\t\t\tslugIdx: index('slug_idx').on(ct.slug),\n\t\t}),\n\t)\n}\n\nexport function getContributionTypesRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst contributionTypes = getContributionTypesSchema(mysqlTable)\n\tconst contentContributions = getContentContributionsSchema(mysqlTable)\n\n\treturn relations(contributionTypes, ({ many }) => ({\n\t\tcontributions: many(contentContributions),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema } from '../auth/users.js'\nimport { getContentResourceSchema } from './content-resource.js'\nimport { getContributionTypesSchema } from './contribution-types.js'\n\nexport function getContentContributionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'contentContribution',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\tcontentId: varchar('contentId', { length: 255 }).notNull(),\n\t\t\tcontributionTypeId: varchar('contributionTypeId', {\n\t\t\t\tlength: 255,\n\t\t\t}).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(cc) => ({\n\t\t\tuserIdIdx: index('userId_idx').on(cc.userId),\n\t\t\tcontentIdIdx: index('contentId_idx').on(cc.contentId),\n\t\t\tcontributionTypeIdIdx: index('contributionTypeId_idx').on(\n\t\t\t\tcc.contributionTypeId,\n\t\t\t),\n\t\t}),\n\t)\n}\n\nexport function getContentContributionRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\tconst contentContributions = getContentContributionsSchema(mysqlTable)\n\tconst users = getUsersSchema(mysqlTable)\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst contributionTypes = getContributionTypesSchema(mysqlTable)\n\n\treturn relations(contentContributions, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [contentContributions.userId],\n\t\t\treferences: [users.id],\n\t\t}),\n\t\tcontent: one(contentResource, {\n\t\t\tfields: [contentContributions.contentId],\n\t\t\treferences: [contentResource.id],\n\t\t}),\n\t\tcontributionType: one(contributionTypes, {\n\t\t\tfields: [contentContributions.contributionTypeId],\n\t\t\treferences: [contributionTypes.id],\n\t\t}),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tmysqlEnum,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getCommunicationPreferencesSchema } from '../communication/communication-preferences.js'\nimport { getContentContributionsSchema } from '../content/content-contributions.js'\nimport { getContentResourceSchema } from '../content/content-resource.js'\nimport { getAccountsSchema } from './accounts.js'\nimport { getUserPermissionsSchema } from './user-permissions.js'\nimport { getUserRolesSchema } from './user-roles.js'\n\nexport function getUsersSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'user',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tname: varchar('name', { length: 255 }),\n\t\t\trole: mysqlEnum('role', ['user', 'admin']).default('user'),\n\t\t\temail: varchar('email', { length: 255 }).notNull().unique(),\n\t\t\temailVerified: timestamp('emailVerified', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\timage: varchar('image', { length: 255 }),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t},\n\t\t(user) => ({\n\t\t\temailIdx: index('email_idx').on(user.email),\n\t\t\troleIdx: index('role_idx').on(user.role),\n\t\t\tcreatedAtIdx: index('created_at_idx').on(user.createdAt),\n\t\t}),\n\t)\n}\n\nexport function getUsersRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst users = getUsersSchema(mysqlTable)\n\tconst accounts = getAccountsSchema(mysqlTable)\n\tconst communicationPreferences = getCommunicationPreferencesSchema(mysqlTable)\n\tconst userRoles = getUserRolesSchema(mysqlTable)\n\tconst userPermissions = getUserPermissionsSchema(mysqlTable)\n\tconst contentContributions = getContentContributionsSchema(mysqlTable)\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\treturn relations(users, ({ many }) => ({\n\t\taccounts: many(accounts),\n\t\tcommunicationPreferences: many(communicationPreferences),\n\t\tuserRoles: many(userRoles),\n\t\tuserPermissions: many(userPermissions),\n\t\tcontributions: many(contentContributions),\n\t\tcreatedContent: many(contentResource),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tmysqlEnum,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema } from '../auth/users.js'\nimport { getCommunicationChannelSchema } from './communication-channel.js'\nimport { getCommunicationPreferenceTypesSchema } from './communication-preference-types.js'\n\nexport function getCommunicationPreferencesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'communicationPreference',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\tchannelId: varchar('channelId', { length: 255 }).notNull(),\n\t\t\tpreferenceLevel: mysqlEnum('preferenceLevel', ['low', 'medium', 'high'])\n\t\t\t\t.notNull()\n\t\t\t\t.default('medium'),\n\t\t\tpreferenceTypeId: varchar('preferenceTypeId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\toptInAt: timestamp('optInAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\toptOutAt: timestamp('optOutAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(cp) => ({\n\t\t\tuserIdIdx: index('userId_idx').on(cp.userId),\n\t\t\tpreferenceTypeIdx: index('preferenceTypeId_idx').on(cp.preferenceTypeId),\n\t\t\tchannelIdIdx: index('channelId_idx').on(cp.channelId),\n\t\t}),\n\t)\n}\n\nexport function getCommunicationPreferencesRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\tconst communicationPreferences = getCommunicationPreferencesSchema(mysqlTable)\n\tconst users = getUsersSchema(mysqlTable)\n\tconst communicationChannel = getCommunicationChannelSchema(mysqlTable)\n\tconst communicationPreferenceTypes =\n\t\tgetCommunicationPreferenceTypesSchema(mysqlTable)\n\treturn relations(communicationPreferences, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [communicationPreferences.userId],\n\t\t\treferences: [users.id],\n\t\t}),\n\t\tchannel: one(communicationChannel, {\n\t\t\tfields: [communicationPreferences.channelId],\n\t\t\treferences: [communicationChannel.id],\n\t\t}),\n\t\tpreferenceType: one(communicationPreferenceTypes, {\n\t\t\tfields: [communicationPreferences.preferenceTypeId],\n\t\t\treferences: [communicationPreferenceTypes.id],\n\t\t}),\n\t}))\n}\n","import {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getCommunicationChannelSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'communicationChannel',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(cc) => ({\n\t\t\tnameIdx: index('name_idx').on(cc.name),\n\t\t}),\n\t)\n}\n","import {\n\tboolean,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getCommunicationPreferenceTypesSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\treturn mysqlTable('communicationPreferenceType', {\n\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\tdescription: text('description'),\n\t\tactive: boolean('active').notNull().default(true),\n\t\tcreatedAt: timestamp('createdAt', {\n\t\t\tmode: 'date',\n\t\t\tfsp: 3,\n\t\t}).defaultNow(),\n\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\tmode: 'date',\n\t\t\tfsp: 3,\n\t\t}),\n\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\tmode: 'date',\n\t\t\tfsp: 3,\n\t\t}),\n\t})\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema } from '../auth/users.js'\nimport { getContentContributionsSchema } from './content-contributions.js'\nimport { getContentResourceResourceSchema } from './content-resource-resource.js'\n\nexport function getContentResourceSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'contentResource',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\ttype: varchar('type', { length: 255 }).notNull(),\n\t\t\tcreatedById: varchar('createdById', { length: 255 }).notNull(),\n\t\t\tfields: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(cm) => ({\n\t\t\ttypeIdx: index('type_idx').on(cm.type),\n\t\t\tcreatedByIdx: index('createdById_idx').on(cm.createdById),\n\t\t\tcreatedAtIdx: index('createdAt_idx').on(cm.createdAt),\n\t\t}),\n\t)\n}\n\nexport function getContentResourceRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst users = getUsersSchema(mysqlTable)\n\tconst contentContributions = getContentContributionsSchema(mysqlTable)\n\tconst contentResourceResource = getContentResourceResourceSchema(mysqlTable)\n\treturn relations(contentResource, ({ one, many }) => ({\n\t\tcreatedBy: one(users, {\n\t\t\tfields: [contentResource.createdById],\n\t\t\treferences: [users.id],\n\t\t}),\n\t\tcontributions: many(contentContributions),\n\t\tresources: many(contentResourceResource, { relationName: 'resourceOf' }),\n\t\tresourceOf: many(contentResourceResource, { relationName: 'resource' }),\n\t}))\n}\n","import { relations, sql } from 'drizzle-orm'\nimport {\n\tdouble,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getContentResourceSchema } from './content-resource.js'\n\nexport function getContentResourceResourceSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'contentResourceResource',\n\t\t{\n\t\t\tresourceOfId: varchar('resourceOfId', { length: 255 }).notNull(),\n\t\t\tresourceId: varchar('resourceId', { length: 255 }).notNull(),\n\t\t\tposition: double('position').notNull().default(0),\n\t\t\tmetadata: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).default(sql`CURRENT_TIMESTAMP(3)`),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.resourceOfId, crr.resourceId] }),\n\t\t\tcontentResourceIdIdx: index('contentResourceId_idx').on(crr.resourceOfId),\n\t\t\tresourceIdIdx: index('resourceId_idx').on(crr.resourceId),\n\t\t}),\n\t)\n}\n\nexport function getContentResourceResourceRelationsSchema(\n\tmysqlTable: MySqlTableFn,\n) {\n\tconst contentResource = getContentResourceSchema(mysqlTable)\n\tconst contentResourceResource = getContentResourceResourceSchema(mysqlTable)\n\treturn relations(contentResourceResource, ({ one }) => ({\n\t\tresourceOf: one(contentResource, {\n\t\t\tfields: [contentResourceResource.resourceOfId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'resourceOf',\n\t\t}),\n\t\tresource: one(contentResource, {\n\t\t\tfields: [contentResourceResource.resourceId],\n\t\t\treferences: [contentResource.id],\n\t\t\trelationName: 'resource',\n\t\t}),\n\t}))\n}\n","import { AdapterAccount } from '@auth/core/adapters'\nimport { relations } from 'drizzle-orm'\nimport {\n\tindex,\n\tint,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttext,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUsersSchema } from './users.js'\n\nexport function getAccountsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'account',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\ttype: varchar('type', { length: 255 })\n\t\t\t\t.$type<AdapterAccount['type']>()\n\t\t\t\t.notNull(),\n\t\t\tprovider: varchar('provider', { length: 255 }).notNull(),\n\t\t\tproviderAccountId: varchar('providerAccountId', {\n\t\t\t\tlength: 255,\n\t\t\t}).notNull(),\n\t\t\trefresh_token: text('refresh_token'),\n\t\t\taccess_token: text('access_token'),\n\t\t\toauth_token: text('oauth_token'),\n\t\t\toauth_token_secret: text('oauth_token_secret'),\n\t\t\texpires_at: int('expires_at'),\n\t\t\ttoken_type: varchar('token_type', { length: 255 }),\n\t\t\tscope: varchar('scope', { length: 255 }),\n\t\t\tid_token: text('id_token'),\n\t\t\tsession_state: varchar('session_state', { length: 255 }),\n\t\t\trefresh_token_expires_in: int('refresh_token_expires_in'),\n\t\t},\n\t\t(account) => ({\n\t\t\tpk: primaryKey({\n\t\t\t\tcolumns: [account.provider, account.providerAccountId],\n\t\t\t}),\n\t\t\tuserIdIdx: index('userId_idx').on(account.userId),\n\t\t}),\n\t)\n}\n\nexport function getAccountsRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst accounts = getAccountsSchema(mysqlTable)\n\tconst users = getUsersSchema(mysqlTable)\n\treturn relations(accounts, ({ one }) => ({\n\t\tuser: one(users, { fields: [accounts.userId], references: [users.id] }),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getPermissionsSchema } from './permissions.js'\nimport { getUsersSchema } from './users.js'\n\nexport function getUserPermissionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'userPermission',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\tpermissionId: varchar('permissionId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(up) => ({\n\t\t\tpk: primaryKey({ columns: [up.userId, up.permissionId] }),\n\t\t\tuserIdIdx: index('userId_idx').on(up.userId),\n\t\t\tpermissionIdIdx: index('permissionId_idx').on(up.permissionId),\n\t\t}),\n\t)\n}\n\nexport function getUserPermissionsRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst userPermissions = getUserPermissionsSchema(mysqlTable)\n\tconst users = getUsersSchema(mysqlTable)\n\tconst permissions = getPermissionsSchema(mysqlTable)\n\treturn relations(userPermissions, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [userPermissions.userId],\n\t\t\treferences: [users.id],\n\t\t}),\n\t\tpermission: one(permissions, {\n\t\t\tfields: [userPermissions.permissionId],\n\t\t\treferences: [permissions.id],\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getRolePermissionsSchema } from './role-permissions.js'\n\nexport function getPermissionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'permission',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tname: varchar('name', { length: 255 }).notNull().unique(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(permission) => ({\n\t\t\tnameIdx: index('name_idx').on(permission.name),\n\t\t}),\n\t)\n}\n\nexport function getPermissionsRelationsSchema(mysqlTable: MySqlTableFn) {\n\treturn relations(getPermissionsSchema(mysqlTable), ({ many }) => ({\n\t\trolePermissions: many(getRolePermissionsSchema(mysqlTable)),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getPermissionsSchema } from './permissions.js'\nimport { getRolesSchema } from './roles.js'\n\nexport function getRolePermissionsSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'rolePermission',\n\t\t{\n\t\t\troleId: varchar('roleId', { length: 255 }).notNull(),\n\t\t\tpermissionId: varchar('permissionId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(rp) => ({\n\t\t\tpk: primaryKey({ columns: [rp.roleId, rp.permissionId] }),\n\t\t\troleIdIdx: index('roleId_idx').on(rp.roleId),\n\t\t\tpermissionIdIdx: index('permissionId_idx').on(rp.permissionId),\n\t\t}),\n\t)\n}\n\nexport function getRolePermissionsRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst permissions = getPermissionsSchema(mysqlTable)\n\tconst roles = getRolesSchema(mysqlTable)\n\tconst rolePermissions = getRolePermissionsSchema(mysqlTable)\n\treturn relations(rolePermissions, ({ one }) => ({\n\t\trole: one(roles, {\n\t\t\tfields: [rolePermissions.roleId],\n\t\t\treferences: [roles.id],\n\t\t}),\n\t\tpermission: one(permissions, {\n\t\t\tfields: [rolePermissions.permissionId],\n\t\t\treferences: [permissions.id],\n\t\t}),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getUserRolesSchema } from './user-roles.js'\n\nexport function getRolesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'role',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tname: varchar('name', { length: 255 }).notNull().unique(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(role) => ({\n\t\t\tnameIdx: index('name_idx').on(role.name),\n\t\t}),\n\t)\n}\n\nexport function getRolesRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst roles = getRolesSchema(mysqlTable)\n\tconst userRoles = getUserRolesSchema(mysqlTable)\n\treturn relations(roles, ({ many }) => ({\n\t\tuserRoles: many(userRoles),\n\t}))\n}\n","import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\tprimaryKey,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getRolesSchema } from './roles.js'\nimport { getUsersSchema } from './users.js'\n\nexport function getUserRolesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'userRole',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 255 }).notNull(),\n\t\t\troleId: varchar('roleId', { length: 255 }).notNull(),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(ur) => ({\n\t\t\tpk: primaryKey({ columns: [ur.userId, ur.roleId] }),\n\t\t\tuserIdIdx: index('userId_idx').on(ur.userId),\n\t\t\troleIdIdx: index('roleId_idx').on(ur.roleId),\n\t\t}),\n\t)\n}\n\nexport function getUserRolesRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst userRoles = getUserRolesSchema(mysqlTable)\n\tconst users = getUsersSchema(mysqlTable)\n\tconst roles = getRolesSchema(mysqlTable)\n\treturn relations(userRoles, ({ one }) => ({\n\t\tuser: one(users, {\n\t\t\tfields: [userRoles.userId],\n\t\t\treferences: [users.id],\n\t\t}),\n\t\trole: one(roles, {\n\t\t\tfields: [userRoles.roleId],\n\t\t\treferences: [roles.id],\n\t\t}),\n\t}))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;IAAAA,uBAA0B;AAC1B,IAAAC,sBAOO;;;ACRP,IAAAC,uBAA0B;AAC1B,IAAAC,sBAMO;;;ACPP,IAAAC,uBAA+B;AAC/B,IAAAC,sBAMO;;;ACPP,yBAA0B;AAC1B,IAAAC,qBAOO;;;ACRP,wBAOO;;;ACPP,IAAAC,qBAMO;;;ACNP,IAAAC,sBAA+B;AAC/B,IAAAC,qBAMO;;;ACPP,IAAAC,sBAA+B;AAC/B,IAAAC,qBAQO;;;ACRP,IAAAC,sBAA0B;AAC1B,IAAAC,qBAOO;;;ACTP,IAAAC,sBAA0B;AAC1B,IAAAC,sBAOO;;;ACRP,IAAAC,sBAA0B;AAC1B,IAAAC,sBAOO;;;ACRP,IAAAC,sBAA0B;AAC1B,IAAAC,qBAOO;;;ACRP,IAAAC,sBAA0B;AAC1B,IAAAC,qBAOO;;;ACRP,IAAAC,sBAA0B;AAC1B,IAAAC,qBAOO;;;AZKA,SAASC,8BAA8BC,YAAwB;AACrE,SAAOA,WACN,uBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,YAAQJ,6BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDG,eAAWL,6BAAQ,aAAa;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IACxDI,wBAAoBN,6BAAQ,sBAAsB;MACjDC,QAAQ;IACT,CAAA,EAAGC,QAAO;IACVK,YAAQC,6BAAQ,QAAA,EAAUN,QAAO,EAAGO,QAAQ,IAAA;IAC5CC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,eAAWC,2BAAM,YAAA,EAAcC,GAAGH,GAAGb,MAAM;IAC3CiB,kBAAcF,2BAAM,eAAA,EAAiBC,GAAGH,GAAGZ,SAAS;IACpDiB,2BAAuBH,2BAAM,wBAAA,EAA0BC,GACtDH,GAAGX,kBAAkB;EAEvB,EAAA;AAEF;AAhCgBT;;;ADDT,SAAS0B,2BAA2BC,YAAwB;AAClE,SAAOA,WACN,oBACA;IACCC,QAAIC,6BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,UAAMJ,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGG,OAAM;IACvDC,UAAMN,6BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CK,iBAAaC,0BAAK,aAAA;IAClBC,YAAQC,6BAAQ,QAAA,EAAUR,QAAO,EAAGS,QAAQ,IAAA;IAC5CC,eAAWC,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,+BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,aAASC,2BAAM,UAAA,EAAYC,GAAGH,GAAGb,IAAI;IACrCiB,aAASF,2BAAM,UAAA,EAAYC,GAAGH,GAAGf,IAAI;EACtC,EAAA;AAEF;AA3BgBP;AA6BT,SAAS2B,oCAAoC1B,YAAwB;AAC3E,QAAM2B,oBAAoB5B,2BAA2BC,UAAAA;AACrD,QAAM4B,uBAAuBC,8BAA8B7B,UAAAA;AAE3D,aAAO8B,gCAAUH,mBAAmB,CAAC,EAAEI,KAAI,OAAQ;IAClDC,eAAeD,KAAKH,oBAAAA;EACrB,EAAA;AACD;AAPgBF;","names":["import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_mysql_core","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","import_drizzle_orm","import_mysql_core","getContentContributionsSchema","mysqlTable","id","varchar","length","notNull","primaryKey","userId","contentId","contributionTypeId","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","cc","userIdIdx","index","on","contentIdIdx","contributionTypeIdIdx","getContributionTypesSchema","mysqlTable","id","varchar","length","notNull","primaryKey","slug","unique","name","description","text","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","ct","nameIdx","index","on","slugIdx","getContributionTypesRelationsSchema","contributionTypes","contentContributions","getContentContributionsSchema","relations","many","contributions"]}
1
+ {"version":3,"sources":["../../../../../src/lib/mysql/schemas/content/contribution-types.ts"],"sourcesContent":["import { relations } from 'drizzle-orm'\nimport {\n\tboolean,\n\tindex,\n\tMySqlTableFn,\n\ttext,\n\ttimestamp,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nimport { getContentContributionsSchema } from './content-contributions.js'\n\nexport function getContributionTypesSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'contributionType',\n\t\t{\n\t\t\tid: varchar('id', { length: 255 }).notNull().primaryKey(),\n\t\t\tslug: varchar('slug', { length: 255 }).notNull().unique(),\n\t\t\tname: varchar('name', { length: 255 }).notNull(),\n\t\t\tdescription: text('description'),\n\t\t\tactive: boolean('active').notNull().default(true),\n\t\t\tcreatedAt: timestamp('createdAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tupdatedAt: timestamp('updatedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}).defaultNow(),\n\t\t\tdeletedAt: timestamp('deletedAt', {\n\t\t\t\tmode: 'date',\n\t\t\t\tfsp: 3,\n\t\t\t}),\n\t\t},\n\t\t(ct) => ({\n\t\t\tnameIdx: index('name_idx').on(ct.name),\n\t\t\tslugIdx: index('slug_idx').on(ct.slug),\n\t\t}),\n\t)\n}\n\nexport function getContributionTypesRelationsSchema(mysqlTable: MySqlTableFn) {\n\tconst contributionTypes = getContributionTypesSchema(mysqlTable)\n\n\treturn relations(contributionTypes, ({ many }) => ({}))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;yBAA0B;AAC1B,wBAOO;AAIA,SAASA,2BAA2BC,YAAwB;AAClE,SAAOA,WACN,oBACA;IACCC,QAAIC,2BAAQ,MAAM;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGC,WAAU;IACvDC,UAAMJ,2BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO,EAAGG,OAAM;IACvDC,UAAMN,2BAAQ,QAAQ;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAC9CK,iBAAaC,wBAAK,aAAA;IAClBC,YAAQC,2BAAQ,QAAA,EAAUR,QAAO,EAAGS,QAAQ,IAAA;IAC5CC,eAAWC,6BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbC,eAAWJ,6BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA,EAAGC,WAAU;IACbE,eAAWL,6BAAU,aAAa;MACjCC,MAAM;MACNC,KAAK;IACN,CAAA;EACD,GACA,CAACI,QAAQ;IACRC,aAASC,yBAAM,UAAA,EAAYC,GAAGH,GAAGb,IAAI;IACrCiB,aAASF,yBAAM,UAAA,EAAYC,GAAGH,GAAGf,IAAI;EACtC,EAAA;AAEF;AA3BgBP;AA6BT,SAAS2B,oCAAoC1B,YAAwB;AAC3E,QAAM2B,oBAAoB5B,2BAA2BC,UAAAA;AAErD,aAAO4B,8BAAUD,mBAAmB,CAAC,EAAEE,KAAI,OAAQ,CAAC,EAAA;AACrD;AAJgBH;","names":["getContributionTypesSchema","mysqlTable","id","varchar","length","notNull","primaryKey","slug","unique","name","description","text","active","boolean","default","createdAt","timestamp","mode","fsp","defaultNow","updatedAt","deletedAt","ct","nameIdx","index","on","slugIdx","getContributionTypesRelationsSchema","contributionTypes","relations","many"]}
@@ -105,8 +105,6 @@ declare function getContributionTypesSchema(mysqlTable: MySqlTableFn): drizzle_o
105
105
  };
106
106
  dialect: "mysql";
107
107
  }>;
108
- declare function getContributionTypesRelationsSchema(mysqlTable: MySqlTableFn): drizzle_orm.Relations<"contributionType", {
109
- contributions: drizzle_orm.Many<"contentContribution">;
110
- }>;
108
+ declare function getContributionTypesRelationsSchema(mysqlTable: MySqlTableFn): drizzle_orm.Relations<"contributionType", {}>;
111
109
 
112
110
  export { getContributionTypesRelationsSchema, getContributionTypesSchema };
@@ -1,9 +1,7 @@
1
1
  import {
2
2
  getContributionTypesRelationsSchema,
3
3
  getContributionTypesSchema
4
- } from "../../../../chunk-4HDU7QIB.js";
5
- import "../../../../chunk-6CBAFOL3.js";
6
- import "../../../../chunk-SFJM6FKE.js";
4
+ } from "../../../../chunk-V6QEDDFG.js";
7
5
  import "../../../../chunk-VNI36MMC.js";
8
6
  export {
9
7
  getContributionTypesRelationsSchema,
@@ -36,15 +36,15 @@ function getResourceProgressSchema(mysqlTable) {
36
36
  }),
37
37
  metadata: (0, import_mysql_core.json)("fields").$type().default({}),
38
38
  completedAt: (0, import_mysql_core.datetime)("completedAt", {
39
- mode: "string",
39
+ mode: "date",
40
40
  fsp: 3
41
41
  }),
42
42
  updatedAt: (0, import_mysql_core.datetime)("updatedAt", {
43
- mode: "string",
43
+ mode: "date",
44
44
  fsp: 3
45
45
  }),
46
46
  createdAt: (0, import_mysql_core.datetime)("createdAt", {
47
- mode: "string",
47
+ mode: "date",
48
48
  fsp: 3
49
49
  }).default(import_drizzle_orm.sql`CURRENT_TIMESTAMP(3)`).notNull()
50
50
  }, (crp) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/lib/mysql/schemas/content/resource-progress.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\nimport {\n\tdatetime,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getResourceProgressSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'resourceProgresses',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 191 }).notNull(),\n\t\t\tcontentResourceId: varchar('contentResourceId', { length: 191 }),\n\t\t\tmetadata: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcompletedAt: datetime('completedAt', { mode: 'string', fsp: 3 }),\n\t\t\tupdatedAt: datetime('updatedAt', { mode: 'string', fsp: 3 }),\n\t\t\tcreatedAt: datetime('createdAt', { mode: 'string', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t},\n\t\t(crp) => {\n\t\t\treturn {\n\t\t\t\tuserIdLessonIdIdx: index('crp_userId_contentResourceId_idx').on(\n\t\t\t\t\tcrp.userId,\n\t\t\t\t\tcrp.contentResourceId,\n\t\t\t\t),\n\t\t\t\tpk: primaryKey({ columns: [crp.userId, crp.contentResourceId] }),\n\t\t\t\tcontentResourceIdIdx: index('contentResourceId_idx').on(\n\t\t\t\t\tcrp.contentResourceId,\n\t\t\t\t),\n\t\t\t\tuserIdIdx: index('resourceId_idx').on(crp.userId),\n\t\t\t}\n\t\t},\n\t)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;yBAAoB;AACpB,wBAOO;AAEA,SAASA,0BAA0BC,YAAwB;AACjE,SAAOA,WACN,sBACA;IACCC,YAAQC,2BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDC,uBAAmBH,2BAAQ,qBAAqB;MAAEC,QAAQ;IAAI,CAAA;IAC9DG,cAAUC,wBAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC/DC,iBAAaC,4BAAS,eAAe;MAAEC,MAAM;MAAUC,KAAK;IAAE,CAAA;IAC9DC,eAAWH,4BAAS,aAAa;MAAEC,MAAM;MAAUC,KAAK;IAAE,CAAA;IAC1DE,eAAWJ,4BAAS,aAAa;MAAEC,MAAM;MAAUC,KAAK;IAAE,CAAA,EACxDJ,QAAQO,4CAAyB,EACjCZ,QAAO;EACV,GACA,CAACa,QAAAA;AACA,WAAO;MACNC,uBAAmBC,yBAAM,kCAAA,EAAoCC,GAC5DH,IAAIhB,QACJgB,IAAIZ,iBAAiB;MAEtBgB,QAAIC,8BAAW;QAAEC,SAAS;UAACN,IAAIhB;UAAQgB,IAAIZ;;MAAmB,CAAA;MAC9DmB,0BAAsBL,yBAAM,uBAAA,EAAyBC,GACpDH,IAAIZ,iBAAiB;MAEtBoB,eAAWN,yBAAM,gBAAA,EAAkBC,GAAGH,IAAIhB,MAAM;IACjD;EACD,CAAA;AAEF;AA3BgBF;","names":["getResourceProgressSchema","mysqlTable","userId","varchar","length","notNull","contentResourceId","metadata","json","$type","default","completedAt","datetime","mode","fsp","updatedAt","createdAt","sql","crp","userIdLessonIdIdx","index","on","pk","primaryKey","columns","contentResourceIdIdx","userIdIdx"]}
1
+ {"version":3,"sources":["../../../../../src/lib/mysql/schemas/content/resource-progress.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\nimport {\n\tdatetime,\n\tindex,\n\tjson,\n\tMySqlTableFn,\n\tprimaryKey,\n\tvarchar,\n} from 'drizzle-orm/mysql-core'\n\nexport function getResourceProgressSchema(mysqlTable: MySqlTableFn) {\n\treturn mysqlTable(\n\t\t'resourceProgresses',\n\t\t{\n\t\t\tuserId: varchar('userId', { length: 191 }).notNull(),\n\t\t\tcontentResourceId: varchar('contentResourceId', { length: 191 }),\n\t\t\tmetadata: json('fields').$type<Record<string, any>>().default({}),\n\t\t\tcompletedAt: datetime('completedAt', { mode: 'date', fsp: 3 }),\n\t\t\tupdatedAt: datetime('updatedAt', { mode: 'date', fsp: 3 }),\n\t\t\tcreatedAt: datetime('createdAt', { mode: 'date', fsp: 3 })\n\t\t\t\t.default(sql`CURRENT_TIMESTAMP(3)`)\n\t\t\t\t.notNull(),\n\t\t},\n\t\t(crp) => {\n\t\t\treturn {\n\t\t\t\tuserIdLessonIdIdx: index('crp_userId_contentResourceId_idx').on(\n\t\t\t\t\tcrp.userId,\n\t\t\t\t\tcrp.contentResourceId,\n\t\t\t\t),\n\t\t\t\tpk: primaryKey({ columns: [crp.userId, crp.contentResourceId] }),\n\t\t\t\tcontentResourceIdIdx: index('contentResourceId_idx').on(\n\t\t\t\t\tcrp.contentResourceId,\n\t\t\t\t),\n\t\t\t\tuserIdIdx: index('resourceId_idx').on(crp.userId),\n\t\t\t}\n\t\t},\n\t)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;yBAAoB;AACpB,wBAOO;AAEA,SAASA,0BAA0BC,YAAwB;AACjE,SAAOA,WACN,sBACA;IACCC,YAAQC,2BAAQ,UAAU;MAAEC,QAAQ;IAAI,CAAA,EAAGC,QAAO;IAClDC,uBAAmBH,2BAAQ,qBAAqB;MAAEC,QAAQ;IAAI,CAAA;IAC9DG,cAAUC,wBAAK,QAAA,EAAUC,MAAK,EAAwBC,QAAQ,CAAC,CAAA;IAC/DC,iBAAaC,4BAAS,eAAe;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IAC5DC,eAAWH,4BAAS,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA;IACxDE,eAAWJ,4BAAS,aAAa;MAAEC,MAAM;MAAQC,KAAK;IAAE,CAAA,EACtDJ,QAAQO,4CAAyB,EACjCZ,QAAO;EACV,GACA,CAACa,QAAAA;AACA,WAAO;MACNC,uBAAmBC,yBAAM,kCAAA,EAAoCC,GAC5DH,IAAIhB,QACJgB,IAAIZ,iBAAiB;MAEtBgB,QAAIC,8BAAW;QAAEC,SAAS;UAACN,IAAIhB;UAAQgB,IAAIZ;;MAAmB,CAAA;MAC9DmB,0BAAsBL,yBAAM,uBAAA,EAAyBC,GACpDH,IAAIZ,iBAAiB;MAEtBoB,eAAWN,yBAAM,gBAAA,EAAkBC,GAAGH,IAAIhB,MAAM;IACjD;EACD,CAAA;AAEF;AA3BgBF;","names":["getResourceProgressSchema","mysqlTable","userId","varchar","length","notNull","contentResourceId","metadata","json","$type","default","completedAt","datetime","mode","fsp","updatedAt","createdAt","sql","crp","userIdLessonIdIdx","index","on","pk","primaryKey","columns","contentResourceIdIdx","userIdIdx"]}
@@ -44,9 +44,9 @@ declare function getResourceProgressSchema(mysqlTable: MySqlTableFn): drizzle_or
44
44
  completedAt: drizzle_orm_mysql_core.MySqlColumn<{
45
45
  name: "completedAt";
46
46
  tableName: "resourceProgresses";
47
- dataType: "string";
48
- columnType: "MySqlDateTimeString";
49
- data: string;
47
+ dataType: "date";
48
+ columnType: "MySqlDateTime";
49
+ data: Date;
50
50
  driverParam: string | number;
51
51
  notNull: false;
52
52
  hasDefault: false;
@@ -56,9 +56,9 @@ declare function getResourceProgressSchema(mysqlTable: MySqlTableFn): drizzle_or
56
56
  updatedAt: drizzle_orm_mysql_core.MySqlColumn<{
57
57
  name: "updatedAt";
58
58
  tableName: "resourceProgresses";
59
- dataType: "string";
60
- columnType: "MySqlDateTimeString";
61
- data: string;
59
+ dataType: "date";
60
+ columnType: "MySqlDateTime";
61
+ data: Date;
62
62
  driverParam: string | number;
63
63
  notNull: false;
64
64
  hasDefault: false;
@@ -68,9 +68,9 @@ declare function getResourceProgressSchema(mysqlTable: MySqlTableFn): drizzle_or
68
68
  createdAt: drizzle_orm_mysql_core.MySqlColumn<{
69
69
  name: "createdAt";
70
70
  tableName: "resourceProgresses";
71
- dataType: "string";
72
- columnType: "MySqlDateTimeString";
73
- data: string;
71
+ dataType: "date";
72
+ columnType: "MySqlDateTime";
73
+ data: Date;
74
74
  driverParam: string | number;
75
75
  notNull: true;
76
76
  hasDefault: true;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getResourceProgressSchema
3
- } from "../../../../chunk-UY3DVPP3.js";
3
+ } from "../../../../chunk-LSOPFMDB.js";
4
4
  import "../../../../chunk-VNI36MMC.js";
5
5
  export {
6
6
  getResourceProgressSchema
@@ -0,0 +1,51 @@
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/utils.ts
22
+ var utils_exports = {};
23
+ __export(utils_exports, {
24
+ datetimeUtc: () => datetimeUtc
25
+ });
26
+ module.exports = __toCommonJS(utils_exports);
27
+ var import_mysql_core = require("drizzle-orm/mysql-core");
28
+ var datetimeUtc = /* @__PURE__ */ __name((name, precision) => (0, import_mysql_core.customType)({
29
+ dataType() {
30
+ return `datetime(${precision})`;
31
+ },
32
+ toDriver(value) {
33
+ return mysqlDatetimeUtc(value);
34
+ },
35
+ fromDriver(value) {
36
+ return mysqlDatetimeUtcToDate(value);
37
+ }
38
+ })(name), "datetimeUtc");
39
+ function mysqlDatetimeUtc(date = /* @__PURE__ */ new Date()) {
40
+ return date.toISOString().slice(0, 19).replace("T", " ");
41
+ }
42
+ __name(mysqlDatetimeUtc, "mysqlDatetimeUtc");
43
+ function mysqlDatetimeUtcToDate(mysqlDatetimeUtc2) {
44
+ return /* @__PURE__ */ new Date(mysqlDatetimeUtc2.replace(" ", "T") + "Z");
45
+ }
46
+ __name(mysqlDatetimeUtcToDate, "mysqlDatetimeUtcToDate");
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ datetimeUtc
50
+ });
51
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/mysql/utils.ts"],"sourcesContent":["import { customType } from 'drizzle-orm/mysql-core'\n\nexport const datetimeUtc = (name: string, precision: number) =>\n\tcustomType<{ data: Date; driverData: string }>({\n\t\tdataType() {\n\t\t\treturn `datetime(${precision})`\n\t\t},\n\t\ttoDriver(value: Date): string {\n\t\t\treturn mysqlDatetimeUtc(value)\n\t\t},\n\t\tfromDriver(value: string): Date {\n\t\t\treturn mysqlDatetimeUtcToDate(value)\n\t\t},\n\t})(name)\n\nfunction mysqlDatetimeUtc(date: Date = new Date()) {\n\treturn date.toISOString().slice(0, 19).replace('T', ' ')\n}\n// Use this function instead of new Date() when converting a MySQL datetime to a\n// Date object so that the date is interpreted as UTC instead of local time (default behavior)\nfunction mysqlDatetimeUtcToDate(mysqlDatetimeUtc: string) {\n\treturn new Date(mysqlDatetimeUtc.replace(' ', 'T') + 'Z')\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;wBAA2B;AAEpB,IAAMA,cAAc,wBAACC,MAAcC,kBACzCC,8BAA+C;EAC9CC,WAAAA;AACC,WAAO,YAAYF;EACpB;EACAG,SAASC,OAAW;AACnB,WAAOC,iBAAiBD,KAAAA;EACzB;EACAE,WAAWF,OAAa;AACvB,WAAOG,uBAAuBH,KAAAA;EAC/B;AACD,CAAA,EAAGL,IAAAA,GAXuB;AAa3B,SAASM,iBAAiBG,OAAa,oBAAIC,KAAAA,GAAM;AAChD,SAAOD,KAAKE,YAAW,EAAGC,MAAM,GAAG,EAAA,EAAIC,QAAQ,KAAK,GAAA;AACrD;AAFSP;AAKT,SAASE,uBAAuBF,mBAAwB;AACvD,SAAO,oBAAII,KAAKJ,kBAAiBO,QAAQ,KAAK,GAAA,IAAO,GAAA;AACtD;AAFSL;","names":["datetimeUtc","name","precision","customType","dataType","toDriver","value","mysqlDatetimeUtc","fromDriver","mysqlDatetimeUtcToDate","date","Date","toISOString","slice","replace"]}
@@ -0,0 +1,12 @@
1
+ import * as drizzle_orm_mysql_core from 'drizzle-orm/mysql-core';
2
+
3
+ declare const datetimeUtc: (name: string, precision: number) => drizzle_orm_mysql_core.MySqlCustomColumnBuilder<{
4
+ name: string;
5
+ dataType: "custom";
6
+ columnType: "MySqlCustomColumn";
7
+ data: Date;
8
+ driverParam: string;
9
+ enumValues: undefined;
10
+ }>;
11
+
12
+ export { datetimeUtc };
@@ -0,0 +1,29 @@
1
+ import {
2
+ __name
3
+ } from "../../chunk-VNI36MMC.js";
4
+
5
+ // src/lib/mysql/utils.ts
6
+ import { customType } from "drizzle-orm/mysql-core";
7
+ var datetimeUtc = /* @__PURE__ */ __name((name, precision) => customType({
8
+ dataType() {
9
+ return `datetime(${precision})`;
10
+ },
11
+ toDriver(value) {
12
+ return mysqlDatetimeUtc(value);
13
+ },
14
+ fromDriver(value) {
15
+ return mysqlDatetimeUtcToDate(value);
16
+ }
17
+ })(name), "datetimeUtc");
18
+ function mysqlDatetimeUtc(date = /* @__PURE__ */ new Date()) {
19
+ return date.toISOString().slice(0, 19).replace("T", " ");
20
+ }
21
+ __name(mysqlDatetimeUtc, "mysqlDatetimeUtc");
22
+ function mysqlDatetimeUtcToDate(mysqlDatetimeUtc2) {
23
+ return /* @__PURE__ */ new Date(mysqlDatetimeUtc2.replace(" ", "T") + "Z");
24
+ }
25
+ __name(mysqlDatetimeUtcToDate, "mysqlDatetimeUtcToDate");
26
+ export {
27
+ datetimeUtc
28
+ };
29
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/mysql/utils.ts"],"sourcesContent":["import { customType } from 'drizzle-orm/mysql-core'\n\nexport const datetimeUtc = (name: string, precision: number) =>\n\tcustomType<{ data: Date; driverData: string }>({\n\t\tdataType() {\n\t\t\treturn `datetime(${precision})`\n\t\t},\n\t\ttoDriver(value: Date): string {\n\t\t\treturn mysqlDatetimeUtc(value)\n\t\t},\n\t\tfromDriver(value: string): Date {\n\t\t\treturn mysqlDatetimeUtcToDate(value)\n\t\t},\n\t})(name)\n\nfunction mysqlDatetimeUtc(date: Date = new Date()) {\n\treturn date.toISOString().slice(0, 19).replace('T', ' ')\n}\n// Use this function instead of new Date() when converting a MySQL datetime to a\n// Date object so that the date is interpreted as UTC instead of local time (default behavior)\nfunction mysqlDatetimeUtcToDate(mysqlDatetimeUtc: string) {\n\treturn new Date(mysqlDatetimeUtc.replace(' ', 'T') + 'Z')\n}\n"],"mappings":";;;;;AAAA,SAASA,kBAAkB;AAEpB,IAAMC,cAAc,wBAACC,MAAcC,cACzCC,WAA+C;EAC9CC,WAAAA;AACC,WAAO,YAAYF;EACpB;EACAG,SAASC,OAAW;AACnB,WAAOC,iBAAiBD,KAAAA;EACzB;EACAE,WAAWF,OAAa;AACvB,WAAOG,uBAAuBH,KAAAA;EAC/B;AACD,CAAA,EAAGL,IAAAA,GAXuB;AAa3B,SAASM,iBAAiBG,OAAa,oBAAIC,KAAAA,GAAM;AAChD,SAAOD,KAAKE,YAAW,EAAGC,MAAM,GAAG,EAAA,EAAIC,QAAQ,KAAK,GAAA;AACrD;AAFSP;AAKT,SAASE,uBAAuBF,mBAAwB;AACvD,SAAO,oBAAII,KAAKJ,kBAAiBO,QAAQ,KAAK,GAAA,IAAO,GAAA;AACtD;AAFSL;","names":["customType","datetimeUtc","name","precision","customType","dataType","toDriver","value","mysqlDatetimeUtc","fromDriver","mysqlDatetimeUtcToDate","date","Date","toISOString","slice","replace"]}