@coursebuilder/adapter-drizzle 0.0.3 → 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 (239) hide show
  1. package/dist/chunk-6CBAFOL3.js +38 -0
  2. package/dist/chunk-AIDEJDKJ.js +44 -0
  3. package/dist/chunk-BRGTUNY2.js +78 -0
  4. package/dist/chunk-H4MXNDWO.js +34 -0
  5. package/dist/chunk-ICL7XZ2Y.js +50 -0
  6. package/dist/chunk-JD4KFACE.js +43 -0
  7. package/dist/chunk-JQFZOCAU.js +4099 -0
  8. package/dist/chunk-KI47TR7F.js +47 -0
  9. package/dist/chunk-KVN3JV7C.js +60 -0
  10. package/dist/chunk-LLWSIKQV.js +18 -0
  11. package/dist/chunk-MBQ3TMHH.js +44 -0
  12. package/dist/chunk-NISOQSUL.js +47 -0
  13. package/dist/chunk-PUGK2AEH.js +746 -0
  14. package/dist/chunk-RMRO5TA7.js +228 -0
  15. package/dist/chunk-SFJM6FKE.js +36 -0
  16. package/dist/chunk-SQR6UWVO.js +225 -0
  17. package/dist/chunk-TA6VLEV5.js +45 -0
  18. package/dist/chunk-TMQIGK3N.js +36 -0
  19. package/dist/chunk-US2EXVMI.js +42 -0
  20. package/dist/chunk-UY3DVPP3.js +48 -0
  21. package/dist/chunk-VEFCDI73.js +67 -0
  22. package/dist/chunk-VNI36MMC.js +7 -0
  23. package/dist/chunk-VZABQCFH.js +40 -0
  24. package/dist/index.d.ts +15 -0
  25. package/dist/index.js +54 -0
  26. package/dist/lib/mysql/index.cjs +5414 -0
  27. package/dist/lib/mysql/index.cjs.map +1 -0
  28. package/dist/lib/mysql/index.d.ts +5713 -0
  29. package/dist/lib/mysql/index.js +30 -0
  30. package/dist/lib/mysql/index.js.map +1 -0
  31. package/dist/lib/mysql/schemas/auth/accounts.cjs +177 -0
  32. package/dist/lib/mysql/schemas/auth/accounts.cjs.map +1 -0
  33. package/dist/lib/mysql/schemas/auth/accounts.d.ts +184 -0
  34. package/dist/lib/mysql/schemas/auth/accounts.js +12 -0
  35. package/dist/lib/mysql/schemas/auth/accounts.js.map +1 -0
  36. package/dist/lib/mysql/schemas/auth/permissions.cjs +155 -0
  37. package/dist/lib/mysql/schemas/auth/permissions.cjs.map +1 -0
  38. package/dist/lib/mysql/schemas/auth/permissions.d.ts +100 -0
  39. package/dist/lib/mysql/schemas/auth/permissions.js +12 -0
  40. package/dist/lib/mysql/schemas/auth/permissions.js.map +1 -0
  41. package/dist/lib/mysql/schemas/auth/role-permissions.cjs +200 -0
  42. package/dist/lib/mysql/schemas/auth/role-permissions.cjs.map +1 -0
  43. package/dist/lib/mysql/schemas/auth/role-permissions.d.ts +89 -0
  44. package/dist/lib/mysql/schemas/auth/role-permissions.js +12 -0
  45. package/dist/lib/mysql/schemas/auth/role-permissions.js.map +1 -0
  46. package/dist/lib/mysql/schemas/auth/roles.cjs +157 -0
  47. package/dist/lib/mysql/schemas/auth/roles.cjs.map +1 -0
  48. package/dist/lib/mysql/schemas/auth/roles.d.ts +100 -0
  49. package/dist/lib/mysql/schemas/auth/roles.js +12 -0
  50. package/dist/lib/mysql/schemas/auth/roles.js.map +1 -0
  51. package/dist/lib/mysql/schemas/auth/sessions.cjs +156 -0
  52. package/dist/lib/mysql/schemas/auth/sessions.cjs.map +1 -0
  53. package/dist/lib/mysql/schemas/auth/sessions.d.ts +52 -0
  54. package/dist/lib/mysql/schemas/auth/sessions.js +13 -0
  55. package/dist/lib/mysql/schemas/auth/sessions.js.map +1 -0
  56. package/dist/lib/mysql/schemas/auth/user-permissions.cjs +207 -0
  57. package/dist/lib/mysql/schemas/auth/user-permissions.cjs.map +1 -0
  58. package/dist/lib/mysql/schemas/auth/user-permissions.d.ts +89 -0
  59. package/dist/lib/mysql/schemas/auth/user-permissions.js +12 -0
  60. package/dist/lib/mysql/schemas/auth/user-permissions.js.map +1 -0
  61. package/dist/lib/mysql/schemas/auth/user-roles.cjs +205 -0
  62. package/dist/lib/mysql/schemas/auth/user-roles.cjs.map +1 -0
  63. package/dist/lib/mysql/schemas/auth/user-roles.d.ts +89 -0
  64. package/dist/lib/mysql/schemas/auth/user-roles.js +12 -0
  65. package/dist/lib/mysql/schemas/auth/user-roles.js.map +1 -0
  66. package/dist/lib/mysql/schemas/auth/users.cjs +364 -0
  67. package/dist/lib/mysql/schemas/auth/users.cjs.map +1 -0
  68. package/dist/lib/mysql/schemas/auth/users.d.ts +105 -0
  69. package/dist/lib/mysql/schemas/auth/users.js +12 -0
  70. package/dist/lib/mysql/schemas/auth/users.js.map +1 -0
  71. package/dist/lib/mysql/schemas/auth/verification-tokens.cjs +57 -0
  72. package/dist/lib/mysql/schemas/auth/verification-tokens.cjs.map +1 -0
  73. package/dist/lib/mysql/schemas/auth/verification-tokens.d.ts +60 -0
  74. package/dist/lib/mysql/schemas/auth/verification-tokens.js +8 -0
  75. package/dist/lib/mysql/schemas/auth/verification-tokens.js.map +1 -0
  76. package/dist/lib/mysql/schemas/commerce/coupon.cjs +81 -0
  77. package/dist/lib/mysql/schemas/commerce/coupon.cjs.map +1 -0
  78. package/dist/lib/mysql/schemas/commerce/coupon.d.ts +168 -0
  79. package/dist/lib/mysql/schemas/commerce/coupon.js +8 -0
  80. package/dist/lib/mysql/schemas/commerce/coupon.js.map +1 -0
  81. package/dist/lib/mysql/schemas/commerce/merchant-account.cjs +61 -0
  82. package/dist/lib/mysql/schemas/commerce/merchant-account.cjs.map +1 -0
  83. package/dist/lib/mysql/schemas/commerce/merchant-account.d.ts +72 -0
  84. package/dist/lib/mysql/schemas/commerce/merchant-account.js +8 -0
  85. package/dist/lib/mysql/schemas/commerce/merchant-account.js.map +1 -0
  86. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs +71 -0
  87. package/dist/lib/mysql/schemas/commerce/merchant-charge.cjs.map +1 -0
  88. package/dist/lib/mysql/schemas/commerce/merchant-charge.d.ts +108 -0
  89. package/dist/lib/mysql/schemas/commerce/merchant-charge.js +8 -0
  90. package/dist/lib/mysql/schemas/commerce/merchant-charge.js.map +1 -0
  91. package/dist/lib/mysql/schemas/commerce/merchant-coupon.cjs +64 -0
  92. package/dist/lib/mysql/schemas/commerce/merchant-coupon.cjs.map +1 -0
  93. package/dist/lib/mysql/schemas/commerce/merchant-coupon.d.ts +84 -0
  94. package/dist/lib/mysql/schemas/commerce/merchant-coupon.js +8 -0
  95. package/dist/lib/mysql/schemas/commerce/merchant-coupon.js.map +1 -0
  96. package/dist/lib/mysql/schemas/commerce/merchant-customer.cjs +65 -0
  97. package/dist/lib/mysql/schemas/commerce/merchant-customer.cjs.map +1 -0
  98. package/dist/lib/mysql/schemas/commerce/merchant-customer.d.ts +84 -0
  99. package/dist/lib/mysql/schemas/commerce/merchant-customer.js +8 -0
  100. package/dist/lib/mysql/schemas/commerce/merchant-customer.js.map +1 -0
  101. package/dist/lib/mysql/schemas/commerce/merchant-price.cjs +68 -0
  102. package/dist/lib/mysql/schemas/commerce/merchant-price.cjs.map +1 -0
  103. package/dist/lib/mysql/schemas/commerce/merchant-price.d.ts +96 -0
  104. package/dist/lib/mysql/schemas/commerce/merchant-price.js +8 -0
  105. package/dist/lib/mysql/schemas/commerce/merchant-price.js.map +1 -0
  106. package/dist/lib/mysql/schemas/commerce/merchant-product.cjs +65 -0
  107. package/dist/lib/mysql/schemas/commerce/merchant-product.cjs.map +1 -0
  108. package/dist/lib/mysql/schemas/commerce/merchant-product.d.ts +84 -0
  109. package/dist/lib/mysql/schemas/commerce/merchant-product.js +8 -0
  110. package/dist/lib/mysql/schemas/commerce/merchant-product.js.map +1 -0
  111. package/dist/lib/mysql/schemas/commerce/merchant-session.cjs +55 -0
  112. package/dist/lib/mysql/schemas/commerce/merchant-session.cjs.map +1 -0
  113. package/dist/lib/mysql/schemas/commerce/merchant-session.d.ts +48 -0
  114. package/dist/lib/mysql/schemas/commerce/merchant-session.js +8 -0
  115. package/dist/lib/mysql/schemas/commerce/merchant-session.js.map +1 -0
  116. package/dist/lib/mysql/schemas/commerce/price.cjs +66 -0
  117. package/dist/lib/mysql/schemas/commerce/price.cjs.map +1 -0
  118. package/dist/lib/mysql/schemas/commerce/price.d.ts +96 -0
  119. package/dist/lib/mysql/schemas/commerce/price.js +8 -0
  120. package/dist/lib/mysql/schemas/commerce/price.js.map +1 -0
  121. package/dist/lib/mysql/schemas/commerce/product.cjs +63 -0
  122. package/dist/lib/mysql/schemas/commerce/product.cjs.map +1 -0
  123. package/dist/lib/mysql/schemas/commerce/product.d.ts +96 -0
  124. package/dist/lib/mysql/schemas/commerce/product.js +8 -0
  125. package/dist/lib/mysql/schemas/commerce/product.js.map +1 -0
  126. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs +88 -0
  127. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.cjs.map +1 -0
  128. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.d.ts +132 -0
  129. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.js +8 -0
  130. package/dist/lib/mysql/schemas/commerce/purchase-user-transfer.js.map +1 -0
  131. package/dist/lib/mysql/schemas/commerce/purchase.cjs +99 -0
  132. package/dist/lib/mysql/schemas/commerce/purchase.cjs.map +1 -0
  133. package/dist/lib/mysql/schemas/commerce/purchase.d.ts +216 -0
  134. package/dist/lib/mysql/schemas/commerce/purchase.js +8 -0
  135. package/dist/lib/mysql/schemas/commerce/purchase.js.map +1 -0
  136. package/dist/lib/mysql/schemas/communication/communication-channel.cjs +59 -0
  137. package/dist/lib/mysql/schemas/communication/communication-channel.cjs.map +1 -0
  138. package/dist/lib/mysql/schemas/communication/communication-channel.d.ts +96 -0
  139. package/dist/lib/mysql/schemas/communication/communication-channel.js +8 -0
  140. package/dist/lib/mysql/schemas/communication/communication-channel.js.map +1 -0
  141. package/dist/lib/mysql/schemas/communication/communication-preference-types.cjs +57 -0
  142. package/dist/lib/mysql/schemas/communication/communication-preference-types.cjs.map +1 -0
  143. package/dist/lib/mysql/schemas/communication/communication-preference-types.d.ts +96 -0
  144. package/dist/lib/mysql/schemas/communication/communication-preference-types.js +8 -0
  145. package/dist/lib/mysql/schemas/communication/communication-preference-types.js.map +1 -0
  146. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs +253 -0
  147. package/dist/lib/mysql/schemas/communication/communication-preferences.cjs.map +1 -0
  148. package/dist/lib/mysql/schemas/communication/communication-preferences.d.ts +150 -0
  149. package/dist/lib/mysql/schemas/communication/communication-preferences.js +12 -0
  150. package/dist/lib/mysql/schemas/communication/communication-preferences.js.map +1 -0
  151. package/dist/lib/mysql/schemas/content/content-contributions.cjs +252 -0
  152. package/dist/lib/mysql/schemas/content/content-contributions.cjs.map +1 -0
  153. package/dist/lib/mysql/schemas/content/content-contributions.d.ts +114 -0
  154. package/dist/lib/mysql/schemas/content/content-contributions.js +12 -0
  155. package/dist/lib/mysql/schemas/content/content-contributions.js.map +1 -0
  156. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs +179 -0
  157. package/dist/lib/mysql/schemas/content/content-resource-resource.cjs.map +1 -0
  158. package/dist/lib/mysql/schemas/content/content-resource-resource.d.ts +101 -0
  159. package/dist/lib/mysql/schemas/content/content-resource-resource.js +12 -0
  160. package/dist/lib/mysql/schemas/content/content-resource-resource.js.map +1 -0
  161. package/dist/lib/mysql/schemas/content/content-resource.cjs +246 -0
  162. package/dist/lib/mysql/schemas/content/content-resource.cjs.map +1 -0
  163. package/dist/lib/mysql/schemas/content/content-resource.d.ts +103 -0
  164. package/dist/lib/mysql/schemas/content/content-resource.js +12 -0
  165. package/dist/lib/mysql/schemas/content/content-resource.js.map +1 -0
  166. package/dist/lib/mysql/schemas/content/contribution-types.cjs +162 -0
  167. package/dist/lib/mysql/schemas/content/contribution-types.cjs.map +1 -0
  168. package/dist/lib/mysql/schemas/content/contribution-types.d.ts +112 -0
  169. package/dist/lib/mysql/schemas/content/contribution-types.js +12 -0
  170. package/dist/lib/mysql/schemas/content/contribution-types.js.map +1 -0
  171. package/dist/lib/mysql/schemas/content/resource-progress.cjs +69 -0
  172. package/dist/lib/mysql/schemas/content/resource-progress.cjs.map +1 -0
  173. package/dist/lib/mysql/schemas/content/resource-progress.d.ts +84 -0
  174. package/dist/lib/mysql/schemas/content/resource-progress.js +8 -0
  175. package/dist/lib/mysql/schemas/content/resource-progress.js.map +1 -0
  176. package/dist/lib/pg.cjs +247 -0
  177. package/dist/lib/pg.cjs.map +1 -0
  178. package/{lib → dist/lib}/pg.d.ts +44 -41
  179. package/dist/lib/pg.js +10 -0
  180. package/dist/lib/pg.js.map +1 -0
  181. package/dist/lib/sqlite.cjs +259 -0
  182. package/dist/lib/sqlite.cjs.map +1 -0
  183. package/{lib → dist/lib}/sqlite.d.ts +53 -49
  184. package/dist/lib/sqlite.js +11 -0
  185. package/dist/lib/sqlite.js.map +1 -0
  186. package/dist/lib/utils.cjs +39 -0
  187. package/dist/lib/utils.cjs.map +1 -0
  188. package/dist/lib/utils.d.ts +28 -0
  189. package/dist/lib/utils.js +8 -0
  190. package/dist/lib/utils.js.map +1 -0
  191. package/package.json +20 -11
  192. package/src/index.ts +16 -11
  193. package/src/lib/mysql/index.ts +424 -0
  194. package/src/lib/mysql/schemas/auth/accounts.ts +52 -0
  195. package/src/lib/mysql/schemas/auth/permissions.ts +44 -0
  196. package/src/lib/mysql/schemas/auth/role-permissions.ts +56 -0
  197. package/src/lib/mysql/schemas/auth/roles.ts +46 -0
  198. package/src/lib/mysql/schemas/auth/sessions.ts +28 -0
  199. package/src/lib/mysql/schemas/auth/user-permissions.ts +56 -0
  200. package/src/lib/mysql/schemas/auth/user-roles.ts +56 -0
  201. package/src/lib/mysql/schemas/auth/users.ts +58 -0
  202. package/src/lib/mysql/schemas/auth/verification-tokens.ts +24 -0
  203. package/src/lib/mysql/schemas/commerce/coupon.ts +47 -0
  204. package/src/lib/mysql/schemas/commerce/merchant-account.ts +31 -0
  205. package/src/lib/mysql/schemas/commerce/merchant-charge.ts +44 -0
  206. package/src/lib/mysql/schemas/commerce/merchant-coupon.ts +38 -0
  207. package/src/lib/mysql/schemas/commerce/merchant-customer.ts +38 -0
  208. package/src/lib/mysql/schemas/commerce/merchant-price.ts +41 -0
  209. package/src/lib/mysql/schemas/commerce/merchant-product.ts +38 -0
  210. package/src/lib/mysql/schemas/commerce/merchant-session.ts +22 -0
  211. package/src/lib/mysql/schemas/commerce/price.ts +32 -0
  212. package/src/lib/mysql/schemas/commerce/product.ts +31 -0
  213. package/src/lib/mysql/schemas/commerce/purchase-user-transfer.ts +46 -0
  214. package/src/lib/mysql/schemas/commerce/purchase.ts +48 -0
  215. package/src/lib/mysql/schemas/communication/communication-channel.ts +35 -0
  216. package/src/lib/mysql/schemas/communication/communication-preference-types.ts +30 -0
  217. package/src/lib/mysql/schemas/communication/communication-preferences.ts +78 -0
  218. package/src/lib/mysql/schemas/content/content-contributions.ts +70 -0
  219. package/src/lib/mysql/schemas/content/content-resource-resource.ts +60 -0
  220. package/src/lib/mysql/schemas/content/content-resource.ts +57 -0
  221. package/src/lib/mysql/schemas/content/contribution-types.ts +49 -0
  222. package/src/lib/mysql/schemas/content/resource-progress.ts +38 -0
  223. package/src/lib/pg.ts +272 -252
  224. package/src/lib/sqlite.ts +261 -201
  225. package/src/lib/utils.ts +24 -21
  226. package/index.d.ts +0 -6
  227. package/index.d.ts.map +0 -1
  228. package/index.js +0 -20
  229. package/lib/mysql.d.ts +0 -505
  230. package/lib/mysql.d.ts.map +0 -1
  231. package/lib/mysql.js +0 -319
  232. package/lib/pg.d.ts.map +0 -1
  233. package/lib/pg.js +0 -231
  234. package/lib/sqlite.d.ts.map +0 -1
  235. package/lib/sqlite.js +0 -189
  236. package/lib/utils.d.ts +0 -26
  237. package/lib/utils.d.ts.map +0 -1
  238. package/lib/utils.js +0 -7
  239. package/src/lib/mysql.ts +0 -402
