UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

563 lines (520 loc) 22.5 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/lib/mysql/schemas/content/content-resource.ts var content_resource_exports = {}; __export(content_resource_exports, { getContentResourceRelationsSchema: () => getContentResourceRelationsSchema, getContentResourceSchema: () => getContentResourceSchema }); module.exports = __toCommonJS(content_resource_exports); var import_drizzle_orm33 = require("drizzle-orm"); var import_mysql_core37 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/users.ts var import_drizzle_orm27 = require("drizzle-orm"); var import_mysql_core31 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/purchase.ts var import_drizzle_orm17 = require("drizzle-orm"); var import_mysql_core19 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organization-memberships.ts var import_drizzle_orm15 = require("drizzle-orm"); var import_mysql_core15 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organization-membership-roles.ts var import_drizzle_orm14 = require("drizzle-orm"); var import_mysql_core14 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/roles.ts var import_drizzle_orm2 = require("drizzle-orm"); var import_mysql_core2 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/user-roles.ts var import_drizzle_orm = require("drizzle-orm"); var import_mysql_core = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organizations.ts var import_drizzle_orm13 = require("drizzle-orm"); var import_mysql_core13 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/subscription.ts var import_drizzle_orm12 = require("drizzle-orm"); var import_mysql_core12 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-subscription.ts var import_drizzle_orm7 = require("drizzle-orm"); var import_mysql_core7 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-charge.ts var import_drizzle_orm6 = require("drizzle-orm"); var import_mysql_core6 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-account.ts var import_drizzle_orm3 = require("drizzle-orm"); var import_mysql_core3 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-customer.ts var import_drizzle_orm4 = require("drizzle-orm"); var import_mysql_core4 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-product.ts var import_drizzle_orm5 = require("drizzle-orm"); var import_mysql_core5 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/product.ts var import_drizzle_orm11 = require("drizzle-orm"); var import_mysql_core11 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-product.ts var import_drizzle_orm8 = require("drizzle-orm"); var import_mysql_core8 = require("drizzle-orm/mysql-core"); function getContentResourceProductSchema(mysqlTable) { return mysqlTable("ContentResourceProduct", { productId: (0, import_mysql_core8.varchar)("productId", { length: 255 }).notNull(), resourceId: (0, import_mysql_core8.varchar)("resourceId", { length: 255 }).notNull(), organizationId: (0, import_mysql_core8.varchar)("organizationId", { length: 191 }), position: (0, import_mysql_core8.double)("position").notNull().default(0), metadata: (0, import_mysql_core8.json)("metadata").$type().default({}), createdAt: (0, import_mysql_core8.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm8.sql`CURRENT_TIMESTAMP(3)`), updatedAt: (0, import_mysql_core8.timestamp)("updatedAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm8.sql`CURRENT_TIMESTAMP(3)`), deletedAt: (0, import_mysql_core8.timestamp)("deletedAt", { mode: "date", fsp: 3 }) }, (crr) => ({ pk: (0, import_mysql_core8.primaryKey)({ columns: [ crr.productId, crr.resourceId ] }), contentResourceIdIdx: (0, import_mysql_core8.index)("contentResourceId_idx").on(crr.productId), resourceIdIdx: (0, import_mysql_core8.index)("resourceId_idx").on(crr.resourceId), organizationIdIdx: (0, import_mysql_core8.index)("organizationId_idx").on(crr.organizationId) })); } __name(getContentResourceProductSchema, "getContentResourceProductSchema"); // src/lib/mysql/schemas/commerce/price.ts var import_drizzle_orm10 = require("drizzle-orm"); var import_mysql_core10 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-price.ts var import_drizzle_orm9 = require("drizzle-orm"); var import_mysql_core9 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organization-memberships.ts function getOrganizationMembershipsSchema(mysqlTable) { return mysqlTable("OrganizationMembership", { id: (0, import_mysql_core15.varchar)("id", { length: 255 }).notNull().primaryKey(), organizationId: (0, import_mysql_core15.varchar)("organizationId", { length: 191 }), role: (0, import_mysql_core15.varchar)("role", { length: 191 }).notNull().default("user"), invitedById: (0, import_mysql_core15.varchar)("invitedById", { length: 255 }).notNull(), userId: (0, import_mysql_core15.varchar)("userId", { length: 255 }).notNull(), fields: (0, import_mysql_core15.json)("fields").$type().default({}), createdAt: (0, import_mysql_core15.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm15.sql`CURRENT_TIMESTAMP(3)`) }, (organizationMembership) => ({ roleIdx: (0, import_mysql_core15.index)("role_idx").on(organizationMembership.role), createdAtIdx: (0, import_mysql_core15.index)("created_at_idx").on(organizationMembership.createdAt), organizationIdIdx: (0, import_mysql_core15.index)("organizationId_idx").on(organizationMembership.organizationId) })); } __name(getOrganizationMembershipsSchema, "getOrganizationMembershipsSchema"); // src/lib/mysql/schemas/commerce/coupon.ts var import_drizzle_orm16 = require("drizzle-orm"); var import_mysql_core17 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-coupon.ts var import_mysql_core16 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-session.ts var import_mysql_core18 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/comment.ts var import_drizzle_orm18 = require("drizzle-orm"); var import_mysql_core20 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/communication-preferences.ts var import_drizzle_orm19 = require("drizzle-orm"); var import_mysql_core23 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/communication-channel.ts var import_mysql_core21 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/communication-preference-types.ts var import_mysql_core22 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-contributions.ts var import_drizzle_orm21 = require("drizzle-orm"); var import_mysql_core25 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/contribution-types.ts var import_drizzle_orm20 = require("drizzle-orm"); var import_mysql_core24 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-contributions.ts function getContentContributionsSchema(mysqlTable) { return mysqlTable("ContentContribution", { id: (0, import_mysql_core25.varchar)("id", { length: 255 }).notNull().primaryKey(), userId: (0, import_mysql_core25.varchar)("userId", { length: 255 }).notNull(), organizationId: (0, import_mysql_core25.varchar)("organizationId", { length: 191 }), organizationMembershipId: (0, import_mysql_core25.varchar)("organizationMembershipId", { length: 255 }), contentId: (0, import_mysql_core25.varchar)("contentId", { length: 255 }).notNull(), contributionTypeId: (0, import_mysql_core25.varchar)("contributionTypeId", { length: 255 }).notNull(), active: (0, import_mysql_core25.boolean)("active").notNull().default(true), createdAt: (0, import_mysql_core25.timestamp)("createdAt", { mode: "date", fsp: 3 }).defaultNow(), updatedAt: (0, import_mysql_core25.timestamp)("updatedAt", { mode: "date", fsp: 3 }).defaultNow(), deletedAt: (0, import_mysql_core25.timestamp)("deletedAt", { mode: "date", fsp: 3 }) }, (cc) => ({ userIdIdx: (0, import_mysql_core25.index)("userId_idx").on(cc.userId), contentIdIdx: (0, import_mysql_core25.index)("contentId_idx").on(cc.contentId), contributionTypeIdIdx: (0, import_mysql_core25.index)("contributionTypeId_idx").on(cc.contributionTypeId), organizationMembershipIdIdx: (0, import_mysql_core25.index)("organizationMembershipId_idx").on(cc.organizationMembershipId) })); } __name(getContentContributionsSchema, "getContentContributionsSchema"); // src/lib/mysql/schemas/auth/accounts.ts var import_drizzle_orm22 = require("drizzle-orm"); var import_mysql_core26 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/profiles.ts var import_drizzle_orm23 = require("drizzle-orm"); var import_mysql_core27 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/user-permissions.ts var import_drizzle_orm25 = require("drizzle-orm"); var import_mysql_core29 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/permissions.ts var import_drizzle_orm24 = require("drizzle-orm"); var import_mysql_core28 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/user-prefs.ts var import_drizzle_orm26 = require("drizzle-orm"); var import_mysql_core30 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/users.ts function getUsersSchema(mysqlTable) { return mysqlTable("User", { id: (0, import_mysql_core31.varchar)("id", { length: 255 }).notNull().primaryKey(), name: (0, import_mysql_core31.varchar)("name", { length: 255 }), role: (0, import_mysql_core31.varchar)("role", { length: 191 }).notNull().default("user"), email: (0, import_mysql_core31.varchar)("email", { length: 255 }).notNull().unique(), fields: (0, import_mysql_core31.json)("fields").$type().default({}), emailVerified: (0, import_mysql_core31.timestamp)("emailVerified", { mode: "date", fsp: 3 }), image: (0, import_mysql_core31.varchar)("image", { length: 255 }), createdAt: (0, import_mysql_core31.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm27.sql`CURRENT_TIMESTAMP(3)`) }, (user) => ({ emailIdx: (0, import_mysql_core31.index)("email_idx").on(user.email), roleIdx: (0, import_mysql_core31.index)("role_idx").on(user.role), createdAtIdx: (0, import_mysql_core31.index)("created_at_idx").on(user.createdAt) })); } __name(getUsersSchema, "getUsersSchema"); // src/lib/mysql/schemas/content/content-resource-resource.ts var import_drizzle_orm28 = require("drizzle-orm"); var import_mysql_core32 = require("drizzle-orm/mysql-core"); function getContentResourceResourceSchema(mysqlTable) { return mysqlTable("ContentResourceResource", { resourceOfId: (0, import_mysql_core32.varchar)("resourceOfId", { length: 255 }).notNull(), resourceId: (0, import_mysql_core32.varchar)("resourceId", { length: 255 }).notNull(), position: (0, import_mysql_core32.double)("position").notNull().default(0), metadata: (0, import_mysql_core32.json)("metadata").$type().default({}), organizationId: (0, import_mysql_core32.varchar)("organizationId", { length: 191 }), createdAt: (0, import_mysql_core32.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm28.sql`CURRENT_TIMESTAMP(3)`), updatedAt: (0, import_mysql_core32.timestamp)("updatedAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm28.sql`CURRENT_TIMESTAMP(3)`), deletedAt: (0, import_mysql_core32.timestamp)("deletedAt", { mode: "date", fsp: 3 }) }, (crr) => ({ pk: (0, import_mysql_core32.primaryKey)({ columns: [ crr.resourceOfId, crr.resourceId ] }), contentResourceIdIdx: (0, import_mysql_core32.index)("contentResourceId_idx").on(crr.resourceOfId), resourceIdIdx: (0, import_mysql_core32.index)("resourceId_idx").on(crr.resourceId), organizationIdIdx: (0, import_mysql_core32.index)("organizationId_idx").on(crr.organizationId) })); } __name(getContentResourceResourceSchema, "getContentResourceResourceSchema"); // src/lib/mysql/schemas/content/content-resource-tag.ts var import_drizzle_orm31 = require("drizzle-orm"); var import_mysql_core35 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/tag.ts var import_drizzle_orm30 = require("drizzle-orm"); var import_mysql_core34 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/tag-tag.ts var import_drizzle_orm29 = require("drizzle-orm"); var import_mysql_core33 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/tag.ts function getTagSchema(mysqlTable) { return mysqlTable("Tag", { id: (0, import_mysql_core34.varchar)("id", { length: 255 }).notNull().primaryKey(), organizationId: (0, import_mysql_core34.varchar)("organizationId", { length: 191 }), type: (0, import_mysql_core34.varchar)("type", { length: 255 }).notNull(), fields: (0, import_mysql_core34.json)("fields").$type().default({}), createdAt: (0, import_mysql_core34.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm30.sql`CURRENT_TIMESTAMP(3)`), updatedAt: (0, import_mysql_core34.timestamp)("updatedAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm30.sql`CURRENT_TIMESTAMP(3)`), deletedAt: (0, import_mysql_core34.timestamp)("deletedAt", { mode: "date", fsp: 3 }) }, (t) => ({ typeIdx: (0, import_mysql_core34.index)("type_idx").on(t.type), organizationIdIdx: (0, import_mysql_core34.index)("organizationId_idx").on(t.organizationId) })); } __name(getTagSchema, "getTagSchema"); // src/lib/mysql/schemas/content/content-resource-tag.ts function getContentResourceTagSchema(mysqlTable) { return mysqlTable("ContentResourceTag", { contentResourceId: (0, import_mysql_core35.varchar)("contentResourceId", { length: 255 }).notNull(), organizationId: (0, import_mysql_core35.varchar)("organizationId", { length: 191 }), tagId: (0, import_mysql_core35.varchar)("tagId", { length: 255 }).notNull(), position: (0, import_mysql_core35.double)("position").notNull().default(0), createdAt: (0, import_mysql_core35.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm31.sql`CURRENT_TIMESTAMP(3)`), updatedAt: (0, import_mysql_core35.timestamp)("updatedAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm31.sql`CURRENT_TIMESTAMP(3)`) }, (crt) => ({ pk: (0, import_mysql_core35.primaryKey)({ columns: [ crt.contentResourceId, crt.tagId ] }), contentResourceIdIdx: (0, import_mysql_core35.index)("contentResourceId_idx").on(crt.contentResourceId), tagIdIdx: (0, import_mysql_core35.index)("tagId_idx").on(crt.tagId), positionIdx: (0, import_mysql_core35.index)("position_idx").on(crt.position), organizationIdIdx: (0, import_mysql_core35.index)("organizationId_idx").on(crt.organizationId) })); } __name(getContentResourceTagSchema, "getContentResourceTagSchema"); // src/lib/mysql/schemas/content/content-resource-version.ts var import_drizzle_orm32 = require("drizzle-orm"); var import_mysql_core36 = require("drizzle-orm/mysql-core"); function getContentResourceVersionSchema(mysqlTable) { return mysqlTable("ContentResourceVersion", { id: (0, import_mysql_core36.varchar)("id", { length: 255 }).notNull().primaryKey(), organizationId: (0, import_mysql_core36.varchar)("organizationId", { length: 191 }), resourceId: (0, import_mysql_core36.varchar)("resourceId", { length: 255 }).notNull(), parentVersionId: (0, import_mysql_core36.varchar)("parentVersionId", { length: 255 }), versionNumber: (0, import_mysql_core36.int)("versionNumber").notNull(), fields: (0, import_mysql_core36.json)("fields").$type().default({}), createdAt: (0, import_mysql_core36.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm32.sql`CURRENT_TIMESTAMP(3)`), createdById: (0, import_mysql_core36.varchar)("createdById", { length: 255 }).notNull() }, (crv) => ({ resourceIdIdx: (0, import_mysql_core36.index)("resourceId_idx").on(crv.resourceId), parentVersionIdIdx: (0, import_mysql_core36.index)("parentVersionId_idx").on(crv.parentVersionId), resourceIdVersionNumberIdx: (0, import_mysql_core36.index)("resourceId_versionNumber_idx").on(crv.resourceId, crv.versionNumber), uniqueResourceVersion: (0, import_mysql_core36.unique)("uq_resource_version_number").on(crv.resourceId, crv.versionNumber), organizationIdIdx: (0, import_mysql_core36.index)("organizationId_idx").on(crv.organizationId) })); } __name(getContentResourceVersionSchema, "getContentResourceVersionSchema"); // src/lib/mysql/schemas/content/content-resource.ts function getContentResourceSchema(mysqlTable) { return mysqlTable("ContentResource", { id: (0, import_mysql_core37.varchar)("id", { length: 255 }).notNull().primaryKey(), organizationId: (0, import_mysql_core37.varchar)("organizationId", { length: 191 }), createdByOrganizationMembershipId: (0, import_mysql_core37.varchar)("createdByOrganizationMembershipId", { length: 191 }), type: (0, import_mysql_core37.varchar)("type", { length: 255 }).notNull(), createdById: (0, import_mysql_core37.varchar)("createdById", { length: 255 }).notNull(), fields: (0, import_mysql_core37.json)("fields").$type().default({}), currentVersionId: (0, import_mysql_core37.varchar)("currentVersionId", { length: 255 }), createdAt: (0, import_mysql_core37.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm33.sql`CURRENT_TIMESTAMP(3)`), updatedAt: (0, import_mysql_core37.timestamp)("updatedAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm33.sql`CURRENT_TIMESTAMP(3)`), deletedAt: (0, import_mysql_core37.timestamp)("deletedAt", { mode: "date", fsp: 3 }) }, (cm) => ({ typeIdx: (0, import_mysql_core37.index)("type_idx").on(cm.type), createdByIdx: (0, import_mysql_core37.index)("createdById_idx").on(cm.createdById), createdAtIdx: (0, import_mysql_core37.index)("createdAt_idx").on(cm.createdAt), currentVersionIdIdx: (0, import_mysql_core37.index)("currentVersionId_idx").on(cm.currentVersionId), createdByOrganizationMembershipIdIdx: (0, import_mysql_core37.index)("createdByOrganizationMembershipId_idx").on(cm.createdByOrganizationMembershipId) })); } __name(getContentResourceSchema, "getContentResourceSchema"); function getContentResourceRelationsSchema(mysqlTable) { const contentResource = getContentResourceSchema(mysqlTable); const users = getUsersSchema(mysqlTable); const contentResourceResource = getContentResourceResourceSchema(mysqlTable); const contentResourceProduct = getContentResourceProductSchema(mysqlTable); const contentContributions = getContentContributionsSchema(mysqlTable); const contentResourceTag = getContentResourceTagSchema(mysqlTable); const contentResourceVersion = getContentResourceVersionSchema(mysqlTable); const organizationMemberships = getOrganizationMembershipsSchema(mysqlTable); const tag = getTagSchema(mysqlTable); return (0, import_drizzle_orm33.relations)(contentResource, ({ one, many }) => ({ createdBy: one(users, { fields: [ contentResource.createdById ], references: [ users.id ], relationName: "creator" }), createdByOrganizationMembership: one(organizationMemberships, { fields: [ contentResource.createdByOrganizationMembershipId ], references: [ organizationMemberships.id ], relationName: "createdByOrganizationMembership" }), tags: many(contentResourceTag, { relationName: "contentResource" }), resources: many(contentResourceResource, { relationName: "resourceOf" }), resourceOf: many(contentResourceResource, { relationName: "resource" }), resourceProducts: many(contentResourceProduct, { relationName: "resource" }), contributions: many(contentContributions, { relationName: "contributions" }), currentVersion: one(contentResourceVersion, { fields: [ contentResource.currentVersionId ], references: [ contentResourceVersion.id ], relationName: "currentVersionResource" }), versions: many(contentResourceVersion, { relationName: "resource" }) })); } __name(getContentResourceRelationsSchema, "getContentResourceRelationsSchema"); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { getContentResourceRelationsSchema, getContentResourceSchema }); //# sourceMappingURL=content-resource.cjs.map