@coursebuilder/adapter-drizzle 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-RMRO5TA7.js → chunk-22KIKVBY.js} +2 -2
- package/dist/{chunk-PUGK2AEH.js → chunk-4HDU7QIB.js} +3 -2
- package/dist/{chunk-JQFZOCAU.js → chunk-FRNVLW7N.js} +595 -288
- package/dist/{chunk-LLWSIKQV.js → chunk-GFUUJRX7.js} +1 -1
- package/dist/{chunk-NISOQSUL.js → chunk-PFN4YUQZ.js} +2 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +5 -5
- package/dist/lib/mysql/index.cjs +673 -365
- package/dist/lib/mysql/index.cjs.map +1 -1
- package/dist/lib/mysql/index.js +3 -3
- package/dist/lib/mysql/schemas/auth/accounts.cjs +2 -1
- package/dist/lib/mysql/schemas/auth/accounts.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/accounts.js +1 -1
- package/dist/lib/mysql/schemas/auth/permissions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/permissions.js +1 -1
- package/dist/lib/mysql/schemas/auth/role-permissions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/role-permissions.js +1 -1
- package/dist/lib/mysql/schemas/auth/roles.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/roles.js +1 -1
- package/dist/lib/mysql/schemas/auth/sessions.cjs +2 -1
- package/dist/lib/mysql/schemas/auth/sessions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/sessions.js +2 -2
- package/dist/lib/mysql/schemas/auth/user-permissions.cjs +2 -1
- package/dist/lib/mysql/schemas/auth/user-permissions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/user-permissions.js +1 -1
- package/dist/lib/mysql/schemas/auth/user-roles.cjs +2 -1
- package/dist/lib/mysql/schemas/auth/user-roles.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/user-roles.js +1 -1
- package/dist/lib/mysql/schemas/auth/users.cjs +2 -1
- package/dist/lib/mysql/schemas/auth/users.cjs.map +1 -1
- package/dist/lib/mysql/schemas/auth/users.js +1 -1
- package/dist/lib/mysql/schemas/communication/communication-preferences.cjs +2 -1
- package/dist/lib/mysql/schemas/communication/communication-preferences.cjs.map +1 -1
- package/dist/lib/mysql/schemas/communication/communication-preferences.js +1 -1
- package/dist/lib/mysql/schemas/content/content-contributions.cjs +2 -1
- package/dist/lib/mysql/schemas/content/content-contributions.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-contributions.js +1 -1
- package/dist/lib/mysql/schemas/content/content-resource-resource.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-resource-resource.js +1 -1
- package/dist/lib/mysql/schemas/content/content-resource.cjs +2 -1
- package/dist/lib/mysql/schemas/content/content-resource.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/content-resource.js +1 -1
- package/dist/lib/mysql/schemas/content/contribution-types.cjs.map +1 -1
- package/dist/lib/mysql/schemas/content/contribution-types.js +1 -1
- package/dist/lib/sqlite.cjs.map +1 -1
- package/dist/lib/sqlite.d.ts +44 -45
- package/dist/lib/sqlite.js +2 -2
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.d.ts +0 -2
- package/dist/lib/utils.js +1 -1
- package/package.json +9 -5
- package/src/index.ts +1 -1
- package/src/lib/mysql/index.ts +43 -35
- package/src/lib/mysql/schemas/auth/accounts.ts +1 -1
- package/src/lib/mysql/schemas/auth/permissions.ts +1 -1
- package/src/lib/mysql/schemas/auth/role-permissions.ts +2 -2
- package/src/lib/mysql/schemas/auth/roles.ts +1 -1
- package/src/lib/mysql/schemas/auth/sessions.ts +1 -1
- package/src/lib/mysql/schemas/auth/user-permissions.ts +2 -2
- package/src/lib/mysql/schemas/auth/user-roles.ts +2 -2
- package/src/lib/mysql/schemas/auth/users.ts +7 -6
- package/src/lib/mysql/schemas/communication/communication-preferences.ts +3 -3
- package/src/lib/mysql/schemas/content/content-contributions.ts +3 -3
- package/src/lib/mysql/schemas/content/content-resource-resource.ts +1 -1
- package/src/lib/mysql/schemas/content/content-resource.ts +3 -3
- package/src/lib/mysql/schemas/content/contribution-types.ts +1 -1
- package/src/lib/utils.ts +1 -1
|
@@ -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'\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":"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","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","../../../../../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,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getContributionTypesRelationsSchema,
|
|
3
3
|
getContributionTypesSchema
|
|
4
|
-
} from "../../../../chunk-
|
|
4
|
+
} from "../../../../chunk-4HDU7QIB.js";
|
|
5
5
|
import "../../../../chunk-6CBAFOL3.js";
|
|
6
6
|
import "../../../../chunk-SFJM6FKE.js";
|
|
7
7
|
import "../../../../chunk-VNI36MMC.js";
|
package/dist/lib/sqlite.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/sqlite.ts","../../src/lib/utils.ts"],"sourcesContent":["import type { AdapterAccount } from '@auth/core/adapters'\nimport { and, eq, sql } from 'drizzle-orm'\nimport {\n\tBaseSQLiteDatabase,\n\tsqliteTable as defaultSqliteTableFn,\n\tinteger,\n\tprimaryKey,\n\tSQLiteTableFn,\n\ttext,\n} from 'drizzle-orm/sqlite-core'\n\nimport { type CourseBuilderAdapter } from '@coursebuilder/core/adapters'\n\nimport { stripUndefined } from './utils.js'\n\nexport function createTables(sqliteTable: SQLiteTableFn) {\n\tconst users = sqliteTable('user', {\n\t\tid: text('id').notNull().primaryKey(),\n\t\tname: text('name'),\n\t\trole: text('role', { enum: ['user', 'admin'] }).default('user'),\n\t\temail: text('email').notNull(),\n\t\temailVerified: integer('emailVerified', { mode: 'timestamp_ms' }),\n\t\timage: text('image'),\n\t})\n\n\tconst accounts = sqliteTable(\n\t\t'account',\n\t\t{\n\t\t\tuserId: text('userId')\n\t\t\t\t.notNull()\n\t\t\t\t.references(() => users.id, { onDelete: 'cascade' }),\n\t\t\ttype: text('type').$type<AdapterAccount['type']>().notNull(),\n\t\t\tprovider: text('provider').notNull(),\n\t\t\tproviderAccountId: text('providerAccountId').notNull(),\n\t\t\trefresh_token: text('refresh_token'),\n\t\t\taccess_token: text('access_token'),\n\t\t\texpires_at: integer('expires_at'),\n\t\t\ttoken_type: text('token_type'),\n\t\t\tscope: text('scope'),\n\t\t\tid_token: text('id_token'),\n\t\t\tsession_state: text('session_state'),\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}),\n\t)\n\n\tconst sessions = sqliteTable('session', {\n\t\tsessionToken: text('sessionToken').notNull().primaryKey(),\n\t\tuserId: text('userId')\n\t\t\t.notNull()\n\t\t\t.references(() => users.id, { onDelete: 'cascade' }),\n\t\texpires: integer('expires', { mode: 'timestamp_ms' }).notNull(),\n\t})\n\n\tconst verificationTokens = sqliteTable(\n\t\t'verificationToken',\n\t\t{\n\t\t\tidentifier: text('identifier').notNull(),\n\t\t\ttoken: text('token').notNull(),\n\t\t\texpires: integer('expires', { mode: 'timestamp_ms' }).notNull(),\n\t\t},\n\t\t(vt) => ({\n\t\t\tpk: primaryKey({ columns: [vt.identifier, vt.token] }),\n\t\t}),\n\t)\n\n\tconst contentResource = sqliteTable('contentResource', {\n\t\tid: text('id', { length: 255 }).notNull().primaryKey(),\n\t\ttype: text('type', { length: 255 }).notNull(),\n\t\tcreatedById: text('createdById', { length: 255 }).notNull(),\n\t\tfields: text('metadata', { mode: 'json' })\n\t\t\t.$type<Record<string, any>>()\n\t\t\t.default({}),\n\t\tcreatedAt: integer('createdAt', {\n\t\t\tmode: 'timestamp_ms',\n\t\t}).default(sql`CURRENT_TIME`),\n\t\tupdatedAt: integer('updatedAt', {\n\t\t\tmode: 'timestamp_ms',\n\t\t}).default(sql`CURRENT_TIME`),\n\t\tdeletedAt: integer('deletedAt', {\n\t\t\tmode: 'timestamp_ms',\n\t\t}),\n\t})\n\n\tconst contentResourceResource = sqliteTable(\n\t\t'contentResourceResource',\n\t\t{\n\t\t\tresourceOfId: text('resourceOfId', { length: 255 }).notNull(),\n\t\t\tresourceId: text('resourceId', { length: 255 }).notNull(),\n\t\t\tposition: integer('position').notNull().default(0),\n\t\t\tmetadata: text('metadata', { mode: 'json' })\n\t\t\t\t.$type<Record<string, any>>()\n\t\t\t\t.default({}),\n\t\t\tcreatedAt: integer('createdAt', {\n\t\t\t\tmode: 'timestamp_ms',\n\t\t\t}).default(sql`CURRENT_TIME`),\n\t\t\tupdatedAt: integer('updatedAt', {\n\t\t\t\tmode: 'timestamp_ms',\n\t\t\t}).default(sql`CURRENT_TIME`),\n\t\t\tdeletedAt: integer('deletedAt', {\n\t\t\t\tmode: 'timestamp_ms',\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.resourceOfId, crr.resourceId] }),\n\t\t}),\n\t)\n\n\treturn {\n\t\tusers,\n\t\taccounts,\n\t\tsessions,\n\t\tverificationTokens,\n\t\tcontentResource,\n\t\tcontentResourceResource,\n\t}\n}\n\nexport type DefaultSchema = ReturnType<typeof createTables>\n\nexport function SQLiteDrizzleAdapter(\n\tclient: InstanceType<typeof BaseSQLiteDatabase>,\n\ttableFn = defaultSqliteTableFn,\n): CourseBuilderAdapter {\n\tconst { users, accounts, sessions, verificationTokens, contentResource } =\n\t\tcreateTables(tableFn)\n\n\treturn {\n\t\tasync updateContentResourceFields(options) {\n\t\t\treturn null\n\t\t},\n\t\tasync getVideoResource(id) {\n\t\t\t// TODO Implement\n\t\t\treturn null\n\t\t},\n\t\tasync createContentResource(resource) {\n\t\t\treturn client\n\t\t\t\t.insert(contentResource)\n\t\t\t\t.values({ ...resource, id: crypto.randomUUID() })\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t},\n\t\tasync getContentResource(data) {\n\t\t\tconst result = await client\n\t\t\t\t.select()\n\t\t\t\t.from(contentResource)\n\t\t\t\t.where(eq(contentResource.id, data))\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync createUser(data) {\n\t\t\treturn client\n\t\t\t\t.insert(users)\n\t\t\t\t.values({ ...data, id: crypto.randomUUID() })\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t},\n\t\tasync getUser(data) {\n\t\t\tconst result = await client\n\t\t\t\t.select()\n\t\t\t\t.from(users)\n\t\t\t\t.where(eq(users.id, data))\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync getUserByEmail(data) {\n\t\t\tconst result = await client\n\t\t\t\t.select()\n\t\t\t\t.from(users)\n\t\t\t\t.where(eq(users.email, data))\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tcreateSession(data) {\n\t\t\treturn client.insert(sessions).values(data).returning().get()\n\t\t},\n\t\tasync getSessionAndUser(data) {\n\t\t\tconst result = await client\n\t\t\t\t.select({ session: sessions, user: users })\n\t\t\t\t.from(sessions)\n\t\t\t\t.where(eq(sessions.sessionToken, data))\n\t\t\t\t.innerJoin(users, eq(users.id, sessions.userId))\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync updateUser(data) {\n\t\t\tif (!data.id) {\n\t\t\t\tthrow new Error('No user id.')\n\t\t\t}\n\n\t\t\tconst result = await client\n\t\t\t\t.update(users)\n\t\t\t\t.set(data)\n\t\t\t\t.where(eq(users.id, data.id))\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync updateSession(data) {\n\t\t\tconst result = await client\n\t\t\t\t.update(sessions)\n\t\t\t\t.set(data)\n\t\t\t\t.where(eq(sessions.sessionToken, data.sessionToken))\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync linkAccount(rawAccount) {\n\t\t\treturn stripUndefined(\n\t\t\t\tawait client.insert(accounts).values(rawAccount).returning().get(),\n\t\t\t)\n\t\t},\n\t\tasync getUserByAccount(account) {\n\t\t\tconst results = await client\n\t\t\t\t.select()\n\t\t\t\t.from(accounts)\n\t\t\t\t.leftJoin(users, eq(users.id, accounts.userId))\n\t\t\t\t.where(\n\t\t\t\t\tand(\n\t\t\t\t\t\teq(accounts.provider, account.provider),\n\t\t\t\t\t\teq(accounts.providerAccountId, account.providerAccountId),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.get()\n\n\t\t\tif (!results) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn Promise.resolve(results).then((results) => results.user)\n\t\t},\n\t\tasync deleteSession(sessionToken) {\n\t\t\tconst result = await client\n\t\t\t\t.delete(sessions)\n\t\t\t\t.where(eq(sessions.sessionToken, sessionToken))\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync createVerificationToken(token) {\n\t\t\tconst result = await client\n\t\t\t\t.insert(verificationTokens)\n\t\t\t\t.values(token)\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync useVerificationToken(token) {\n\t\t\ttry {\n\t\t\t\tconst result = await client\n\t\t\t\t\t.delete(verificationTokens)\n\t\t\t\t\t.where(\n\t\t\t\t\t\tand(\n\t\t\t\t\t\t\teq(verificationTokens.identifier, token.identifier),\n\t\t\t\t\t\t\teq(verificationTokens.token, token.token),\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t\t.returning()\n\t\t\t\t\t.get()\n\t\t\t\treturn result ?? null\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error('No verification token found.')\n\t\t\t}\n\t\t},\n\t\tasync deleteUser(id) {\n\t\t\tconst result = await client\n\t\t\t\t.delete(users)\n\t\t\t\t.where(eq(users.id, id))\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync unlinkAccount(account) {\n\t\t\tawait client\n\t\t\t\t.delete(accounts)\n\t\t\t\t.where(\n\t\t\t\t\tand(\n\t\t\t\t\t\teq(accounts.providerAccountId, account.providerAccountId),\n\t\t\t\t\t\teq(accounts.provider, account.provider),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.run()\n\t\t},\n\t}\n}\n","import { type MySqlDatabase } from 'drizzle-orm/mysql-core'\nimport type { AnyMySqlTable, MySqlTableFn } from 'drizzle-orm/mysql-core'\nimport { type PgDatabase } from 'drizzle-orm/pg-core'\nimport type { AnyPgTable, PgTableFn } from 'drizzle-orm/pg-core'\nimport { type BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core'\nimport type { AnySQLiteTable, SQLiteTableFn } from 'drizzle-orm/sqlite-core'\n\nimport type { DefaultSchema as MySqlSchema } from './mysql'\nimport type { DefaultSchema as PgSchema } from './pg.js'\nimport type { DefaultSchema as SQLiteSchema } from './sqlite.js'\n\nexport type AnyMySqlDatabase = MySqlDatabase<any, any>\nexport type AnyPgDatabase = PgDatabase<any, any, any>\nexport type AnySQLiteDatabase = BaseSQLiteDatabase<any, any, any, any>\n\nexport interface MinimumSchema {\n\tmysql: MySqlSchema & Record<string, AnyMySqlTable>\n\tpg: PgSchema & Record<string, AnyPgTable>\n\tsqlite: SQLiteSchema & Record<string, AnySQLiteTable>\n}\n\nexport type SqlFlavorOptions =\n\t| AnyMySqlDatabase\n\t| AnyPgDatabase\n\t| AnySQLiteDatabase\n\nexport type ClientFlavors<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MinimumSchema['mysql']\n\t: Flavor extends AnyPgDatabase\n\t\t? MinimumSchema['pg']\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? MinimumSchema['sqlite']\n\t\t\t: never\n\nexport type TableFn<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MySqlTableFn\n\t: Flavor extends AnyPgDatabase\n\t\t? PgTableFn\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? SQLiteTableFn\n\t\t\t: AnySQLiteTable\n\ntype NonNullableProps<T> = {\n\t[P in keyof T]: null extends T[P] ? never : P\n}[keyof T]\n\nexport function stripUndefined<T>(obj: T): Pick<T, NonNullableProps<T>> {\n\tconst result = {} as T\n\tfor (const key in obj) if (obj[key] !== undefined) result[key] = obj[key]\n\treturn result\n}\n"],"mappings":"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","names":["stripUndefined","obj","result","key","undefined","createTables","sqliteTable","users","id","text","notNull","primaryKey","name","role","enum","default","email","emailVerified","integer","mode","image","accounts","userId","references","onDelete","type","$type","provider","providerAccountId","refresh_token","access_token","expires_at","token_type","scope","id_token","session_state","account","pk","columns","sessions","sessionToken","expires","verificationTokens","identifier","token","vt","contentResource","length","createdById","fields","createdAt","sql","updatedAt","deletedAt","contentResourceResource","resourceOfId","resourceId","position","metadata","crr","SQLiteDrizzleAdapter","client","tableFn","defaultSqliteTableFn","updateContentResourceFields","options","getVideoResource","createContentResource","resource","insert","values","crypto","randomUUID","returning","get","getContentResource","data","result","select","from","where","eq","createUser","getUser","getUserByEmail","createSession","getSessionAndUser","session","user","innerJoin","updateUser","Error","update","set","updateSession","linkAccount","rawAccount","stripUndefined","getUserByAccount","results","leftJoin","and","Promise","resolve","then","deleteSession","delete","createVerificationToken","useVerificationToken","err","deleteUser","unlinkAccount","run"]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/sqlite.ts","../../src/lib/utils.ts"],"sourcesContent":["import type { AdapterAccount } from '@auth/core/adapters'\nimport { and, eq, sql } from 'drizzle-orm'\nimport {\n\tBaseSQLiteDatabase,\n\tsqliteTable as defaultSqliteTableFn,\n\tinteger,\n\tprimaryKey,\n\tSQLiteTableFn,\n\ttext,\n} from 'drizzle-orm/sqlite-core'\n\nimport { type CourseBuilderAdapter } from '@coursebuilder/core/adapters'\n\nimport { stripUndefined } from './utils.js'\n\nexport function createTables(sqliteTable: SQLiteTableFn) {\n\tconst users = sqliteTable('user', {\n\t\tid: text('id').notNull().primaryKey(),\n\t\tname: text('name'),\n\t\trole: text('role', { enum: ['user', 'admin'] }).default('user'),\n\t\temail: text('email').notNull(),\n\t\temailVerified: integer('emailVerified', { mode: 'timestamp_ms' }),\n\t\timage: text('image'),\n\t})\n\n\tconst accounts = sqliteTable(\n\t\t'account',\n\t\t{\n\t\t\tuserId: text('userId')\n\t\t\t\t.notNull()\n\t\t\t\t.references(() => users.id, { onDelete: 'cascade' }),\n\t\t\ttype: text('type').$type<AdapterAccount['type']>().notNull(),\n\t\t\tprovider: text('provider').notNull(),\n\t\t\tproviderAccountId: text('providerAccountId').notNull(),\n\t\t\trefresh_token: text('refresh_token'),\n\t\t\taccess_token: text('access_token'),\n\t\t\texpires_at: integer('expires_at'),\n\t\t\ttoken_type: text('token_type'),\n\t\t\tscope: text('scope'),\n\t\t\tid_token: text('id_token'),\n\t\t\tsession_state: text('session_state'),\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}),\n\t)\n\n\tconst sessions = sqliteTable('session', {\n\t\tsessionToken: text('sessionToken').notNull().primaryKey(),\n\t\tuserId: text('userId')\n\t\t\t.notNull()\n\t\t\t.references(() => users.id, { onDelete: 'cascade' }),\n\t\texpires: integer('expires', { mode: 'timestamp_ms' }).notNull(),\n\t})\n\n\tconst verificationTokens = sqliteTable(\n\t\t'verificationToken',\n\t\t{\n\t\t\tidentifier: text('identifier').notNull(),\n\t\t\ttoken: text('token').notNull(),\n\t\t\texpires: integer('expires', { mode: 'timestamp_ms' }).notNull(),\n\t\t},\n\t\t(vt) => ({\n\t\t\tpk: primaryKey({ columns: [vt.identifier, vt.token] }),\n\t\t}),\n\t)\n\n\tconst contentResource = sqliteTable('contentResource', {\n\t\tid: text('id', { length: 255 }).notNull().primaryKey(),\n\t\ttype: text('type', { length: 255 }).notNull(),\n\t\tcreatedById: text('createdById', { length: 255 }).notNull(),\n\t\tfields: text('metadata', { mode: 'json' })\n\t\t\t.$type<Record<string, any>>()\n\t\t\t.default({}),\n\t\tcreatedAt: integer('createdAt', {\n\t\t\tmode: 'timestamp_ms',\n\t\t}).default(sql`CURRENT_TIME`),\n\t\tupdatedAt: integer('updatedAt', {\n\t\t\tmode: 'timestamp_ms',\n\t\t}).default(sql`CURRENT_TIME`),\n\t\tdeletedAt: integer('deletedAt', {\n\t\t\tmode: 'timestamp_ms',\n\t\t}),\n\t})\n\n\tconst contentResourceResource = sqliteTable(\n\t\t'contentResourceResource',\n\t\t{\n\t\t\tresourceOfId: text('resourceOfId', { length: 255 }).notNull(),\n\t\t\tresourceId: text('resourceId', { length: 255 }).notNull(),\n\t\t\tposition: integer('position').notNull().default(0),\n\t\t\tmetadata: text('metadata', { mode: 'json' })\n\t\t\t\t.$type<Record<string, any>>()\n\t\t\t\t.default({}),\n\t\t\tcreatedAt: integer('createdAt', {\n\t\t\t\tmode: 'timestamp_ms',\n\t\t\t}).default(sql`CURRENT_TIME`),\n\t\t\tupdatedAt: integer('updatedAt', {\n\t\t\t\tmode: 'timestamp_ms',\n\t\t\t}).default(sql`CURRENT_TIME`),\n\t\t\tdeletedAt: integer('deletedAt', {\n\t\t\t\tmode: 'timestamp_ms',\n\t\t\t}),\n\t\t},\n\t\t(crr) => ({\n\t\t\tpk: primaryKey({ columns: [crr.resourceOfId, crr.resourceId] }),\n\t\t}),\n\t)\n\n\treturn {\n\t\tusers,\n\t\taccounts,\n\t\tsessions,\n\t\tverificationTokens,\n\t\tcontentResource,\n\t\tcontentResourceResource,\n\t}\n}\n\nexport type DefaultSchema = ReturnType<typeof createTables>\n\nexport function SQLiteDrizzleAdapter(\n\tclient: InstanceType<typeof BaseSQLiteDatabase>,\n\ttableFn = defaultSqliteTableFn,\n): CourseBuilderAdapter {\n\tconst { users, accounts, sessions, verificationTokens, contentResource } =\n\t\tcreateTables(tableFn)\n\n\treturn {\n\t\tasync updateContentResourceFields(options) {\n\t\t\treturn null\n\t\t},\n\t\tasync getVideoResource(id) {\n\t\t\t// TODO Implement\n\t\t\treturn null\n\t\t},\n\t\tasync createContentResource(resource) {\n\t\t\treturn client\n\t\t\t\t.insert(contentResource)\n\t\t\t\t.values({ ...resource, id: crypto.randomUUID() })\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t},\n\t\tasync getContentResource(data) {\n\t\t\tconst result = await client\n\t\t\t\t.select()\n\t\t\t\t.from(contentResource)\n\t\t\t\t.where(eq(contentResource.id, data))\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync createUser(data) {\n\t\t\treturn client\n\t\t\t\t.insert(users)\n\t\t\t\t.values({ ...data, id: crypto.randomUUID() })\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t},\n\t\tasync getUser(data) {\n\t\t\tconst result = await client\n\t\t\t\t.select()\n\t\t\t\t.from(users)\n\t\t\t\t.where(eq(users.id, data))\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync getUserByEmail(data) {\n\t\t\tconst result = await client\n\t\t\t\t.select()\n\t\t\t\t.from(users)\n\t\t\t\t.where(eq(users.email, data))\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tcreateSession(data) {\n\t\t\treturn client.insert(sessions).values(data).returning().get()\n\t\t},\n\t\tasync getSessionAndUser(data) {\n\t\t\tconst result = await client\n\t\t\t\t.select({ session: sessions, user: users })\n\t\t\t\t.from(sessions)\n\t\t\t\t.where(eq(sessions.sessionToken, data))\n\t\t\t\t.innerJoin(users, eq(users.id, sessions.userId))\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync updateUser(data) {\n\t\t\tif (!data.id) {\n\t\t\t\tthrow new Error('No user id.')\n\t\t\t}\n\n\t\t\tconst result = await client\n\t\t\t\t.update(users)\n\t\t\t\t.set(data)\n\t\t\t\t.where(eq(users.id, data.id))\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync updateSession(data) {\n\t\t\tconst result = await client\n\t\t\t\t.update(sessions)\n\t\t\t\t.set(data)\n\t\t\t\t.where(eq(sessions.sessionToken, data.sessionToken))\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync linkAccount(rawAccount) {\n\t\t\treturn stripUndefined(\n\t\t\t\tawait client.insert(accounts).values(rawAccount).returning().get(),\n\t\t\t)\n\t\t},\n\t\tasync getUserByAccount(account) {\n\t\t\tconst results = await client\n\t\t\t\t.select()\n\t\t\t\t.from(accounts)\n\t\t\t\t.leftJoin(users, eq(users.id, accounts.userId))\n\t\t\t\t.where(\n\t\t\t\t\tand(\n\t\t\t\t\t\teq(accounts.provider, account.provider),\n\t\t\t\t\t\teq(accounts.providerAccountId, account.providerAccountId),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.get()\n\n\t\t\tif (!results) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn Promise.resolve(results).then((results) => results.user)\n\t\t},\n\t\tasync deleteSession(sessionToken) {\n\t\t\tconst result = await client\n\t\t\t\t.delete(sessions)\n\t\t\t\t.where(eq(sessions.sessionToken, sessionToken))\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync createVerificationToken(token) {\n\t\t\tconst result = await client\n\t\t\t\t.insert(verificationTokens)\n\t\t\t\t.values(token)\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync useVerificationToken(token) {\n\t\t\ttry {\n\t\t\t\tconst result = await client\n\t\t\t\t\t.delete(verificationTokens)\n\t\t\t\t\t.where(\n\t\t\t\t\t\tand(\n\t\t\t\t\t\t\teq(verificationTokens.identifier, token.identifier),\n\t\t\t\t\t\t\teq(verificationTokens.token, token.token),\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t\t.returning()\n\t\t\t\t\t.get()\n\t\t\t\treturn result ?? null\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error('No verification token found.')\n\t\t\t}\n\t\t},\n\t\tasync deleteUser(id) {\n\t\t\tconst result = await client\n\t\t\t\t.delete(users)\n\t\t\t\t.where(eq(users.id, id))\n\t\t\t\t.returning()\n\t\t\t\t.get()\n\t\t\treturn result ?? null\n\t\t},\n\t\tasync unlinkAccount(account) {\n\t\t\tawait client\n\t\t\t\t.delete(accounts)\n\t\t\t\t.where(\n\t\t\t\t\tand(\n\t\t\t\t\t\teq(accounts.providerAccountId, account.providerAccountId),\n\t\t\t\t\t\teq(accounts.provider, account.provider),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.run()\n\t\t},\n\t}\n}\n","import { type MySqlDatabase } from 'drizzle-orm/mysql-core'\nimport type { AnyMySqlTable, MySqlTableFn } from 'drizzle-orm/mysql-core'\nimport { type PgDatabase } from 'drizzle-orm/pg-core'\nimport type { AnyPgTable, PgTableFn } from 'drizzle-orm/pg-core'\nimport { type BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core'\nimport type { AnySQLiteTable, SQLiteTableFn } from 'drizzle-orm/sqlite-core'\n\nimport type { DefaultSchema as MySqlSchema } from './mysql/index.js'\nimport type { DefaultSchema as PgSchema } from './pg.js'\nimport type { DefaultSchema as SQLiteSchema } from './sqlite.js'\n\nexport type AnyMySqlDatabase = MySqlDatabase<any, any>\nexport type AnyPgDatabase = PgDatabase<any, any, any>\nexport type AnySQLiteDatabase = BaseSQLiteDatabase<any, any, any, any>\n\nexport interface MinimumSchema {\n\tmysql: MySqlSchema & Record<string, AnyMySqlTable>\n\tpg: PgSchema & Record<string, AnyPgTable>\n\tsqlite: SQLiteSchema & Record<string, AnySQLiteTable>\n}\n\nexport type SqlFlavorOptions =\n\t| AnyMySqlDatabase\n\t| AnyPgDatabase\n\t| AnySQLiteDatabase\n\nexport type ClientFlavors<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MinimumSchema['mysql']\n\t: Flavor extends AnyPgDatabase\n\t\t? MinimumSchema['pg']\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? MinimumSchema['sqlite']\n\t\t\t: never\n\nexport type TableFn<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MySqlTableFn\n\t: Flavor extends AnyPgDatabase\n\t\t? PgTableFn\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? SQLiteTableFn\n\t\t\t: AnySQLiteTable\n\ntype NonNullableProps<T> = {\n\t[P in keyof T]: null extends T[P] ? never : P\n}[keyof T]\n\nexport function stripUndefined<T>(obj: T): Pick<T, NonNullableProps<T>> {\n\tconst result = {} as T\n\tfor (const key in obj) if (obj[key] !== undefined) result[key] = obj[key]\n\treturn result\n}\n"],"mappings":"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","names":["stripUndefined","obj","result","key","undefined","createTables","sqliteTable","users","id","text","notNull","primaryKey","name","role","enum","default","email","emailVerified","integer","mode","image","accounts","userId","references","onDelete","type","$type","provider","providerAccountId","refresh_token","access_token","expires_at","token_type","scope","id_token","session_state","account","pk","columns","sessions","sessionToken","expires","verificationTokens","identifier","token","vt","contentResource","length","createdById","fields","createdAt","sql","updatedAt","deletedAt","contentResourceResource","resourceOfId","resourceId","position","metadata","crr","SQLiteDrizzleAdapter","client","tableFn","defaultSqliteTableFn","updateContentResourceFields","options","getVideoResource","createContentResource","resource","insert","values","crypto","randomUUID","returning","get","getContentResource","data","result","select","from","where","eq","createUser","getUser","getUserByEmail","createSession","getSessionAndUser","session","user","innerJoin","updateUser","Error","update","set","updateSession","linkAccount","rawAccount","stripUndefined","getUserByAccount","results","leftJoin","and","Promise","resolve","then","deleteSession","delete","createVerificationToken","useVerificationToken","err","deleteUser","unlinkAccount","run"]}
|
package/dist/lib/sqlite.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as drizzle_orm_sqlite_core_index_js from 'drizzle-orm/sqlite-core/index.js';
|
|
1
|
+
import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
|
|
3
2
|
import { SQLiteTableFn, BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
|
|
4
3
|
import { CourseBuilderAdapter } from '@coursebuilder/core/adapters';
|
|
5
4
|
|
|
6
5
|
declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
7
|
-
users:
|
|
6
|
+
users: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
8
7
|
name: "user";
|
|
9
8
|
schema: undefined;
|
|
10
9
|
columns: {
|
|
11
|
-
id:
|
|
10
|
+
id: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
12
11
|
name: "id";
|
|
13
12
|
tableName: "user";
|
|
14
13
|
dataType: "string";
|
|
@@ -20,7 +19,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
20
19
|
enumValues: [string, ...string[]];
|
|
21
20
|
baseColumn: never;
|
|
22
21
|
}, object>;
|
|
23
|
-
name:
|
|
22
|
+
name: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
24
23
|
name: "name";
|
|
25
24
|
tableName: "user";
|
|
26
25
|
dataType: "string";
|
|
@@ -32,7 +31,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
32
31
|
enumValues: [string, ...string[]];
|
|
33
32
|
baseColumn: never;
|
|
34
33
|
}, object>;
|
|
35
|
-
role:
|
|
34
|
+
role: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
36
35
|
name: "role";
|
|
37
36
|
tableName: "user";
|
|
38
37
|
dataType: "string";
|
|
@@ -44,7 +43,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
44
43
|
enumValues: ["user", "admin"];
|
|
45
44
|
baseColumn: never;
|
|
46
45
|
}, object>;
|
|
47
|
-
email:
|
|
46
|
+
email: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
48
47
|
name: "email";
|
|
49
48
|
tableName: "user";
|
|
50
49
|
dataType: "string";
|
|
@@ -56,7 +55,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
56
55
|
enumValues: [string, ...string[]];
|
|
57
56
|
baseColumn: never;
|
|
58
57
|
}, object>;
|
|
59
|
-
emailVerified:
|
|
58
|
+
emailVerified: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
60
59
|
name: "emailVerified";
|
|
61
60
|
tableName: "user";
|
|
62
61
|
dataType: "date";
|
|
@@ -68,7 +67,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
68
67
|
enumValues: undefined;
|
|
69
68
|
baseColumn: never;
|
|
70
69
|
}, object>;
|
|
71
|
-
image:
|
|
70
|
+
image: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
72
71
|
name: "image";
|
|
73
72
|
tableName: "user";
|
|
74
73
|
dataType: "string";
|
|
@@ -83,11 +82,11 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
83
82
|
};
|
|
84
83
|
dialect: "sqlite";
|
|
85
84
|
}>;
|
|
86
|
-
accounts:
|
|
85
|
+
accounts: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
87
86
|
name: "account";
|
|
88
87
|
schema: undefined;
|
|
89
88
|
columns: {
|
|
90
|
-
userId:
|
|
89
|
+
userId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
91
90
|
name: "userId";
|
|
92
91
|
tableName: "account";
|
|
93
92
|
dataType: "string";
|
|
@@ -99,7 +98,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
99
98
|
enumValues: [string, ...string[]];
|
|
100
99
|
baseColumn: never;
|
|
101
100
|
}, object>;
|
|
102
|
-
type:
|
|
101
|
+
type: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
103
102
|
name: "type";
|
|
104
103
|
tableName: "account";
|
|
105
104
|
dataType: "string";
|
|
@@ -111,7 +110,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
111
110
|
enumValues: [string, ...string[]];
|
|
112
111
|
baseColumn: never;
|
|
113
112
|
}, object>;
|
|
114
|
-
provider:
|
|
113
|
+
provider: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
115
114
|
name: "provider";
|
|
116
115
|
tableName: "account";
|
|
117
116
|
dataType: "string";
|
|
@@ -123,7 +122,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
123
122
|
enumValues: [string, ...string[]];
|
|
124
123
|
baseColumn: never;
|
|
125
124
|
}, object>;
|
|
126
|
-
providerAccountId:
|
|
125
|
+
providerAccountId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
127
126
|
name: "providerAccountId";
|
|
128
127
|
tableName: "account";
|
|
129
128
|
dataType: "string";
|
|
@@ -135,7 +134,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
135
134
|
enumValues: [string, ...string[]];
|
|
136
135
|
baseColumn: never;
|
|
137
136
|
}, object>;
|
|
138
|
-
refresh_token:
|
|
137
|
+
refresh_token: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
139
138
|
name: "refresh_token";
|
|
140
139
|
tableName: "account";
|
|
141
140
|
dataType: "string";
|
|
@@ -147,7 +146,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
147
146
|
enumValues: [string, ...string[]];
|
|
148
147
|
baseColumn: never;
|
|
149
148
|
}, object>;
|
|
150
|
-
access_token:
|
|
149
|
+
access_token: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
151
150
|
name: "access_token";
|
|
152
151
|
tableName: "account";
|
|
153
152
|
dataType: "string";
|
|
@@ -159,7 +158,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
159
158
|
enumValues: [string, ...string[]];
|
|
160
159
|
baseColumn: never;
|
|
161
160
|
}, object>;
|
|
162
|
-
expires_at:
|
|
161
|
+
expires_at: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
163
162
|
name: "expires_at";
|
|
164
163
|
tableName: "account";
|
|
165
164
|
dataType: "number";
|
|
@@ -171,7 +170,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
171
170
|
enumValues: undefined;
|
|
172
171
|
baseColumn: never;
|
|
173
172
|
}, object>;
|
|
174
|
-
token_type:
|
|
173
|
+
token_type: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
175
174
|
name: "token_type";
|
|
176
175
|
tableName: "account";
|
|
177
176
|
dataType: "string";
|
|
@@ -183,7 +182,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
183
182
|
enumValues: [string, ...string[]];
|
|
184
183
|
baseColumn: never;
|
|
185
184
|
}, object>;
|
|
186
|
-
scope:
|
|
185
|
+
scope: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
187
186
|
name: "scope";
|
|
188
187
|
tableName: "account";
|
|
189
188
|
dataType: "string";
|
|
@@ -195,7 +194,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
195
194
|
enumValues: [string, ...string[]];
|
|
196
195
|
baseColumn: never;
|
|
197
196
|
}, object>;
|
|
198
|
-
id_token:
|
|
197
|
+
id_token: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
199
198
|
name: "id_token";
|
|
200
199
|
tableName: "account";
|
|
201
200
|
dataType: "string";
|
|
@@ -207,7 +206,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
207
206
|
enumValues: [string, ...string[]];
|
|
208
207
|
baseColumn: never;
|
|
209
208
|
}, object>;
|
|
210
|
-
session_state:
|
|
209
|
+
session_state: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
211
210
|
name: "session_state";
|
|
212
211
|
tableName: "account";
|
|
213
212
|
dataType: "string";
|
|
@@ -222,11 +221,11 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
222
221
|
};
|
|
223
222
|
dialect: "sqlite";
|
|
224
223
|
}>;
|
|
225
|
-
sessions:
|
|
224
|
+
sessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
226
225
|
name: "session";
|
|
227
226
|
schema: undefined;
|
|
228
227
|
columns: {
|
|
229
|
-
sessionToken:
|
|
228
|
+
sessionToken: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
230
229
|
name: "sessionToken";
|
|
231
230
|
tableName: "session";
|
|
232
231
|
dataType: "string";
|
|
@@ -238,7 +237,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
238
237
|
enumValues: [string, ...string[]];
|
|
239
238
|
baseColumn: never;
|
|
240
239
|
}, object>;
|
|
241
|
-
userId:
|
|
240
|
+
userId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
242
241
|
name: "userId";
|
|
243
242
|
tableName: "session";
|
|
244
243
|
dataType: "string";
|
|
@@ -250,7 +249,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
250
249
|
enumValues: [string, ...string[]];
|
|
251
250
|
baseColumn: never;
|
|
252
251
|
}, object>;
|
|
253
|
-
expires:
|
|
252
|
+
expires: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
254
253
|
name: "expires";
|
|
255
254
|
tableName: "session";
|
|
256
255
|
dataType: "date";
|
|
@@ -265,11 +264,11 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
265
264
|
};
|
|
266
265
|
dialect: "sqlite";
|
|
267
266
|
}>;
|
|
268
|
-
verificationTokens:
|
|
267
|
+
verificationTokens: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
269
268
|
name: "verificationToken";
|
|
270
269
|
schema: undefined;
|
|
271
270
|
columns: {
|
|
272
|
-
identifier:
|
|
271
|
+
identifier: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
273
272
|
name: "identifier";
|
|
274
273
|
tableName: "verificationToken";
|
|
275
274
|
dataType: "string";
|
|
@@ -281,7 +280,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
281
280
|
enumValues: [string, ...string[]];
|
|
282
281
|
baseColumn: never;
|
|
283
282
|
}, object>;
|
|
284
|
-
token:
|
|
283
|
+
token: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
285
284
|
name: "token";
|
|
286
285
|
tableName: "verificationToken";
|
|
287
286
|
dataType: "string";
|
|
@@ -293,7 +292,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
293
292
|
enumValues: [string, ...string[]];
|
|
294
293
|
baseColumn: never;
|
|
295
294
|
}, object>;
|
|
296
|
-
expires:
|
|
295
|
+
expires: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
297
296
|
name: "expires";
|
|
298
297
|
tableName: "verificationToken";
|
|
299
298
|
dataType: "date";
|
|
@@ -308,11 +307,11 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
308
307
|
};
|
|
309
308
|
dialect: "sqlite";
|
|
310
309
|
}>;
|
|
311
|
-
contentResource:
|
|
310
|
+
contentResource: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
312
311
|
name: "contentResource";
|
|
313
312
|
schema: undefined;
|
|
314
313
|
columns: {
|
|
315
|
-
id:
|
|
314
|
+
id: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
316
315
|
name: "id";
|
|
317
316
|
tableName: "contentResource";
|
|
318
317
|
dataType: "string";
|
|
@@ -324,7 +323,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
324
323
|
enumValues: [string, ...string[]];
|
|
325
324
|
baseColumn: never;
|
|
326
325
|
}, object>;
|
|
327
|
-
type:
|
|
326
|
+
type: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
328
327
|
name: "type";
|
|
329
328
|
tableName: "contentResource";
|
|
330
329
|
dataType: "string";
|
|
@@ -336,7 +335,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
336
335
|
enumValues: [string, ...string[]];
|
|
337
336
|
baseColumn: never;
|
|
338
337
|
}, object>;
|
|
339
|
-
createdById:
|
|
338
|
+
createdById: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
340
339
|
name: "createdById";
|
|
341
340
|
tableName: "contentResource";
|
|
342
341
|
dataType: "string";
|
|
@@ -348,7 +347,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
348
347
|
enumValues: [string, ...string[]];
|
|
349
348
|
baseColumn: never;
|
|
350
349
|
}, object>;
|
|
351
|
-
fields:
|
|
350
|
+
fields: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
352
351
|
name: "metadata";
|
|
353
352
|
tableName: "contentResource";
|
|
354
353
|
dataType: "json";
|
|
@@ -360,7 +359,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
360
359
|
enumValues: undefined;
|
|
361
360
|
baseColumn: never;
|
|
362
361
|
}, object>;
|
|
363
|
-
createdAt:
|
|
362
|
+
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
364
363
|
name: "createdAt";
|
|
365
364
|
tableName: "contentResource";
|
|
366
365
|
dataType: "date";
|
|
@@ -372,7 +371,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
372
371
|
enumValues: undefined;
|
|
373
372
|
baseColumn: never;
|
|
374
373
|
}, object>;
|
|
375
|
-
updatedAt:
|
|
374
|
+
updatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
376
375
|
name: "updatedAt";
|
|
377
376
|
tableName: "contentResource";
|
|
378
377
|
dataType: "date";
|
|
@@ -384,7 +383,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
384
383
|
enumValues: undefined;
|
|
385
384
|
baseColumn: never;
|
|
386
385
|
}, object>;
|
|
387
|
-
deletedAt:
|
|
386
|
+
deletedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
388
387
|
name: "deletedAt";
|
|
389
388
|
tableName: "contentResource";
|
|
390
389
|
dataType: "date";
|
|
@@ -399,11 +398,11 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
399
398
|
};
|
|
400
399
|
dialect: "sqlite";
|
|
401
400
|
}>;
|
|
402
|
-
contentResourceResource:
|
|
401
|
+
contentResourceResource: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
403
402
|
name: "contentResourceResource";
|
|
404
403
|
schema: undefined;
|
|
405
404
|
columns: {
|
|
406
|
-
resourceOfId:
|
|
405
|
+
resourceOfId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
407
406
|
name: "resourceOfId";
|
|
408
407
|
tableName: "contentResourceResource";
|
|
409
408
|
dataType: "string";
|
|
@@ -415,7 +414,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
415
414
|
enumValues: [string, ...string[]];
|
|
416
415
|
baseColumn: never;
|
|
417
416
|
}, object>;
|
|
418
|
-
resourceId:
|
|
417
|
+
resourceId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
419
418
|
name: "resourceId";
|
|
420
419
|
tableName: "contentResourceResource";
|
|
421
420
|
dataType: "string";
|
|
@@ -427,7 +426,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
427
426
|
enumValues: [string, ...string[]];
|
|
428
427
|
baseColumn: never;
|
|
429
428
|
}, object>;
|
|
430
|
-
position:
|
|
429
|
+
position: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
431
430
|
name: "position";
|
|
432
431
|
tableName: "contentResourceResource";
|
|
433
432
|
dataType: "number";
|
|
@@ -439,7 +438,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
439
438
|
enumValues: undefined;
|
|
440
439
|
baseColumn: never;
|
|
441
440
|
}, object>;
|
|
442
|
-
metadata:
|
|
441
|
+
metadata: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
443
442
|
name: "metadata";
|
|
444
443
|
tableName: "contentResourceResource";
|
|
445
444
|
dataType: "json";
|
|
@@ -451,7 +450,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
451
450
|
enumValues: undefined;
|
|
452
451
|
baseColumn: never;
|
|
453
452
|
}, object>;
|
|
454
|
-
createdAt:
|
|
453
|
+
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
455
454
|
name: "createdAt";
|
|
456
455
|
tableName: "contentResourceResource";
|
|
457
456
|
dataType: "date";
|
|
@@ -463,7 +462,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
463
462
|
enumValues: undefined;
|
|
464
463
|
baseColumn: never;
|
|
465
464
|
}, object>;
|
|
466
|
-
updatedAt:
|
|
465
|
+
updatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
467
466
|
name: "updatedAt";
|
|
468
467
|
tableName: "contentResourceResource";
|
|
469
468
|
dataType: "date";
|
|
@@ -475,7 +474,7 @@ declare function createTables(sqliteTable: SQLiteTableFn): {
|
|
|
475
474
|
enumValues: undefined;
|
|
476
475
|
baseColumn: never;
|
|
477
476
|
}, object>;
|
|
478
|
-
deletedAt:
|
|
477
|
+
deletedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
479
478
|
name: "deletedAt";
|
|
480
479
|
tableName: "contentResourceResource";
|
|
481
480
|
dataType: "date";
|
package/dist/lib/sqlite.js
CHANGED
package/dist/lib/utils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { type MySqlDatabase } from 'drizzle-orm/mysql-core'\nimport type { AnyMySqlTable, MySqlTableFn } from 'drizzle-orm/mysql-core'\nimport { type PgDatabase } from 'drizzle-orm/pg-core'\nimport type { AnyPgTable, PgTableFn } from 'drizzle-orm/pg-core'\nimport { type BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core'\nimport type { AnySQLiteTable, SQLiteTableFn } from 'drizzle-orm/sqlite-core'\n\nimport type { DefaultSchema as MySqlSchema } from './mysql'\nimport type { DefaultSchema as PgSchema } from './pg.js'\nimport type { DefaultSchema as SQLiteSchema } from './sqlite.js'\n\nexport type AnyMySqlDatabase = MySqlDatabase<any, any>\nexport type AnyPgDatabase = PgDatabase<any, any, any>\nexport type AnySQLiteDatabase = BaseSQLiteDatabase<any, any, any, any>\n\nexport interface MinimumSchema {\n\tmysql: MySqlSchema & Record<string, AnyMySqlTable>\n\tpg: PgSchema & Record<string, AnyPgTable>\n\tsqlite: SQLiteSchema & Record<string, AnySQLiteTable>\n}\n\nexport type SqlFlavorOptions =\n\t| AnyMySqlDatabase\n\t| AnyPgDatabase\n\t| AnySQLiteDatabase\n\nexport type ClientFlavors<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MinimumSchema['mysql']\n\t: Flavor extends AnyPgDatabase\n\t\t? MinimumSchema['pg']\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? MinimumSchema['sqlite']\n\t\t\t: never\n\nexport type TableFn<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MySqlTableFn\n\t: Flavor extends AnyPgDatabase\n\t\t? PgTableFn\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? SQLiteTableFn\n\t\t\t: AnySQLiteTable\n\ntype NonNullableProps<T> = {\n\t[P in keyof T]: null extends T[P] ? never : P\n}[keyof T]\n\nexport function stripUndefined<T>(obj: T): Pick<T, NonNullableProps<T>> {\n\tconst result = {} as T\n\tfor (const key in obj) if (obj[key] !== undefined) result[key] = obj[key]\n\treturn result\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA8CA;;;;;AAAO,SAASA,eAAkBC,KAAM;AACvC,QAAMC,SAAS,CAAC;AAChB,aAAWC,OAAOF;AAAK,QAAIA,IAAIE,GAAAA,MAASC;AAAWF,aAAOC,GAAAA,IAAOF,IAAIE,GAAAA;AACrE,SAAOD;AACR;AAJgBF;","names":["stripUndefined","obj","result","key","undefined"]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { type MySqlDatabase } from 'drizzle-orm/mysql-core'\nimport type { AnyMySqlTable, MySqlTableFn } from 'drizzle-orm/mysql-core'\nimport { type PgDatabase } from 'drizzle-orm/pg-core'\nimport type { AnyPgTable, PgTableFn } from 'drizzle-orm/pg-core'\nimport { type BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core'\nimport type { AnySQLiteTable, SQLiteTableFn } from 'drizzle-orm/sqlite-core'\n\nimport type { DefaultSchema as MySqlSchema } from './mysql/index.js'\nimport type { DefaultSchema as PgSchema } from './pg.js'\nimport type { DefaultSchema as SQLiteSchema } from './sqlite.js'\n\nexport type AnyMySqlDatabase = MySqlDatabase<any, any>\nexport type AnyPgDatabase = PgDatabase<any, any, any>\nexport type AnySQLiteDatabase = BaseSQLiteDatabase<any, any, any, any>\n\nexport interface MinimumSchema {\n\tmysql: MySqlSchema & Record<string, AnyMySqlTable>\n\tpg: PgSchema & Record<string, AnyPgTable>\n\tsqlite: SQLiteSchema & Record<string, AnySQLiteTable>\n}\n\nexport type SqlFlavorOptions =\n\t| AnyMySqlDatabase\n\t| AnyPgDatabase\n\t| AnySQLiteDatabase\n\nexport type ClientFlavors<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MinimumSchema['mysql']\n\t: Flavor extends AnyPgDatabase\n\t\t? MinimumSchema['pg']\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? MinimumSchema['sqlite']\n\t\t\t: never\n\nexport type TableFn<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MySqlTableFn\n\t: Flavor extends AnyPgDatabase\n\t\t? PgTableFn\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? SQLiteTableFn\n\t\t\t: AnySQLiteTable\n\ntype NonNullableProps<T> = {\n\t[P in keyof T]: null extends T[P] ? never : P\n}[keyof T]\n\nexport function stripUndefined<T>(obj: T): Pick<T, NonNullableProps<T>> {\n\tconst result = {} as T\n\tfor (const key in obj) if (obj[key] !== undefined) result[key] = obj[key]\n\treturn result\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA8CA;;;;;AAAO,SAASA,eAAkBC,KAAM;AACvC,QAAMC,SAAS,CAAC;AAChB,aAAWC,OAAOF;AAAK,QAAIA,IAAIE,GAAAA,MAASC;AAAWF,aAAOC,GAAAA,IAAOF,IAAIE,GAAAA;AACrE,SAAOD;AACR;AAJgBF;","names":["stripUndefined","obj","result","key","undefined"]}
|