@@ -0,0 +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'\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'\nimport { getContentResourceSchema } from './content-resource'\nimport { getContributionTypesSchema } from './contribution-types'\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'\nimport { getContentContributionsSchema } from '../content/content-contributions'\nimport { getContentResourceSchema } from '../content/content-resource'\nimport { getAccountsSchema } from './accounts'\nimport { getUserPermissionsSchema } from './user-permissions'\nimport { getUserRolesSchema } from './user-roles'\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}),\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'\nimport { getCommunicationChannelSchema } from './communication-channel'\nimport { getCommunicationPreferenceTypesSchema } from './communication-preference-types'\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'\nimport { getContentContributionsSchema } from './content-contributions'\nimport { getContentResourceResourceSchema } from './content-resource-resource'\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'\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'\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'\nimport { getUsersSchema } from './users'\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'\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'\nimport { getRolesSchema } from './roles'\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'\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'\nimport { getUsersSchema } from './users'\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"]}
@@ -0,0 +1,112 @@
1
+ import * as drizzle_orm from 'drizzle-orm';
2
+ import * as drizzle_orm_mysql_core from 'drizzle-orm/mysql-core';
3
+ import { MySqlTableFn } from 'drizzle-orm/mysql-core';
4
+
5
+ declare function getContributionTypesSchema(mysqlTable: MySqlTableFn): drizzle_orm_mysql_core.MySqlTableWithColumns<{
6
+ name: "contributionType";
7
+ schema: undefined;
8
+ columns: {
9
+ id: drizzle_orm_mysql_core.MySqlColumn<{
10
+ name: "id";
11
+ tableName: "contributionType";
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
+ slug: drizzle_orm_mysql_core.MySqlColumn<{
22
+ name: "slug";
23
+ tableName: "contributionType";
24
+ dataType: "string";
25
+ columnType: "MySqlVarChar";
26
+ data: string;
27
+ driverParam: string | number;
28
+ notNull: true;
29
+ hasDefault: false;
30
+ enumValues: [string, ...string[]];
31
+ baseColumn: never;
32
+ }, object>;
33
+ name: drizzle_orm_mysql_core.MySqlColumn<{
34
+ name: "name";
35
+ tableName: "contributionType";
36
+ dataType: "string";
37
+ columnType: "MySqlVarChar";
38
+ data: string;
39
+ driverParam: string | number;
40
+ notNull: true;
41
+ hasDefault: false;
42
+ enumValues: [string, ...string[]];
43
+ baseColumn: never;
44
+ }, object>;
45
+ description: drizzle_orm_mysql_core.MySqlColumn<{
46
+ name: "description";
47
+ tableName: "contributionType";
48
+ dataType: "string";
49
+ columnType: "MySqlText";
50
+ data: string;
51
+ driverParam: string;
52
+ notNull: false;
53
+ hasDefault: false;
54
+ enumValues: [string, ...string[]];
55
+ baseColumn: never;
56
+ }, object>;
57
+ active: drizzle_orm_mysql_core.MySqlColumn<{
58
+ name: "active";
59
+ tableName: "contributionType";
60
+ dataType: "boolean";
61
+ columnType: "MySqlBoolean";
62
+ data: boolean;
63
+ driverParam: number | boolean;
64
+ notNull: true;
65
+ hasDefault: true;
66
+ enumValues: undefined;
67
+ baseColumn: never;
68
+ }, object>;
69
+ createdAt: drizzle_orm_mysql_core.MySqlColumn<{
70
+ name: "createdAt";
71
+ tableName: "contributionType";
72
+ dataType: "date";
73
+ columnType: "MySqlTimestamp";
74
+ data: Date;
75
+ driverParam: string | number;
76
+ notNull: false;
77
+ hasDefault: true;
78
+ enumValues: undefined;
79
+ baseColumn: never;
80
+ }, object>;
81
+ updatedAt: drizzle_orm_mysql_core.MySqlColumn<{
82
+ name: "updatedAt";
83
+ tableName: "contributionType";
84
+ dataType: "date";
85
+ columnType: "MySqlTimestamp";
86
+ data: Date;
87
+ driverParam: string | number;
88
+ notNull: false;
89
+ hasDefault: true;
90
+ enumValues: undefined;
91
+ baseColumn: never;
92
+ }, object>;
93
+ deletedAt: drizzle_orm_mysql_core.MySqlColumn<{
94
+ name: "deletedAt";
95
+ tableName: "contributionType";
96
+ dataType: "date";
97
+ columnType: "MySqlTimestamp";
98
+ data: Date;
99
+ driverParam: string | number;
100
+ notNull: false;
101
+ hasDefault: false;
102
+ enumValues: undefined;
103
+ baseColumn: never;
104
+ }, object>;
105
+ };
106
+ dialect: "mysql";
107
+ }>;
108
+ declare function getContributionTypesRelationsSchema(mysqlTable: MySqlTableFn): drizzle_orm.Relations<"contributionType", {
109
+ contributions: drizzle_orm.Many<"contentContribution">;
110
+ }>;
111
+
112
+ export { getContributionTypesRelationsSchema, getContributionTypesSchema };
@@ -0,0 +1,12 @@
1
+ import {
2
+ getContributionTypesRelationsSchema,
3
+ getContributionTypesSchema
4
+ } from "../../../../chunk-PUGK2AEH.js";
5
+ import "../../../../chunk-6CBAFOL3.js";
6
+ import "../../../../chunk-SFJM6FKE.js";
7
+ import "../../../../chunk-VNI36MMC.js";
8
+ export {
9
+ getContributionTypesRelationsSchema,
10
+ getContributionTypesSchema
11
+ };
12
+ //# sourceMappingURL=contribution-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,69 @@
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/schemas/content/resource-progress.ts
22
+ var resource_progress_exports = {};
23
+ __export(resource_progress_exports, {
24
+ getResourceProgressSchema: () => getResourceProgressSchema
25
+ });
26
+ module.exports = __toCommonJS(resource_progress_exports);
27
+ var import_drizzle_orm = require("drizzle-orm");
28
+ var import_mysql_core = require("drizzle-orm/mysql-core");
29
+ function getResourceProgressSchema(mysqlTable) {
30
+ return mysqlTable("resourceProgresses", {
31
+ userId: (0, import_mysql_core.varchar)("userId", {
32
+ length: 191
33
+ }).notNull(),
34
+ contentResourceId: (0, import_mysql_core.varchar)("contentResourceId", {
35
+ length: 191
36
+ }),
37
+ metadata: (0, import_mysql_core.json)("fields").$type().default({}),
38
+ completedAt: (0, import_mysql_core.datetime)("completedAt", {
39
+ mode: "string",
40
+ fsp: 3
41
+ }),
42
+ updatedAt: (0, import_mysql_core.datetime)("updatedAt", {
43
+ mode: "string",
44
+ fsp: 3
45
+ }),
46
+ createdAt: (0, import_mysql_core.datetime)("createdAt", {
47
+ mode: "string",
48
+ fsp: 3
49
+ }).default(import_drizzle_orm.sql`CURRENT_TIMESTAMP(3)`).notNull()
50
+ }, (crp) => {
51
+ return {
52
+ userIdLessonIdIdx: (0, import_mysql_core.index)("crp_userId_contentResourceId_idx").on(crp.userId, crp.contentResourceId),
53
+ pk: (0, import_mysql_core.primaryKey)({
54
+ columns: [
55
+ crp.userId,
56
+ crp.contentResourceId
57
+ ]
58
+ }),
59
+ contentResourceIdIdx: (0, import_mysql_core.index)("contentResourceId_idx").on(crp.contentResourceId),
60
+ userIdIdx: (0, import_mysql_core.index)("resourceId_idx").on(crp.userId)
61
+ };
62
+ });
63
+ }
64
+ __name(getResourceProgressSchema, "getResourceProgressSchema");
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ getResourceProgressSchema
68
+ });
69
+ //# sourceMappingURL=resource-progress.cjs.map
@@ -0,0 +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"]}
@@ -0,0 +1,84 @@
1
+ import * as drizzle_orm_mysql_core from 'drizzle-orm/mysql-core';
2
+ import { MySqlTableFn } from 'drizzle-orm/mysql-core';
3
+
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
+ }>;
83
+
84
+ export { getResourceProgressSchema };
@@ -0,0 +1,8 @@
1
+ import {
2
+ getResourceProgressSchema
3
+ } from "../../../../chunk-UY3DVPP3.js";
4
+ import "../../../../chunk-VNI36MMC.js";
5
+ export {
6
+ getResourceProgressSchema
7
+ };
8
+ //# sourceMappingURL=resource-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,247 @@
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/pg.ts
22
+ var pg_exports = {};
23
+ __export(pg_exports, {
24
+ createTables: () => createTables,
25
+ pgDrizzleAdapter: () => pgDrizzleAdapter
26
+ });
27
+ module.exports = __toCommonJS(pg_exports);
28
+ var import_drizzle_orm = require("drizzle-orm");
29
+ var import_pg_core = require("drizzle-orm/pg-core");
30
+ function createTables(pgTable) {
31
+ const users = pgTable("user", {
32
+ id: (0, import_pg_core.text)("id").notNull().primaryKey(),
33
+ name: (0, import_pg_core.text)("name"),
34
+ email: (0, import_pg_core.text)("email").notNull(),
35
+ emailVerified: (0, import_pg_core.timestamp)("emailVerified", {
36
+ mode: "date"
37
+ }),
38
+ role: (0, import_pg_core.pgEnum)("role", [
39
+ "user",
40
+ "admin"
41
+ ])("role").default("user"),
42
+ image: (0, import_pg_core.text)("image")
43
+ });
44
+ const accounts = pgTable("account", {
45
+ userId: (0, import_pg_core.text)("userId").notNull().references(() => users.id, {
46
+ onDelete: "cascade"
47
+ }),
48
+ type: (0, import_pg_core.text)("type").$type().notNull(),
49
+ provider: (0, import_pg_core.text)("provider").notNull(),
50
+ providerAccountId: (0, import_pg_core.text)("providerAccountId").notNull(),
51
+ refresh_token: (0, import_pg_core.text)("refresh_token"),
52
+ access_token: (0, import_pg_core.text)("access_token"),
53
+ expires_at: (0, import_pg_core.integer)("expires_at"),
54
+ token_type: (0, import_pg_core.text)("token_type"),
55
+ scope: (0, import_pg_core.text)("scope"),
56
+ id_token: (0, import_pg_core.text)("id_token"),
57
+ session_state: (0, import_pg_core.text)("session_state")
58
+ }, (account) => ({
59
+ pk: (0, import_pg_core.primaryKey)({
60
+ columns: [
61
+ account.provider,
62
+ account.providerAccountId
63
+ ]
64
+ })
65
+ }));
66
+ const sessions = pgTable("session", {
67
+ sessionToken: (0, import_pg_core.text)("sessionToken").notNull().primaryKey(),
68
+ userId: (0, import_pg_core.text)("userId").notNull().references(() => users.id, {
69
+ onDelete: "cascade"
70
+ }),
71
+ expires: (0, import_pg_core.timestamp)("expires", {
72
+ mode: "date"
73
+ }).notNull()
74
+ });
75
+ const verificationTokens = pgTable("verificationToken", {
76
+ identifier: (0, import_pg_core.text)("identifier").notNull(),
77
+ token: (0, import_pg_core.text)("token").notNull(),
78
+ expires: (0, import_pg_core.timestamp)("expires", {
79
+ mode: "date"
80
+ }).notNull()
81
+ }, (vt) => ({
82
+ pk: (0, import_pg_core.primaryKey)({
83
+ columns: [
84
+ vt.identifier,
85
+ vt.token
86
+ ]
87
+ })
88
+ }));
89
+ const contentResource = pgTable("contentResource", {
90
+ id: (0, import_pg_core.varchar)("id", {
91
+ length: 255
92
+ }).notNull().primaryKey(),
93
+ type: (0, import_pg_core.varchar)("type", {
94
+ length: 255
95
+ }).notNull(),
96
+ createdById: (0, import_pg_core.varchar)("createdById", {
97
+ length: 255
98
+ }).notNull(),
99
+ fields: (0, import_pg_core.json)("fields").$type().default({}),
100
+ createdAt: (0, import_pg_core.timestamp)("createdAt", {
101
+ mode: "date",
102
+ precision: 6,
103
+ withTimezone: true
104
+ }).defaultNow(),
105
+ updatedAt: (0, import_pg_core.timestamp)("updatedAt", {
106
+ mode: "date",
107
+ precision: 6,
108
+ withTimezone: true
109
+ }).defaultNow(),
110
+ deletedAt: (0, import_pg_core.timestamp)("deletedAt", {
111
+ mode: "date",
112
+ precision: 6,
113
+ withTimezone: true
114
+ })
115
+ });
116
+ const contentResourceResource = pgTable("contentResourceResource", {
117
+ resourceOfId: (0, import_pg_core.varchar)("resourceOfId", {
118
+ length: 255
119
+ }).notNull(),
120
+ resourceId: (0, import_pg_core.varchar)("resourceId", {
121
+ length: 255
122
+ }).notNull(),
123
+ position: (0, import_pg_core.integer)("position").notNull().default(0),
124
+ metadata: (0, import_pg_core.json)("fields").$type().default({}),
125
+ createdAt: (0, import_pg_core.timestamp)("createdAt", {
126
+ mode: "date",
127
+ precision: 6,
128
+ withTimezone: true
129
+ }).defaultNow(),
130
+ updatedAt: (0, import_pg_core.timestamp)("updatedAt", {
131
+ mode: "date",
132
+ precision: 6,
133
+ withTimezone: true
134
+ }).defaultNow(),
135
+ deletedAt: (0, import_pg_core.timestamp)("deletedAt", {
136
+ mode: "date",
137
+ precision: 6,
138
+ withTimezone: true
139
+ })
140
+ }, (crr) => ({
141
+ pk: (0, import_pg_core.primaryKey)({
142
+ columns: [
143
+ crr.resourceOfId,
144
+ crr.resourceId
145
+ ]
146
+ })
147
+ }));
148
+ return {
149
+ users,
150
+ accounts,
151
+ sessions,
152
+ verificationTokens,
153
+ contentResource
154
+ };
155
+ }
156
+ __name(createTables, "createTables");
157
+ function pgDrizzleAdapter(client, tableFn = import_pg_core.pgTable) {
158
+ const { users, accounts, sessions, verificationTokens, contentResource } = createTables(tableFn);
159
+ return {
160
+ async updateContentResourceFields(options) {
161
+ return null;
162
+ },
163
+ async getVideoResource(id) {
164
+ return null;
165
+ },
166
+ async createContentResource(resource) {
167
+ return client.insert(contentResource).values({
168
+ ...resource,
169
+ id: crypto.randomUUID()
170
+ }).returning().then((res) => res[0] ?? null);
171
+ },
172
+ async getContentResource(data) {
173
+ const result = await client.select().from(contentResource).where((0, import_drizzle_orm.eq)(contentResource.id, data)).then((res) => res[0] ?? null);
174
+ return result ?? null;
175
+ },
176
+ async createUser(data) {
177
+ return await client.insert(users).values({
178
+ ...data,
179
+ id: crypto.randomUUID()
180
+ }).returning().then((res) => res[0] ?? null);
181
+ },
182
+ async getUser(data) {
183
+ return await client.select().from(users).where((0, import_drizzle_orm.eq)(users.id, data)).then((res) => res[0] ?? null);
184
+ },
185
+ async getUserByEmail(data) {
186
+ return await client.select().from(users).where((0, import_drizzle_orm.eq)(users.email, data)).then((res) => res[0] ?? null);
187
+ },
188
+ async createSession(data) {
189
+ return await client.insert(sessions).values(data).returning().then((res) => res[0]);
190
+ },
191
+ async getSessionAndUser(data) {
192
+ return await client.select({
193
+ session: sessions,
194
+ user: users
195
+ }).from(sessions).where((0, import_drizzle_orm.eq)(sessions.sessionToken, data)).innerJoin(users, (0, import_drizzle_orm.eq)(users.id, sessions.userId)).then((res) => res[0] ?? null);
196
+ },
197
+ async updateUser(data) {
198
+ if (!data.id) {
199
+ throw new Error("No user id.");
200
+ }
201
+ return await client.update(users).set(data).where((0, import_drizzle_orm.eq)(users.id, data.id)).returning().then((res) => res[0]);
202
+ },
203
+ async updateSession(data) {
204
+ return await client.update(sessions).set(data).where((0, import_drizzle_orm.eq)(sessions.sessionToken, data.sessionToken)).returning().then((res) => res[0]);
205
+ },
206
+ async linkAccount(rawAccount) {
207
+ await client.insert(accounts).values(rawAccount).returning().then((res) => res[0]);
208
+ },
209
+ async getUserByAccount(account) {
210
+ const dbAccount = await client.select().from(accounts).where((0, import_drizzle_orm.and)((0, import_drizzle_orm.eq)(accounts.providerAccountId, account.providerAccountId), (0, import_drizzle_orm.eq)(accounts.provider, account.provider))).leftJoin(users, (0, import_drizzle_orm.eq)(accounts.userId, users.id)).then((res) => res[0]) ?? null;
211
+ return dbAccount?.user ?? null;
212
+ },
213
+ async deleteSession(sessionToken) {
214
+ const session = await client.delete(sessions).where((0, import_drizzle_orm.eq)(sessions.sessionToken, sessionToken)).returning().then((res) => res[0] ?? null);
215
+ return session;
216
+ },
217
+ async createVerificationToken(token) {
218
+ return await client.insert(verificationTokens).values(token).returning().then((res) => res[0]);
219
+ },
220
+ async useVerificationToken(token) {
221
+ try {
222
+ return await client.delete(verificationTokens).where((0, import_drizzle_orm.and)((0, import_drizzle_orm.eq)(verificationTokens.identifier, token.identifier), (0, import_drizzle_orm.eq)(verificationTokens.token, token.token))).returning().then((res) => res[0] ?? null);
223
+ } catch (err) {
224
+ throw new Error("No verification token found.");
225
+ }
226
+ },
227
+ async deleteUser(id) {
228
+ await client.delete(users).where((0, import_drizzle_orm.eq)(users.id, id)).returning().then((res) => res[0] ?? null);
229
+ },
230
+ async unlinkAccount(account) {
231
+ const { type, provider, providerAccountId, userId } = await client.delete(accounts).where((0, import_drizzle_orm.and)((0, import_drizzle_orm.eq)(accounts.providerAccountId, account.providerAccountId), (0, import_drizzle_orm.eq)(accounts.provider, account.provider))).returning().then((res) => res[0] ?? null);
232
+ return {
233
+ provider,
234
+ type,
235
+ providerAccountId,
236
+ userId
237
+ };
238
+ }
239
+ };
240
+ }
241
+ __name(pgDrizzleAdapter, "pgDrizzleAdapter");
242
+ // Annotate the CommonJS export names for ESM import in node:
243
+ 0 && (module.exports = {
244
+ createTables,
245
+ pgDrizzleAdapter
246
+ });
247
+ //# sourceMappingURL=pg.cjs.map