UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

591 lines (547 loc) 21.4 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/commerce/purchase.ts var purchase_exports = {}; __export(purchase_exports, { getPurchaseRelationsSchema: () => getPurchaseRelationsSchema, getPurchaseSchema: () => getPurchaseSchema }); module.exports = __toCommonJS(purchase_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_orm31 = require("drizzle-orm"); var import_mysql_core33 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/comment.ts var import_drizzle_orm24 = require("drizzle-orm"); var import_mysql_core24 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organization-memberships.ts var import_drizzle_orm23 = require("drizzle-orm"); var import_mysql_core23 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organization-membership-roles.ts var import_drizzle_orm22 = require("drizzle-orm"); var import_mysql_core22 = 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_orm21 = require("drizzle-orm"); var import_mysql_core21 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/subscription.ts var import_drizzle_orm20 = require("drizzle-orm"); var import_mysql_core20 = 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/merchant-charge.ts function getMerchantChargeSchema(mysqlTable) { return mysqlTable("MerchantCharge", { id: (0, import_mysql_core6.varchar)("id", { length: 191 }).notNull(), organizationId: (0, import_mysql_core6.varchar)("organizationId", { length: 191 }), status: (0, import_mysql_core6.int)("status").default(0).notNull(), identifier: (0, import_mysql_core6.varchar)("identifier", { length: 191 }).notNull(), userId: (0, import_mysql_core6.varchar)("userId", { length: 191 }).notNull(), merchantAccountId: (0, import_mysql_core6.varchar)("merchantAccountId", { length: 191 }).notNull(), merchantProductId: (0, import_mysql_core6.varchar)("merchantProductId", { length: 191 }).notNull(), merchantSubscriptionId: (0, import_mysql_core6.varchar)("merchantSubscriptionId", { length: 191 }), createdAt: (0, import_mysql_core6.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm6.sql`CURRENT_TIMESTAMP(3)`).notNull(), merchantCustomerId: (0, import_mysql_core6.varchar)("merchantCustomerId", { length: 191 }).notNull() }, (table) => { return { merchantChargeId: (0, import_mysql_core6.primaryKey)({ columns: [ table.id ], name: "MerchantCharge_id" }), merchantChargeIdentifierKey: (0, import_mysql_core6.unique)("MerchantCharge_identifier_key").on(table.identifier), merchantSubscriptionIdIdx: (0, import_mysql_core6.index)("merchantSubscriptionId_idx").on(table.merchantSubscriptionId), organizationIdIdx: (0, import_mysql_core6.index)("organizationId_idx").on(table.organizationId) }; }); } __name(getMerchantChargeSchema, "getMerchantChargeSchema"); // src/lib/mysql/schemas/commerce/product.ts var import_drizzle_orm19 = require("drizzle-orm"); var import_mysql_core19 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-product.ts var import_drizzle_orm16 = require("drizzle-orm"); var import_mysql_core16 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource.ts var import_drizzle_orm15 = require("drizzle-orm"); var import_mysql_core15 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-contributions.ts var import_drizzle_orm9 = require("drizzle-orm"); var import_mysql_core9 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/contribution-types.ts var import_drizzle_orm8 = require("drizzle-orm"); var import_mysql_core8 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-resource.ts var import_drizzle_orm10 = require("drizzle-orm"); var import_mysql_core10 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-tag.ts var import_drizzle_orm13 = require("drizzle-orm"); var import_mysql_core13 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/tag.ts var import_drizzle_orm12 = require("drizzle-orm"); var import_mysql_core12 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/tag-tag.ts var import_drizzle_orm11 = require("drizzle-orm"); var import_mysql_core11 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-version.ts var import_drizzle_orm14 = require("drizzle-orm"); var import_mysql_core14 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/price.ts var import_drizzle_orm18 = require("drizzle-orm"); var import_mysql_core18 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-price.ts var import_drizzle_orm17 = require("drizzle-orm"); var import_mysql_core17 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/product.ts function getProductSchema(mysqlTable) { return mysqlTable("Product", { id: (0, import_mysql_core19.varchar)("id", { length: 191 }).notNull(), organizationId: (0, import_mysql_core19.varchar)("organizationId", { length: 191 }), name: (0, import_mysql_core19.varchar)("name", { length: 191 }).notNull(), key: (0, import_mysql_core19.varchar)("key", { length: 191 }), type: (0, import_mysql_core19.varchar)("type", { length: 191 }), fields: (0, import_mysql_core19.json)("fields").$type().default({}), createdAt: (0, import_mysql_core19.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm19.sql`CURRENT_TIMESTAMP(3)`).notNull(), status: (0, import_mysql_core19.int)("status").default(0).notNull(), quantityAvailable: (0, import_mysql_core19.int)("quantityAvailable").default(-1).notNull() }, (table) => { return { productId: (0, import_mysql_core19.primaryKey)({ columns: [ table.id ], name: "Product_id" }), organizationIdIdx: (0, import_mysql_core19.index)("organizationId_idx").on(table.organizationId) }; }); } __name(getProductSchema, "getProductSchema"); // src/lib/mysql/schemas/org/organizations.ts function getOrganizationsSchema(mysqlTable) { return mysqlTable("Organization", { id: (0, import_mysql_core21.varchar)("id", { length: 255 }).notNull().primaryKey(), name: (0, import_mysql_core21.varchar)("name", { length: 255 }), fields: (0, import_mysql_core21.json)("fields").$type().default({}), image: (0, import_mysql_core21.varchar)("image", { length: 255 }), createdAt: (0, import_mysql_core21.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm21.sql`CURRENT_TIMESTAMP(3)`) }, (organization) => ({ createdAtIdx: (0, import_mysql_core21.index)("created_at_idx").on(organization.createdAt) })); } __name(getOrganizationsSchema, "getOrganizationsSchema"); // src/lib/mysql/schemas/org/organization-memberships.ts function getOrganizationMembershipsSchema(mysqlTable) { return mysqlTable("OrganizationMembership", { id: (0, import_mysql_core23.varchar)("id", { length: 255 }).notNull().primaryKey(), organizationId: (0, import_mysql_core23.varchar)("organizationId", { length: 191 }), role: (0, import_mysql_core23.varchar)("role", { length: 191 }).notNull().default("user"), invitedById: (0, import_mysql_core23.varchar)("invitedById", { length: 255 }).notNull(), userId: (0, import_mysql_core23.varchar)("userId", { length: 255 }).notNull(), fields: (0, import_mysql_core23.json)("fields").$type().default({}), createdAt: (0, import_mysql_core23.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm23.sql`CURRENT_TIMESTAMP(3)`) }, (organizationMembership) => ({ roleIdx: (0, import_mysql_core23.index)("role_idx").on(organizationMembership.role), createdAtIdx: (0, import_mysql_core23.index)("created_at_idx").on(organizationMembership.createdAt), organizationIdIdx: (0, import_mysql_core23.index)("organizationId_idx").on(organizationMembership.organizationId) })); } __name(getOrganizationMembershipsSchema, "getOrganizationMembershipsSchema"); // src/lib/mysql/schemas/communication/communication-preferences.ts var import_drizzle_orm25 = require("drizzle-orm"); var import_mysql_core27 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/communication-channel.ts var import_mysql_core25 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/communication-preference-types.ts var import_mysql_core26 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/accounts.ts var import_drizzle_orm26 = require("drizzle-orm"); var import_mysql_core28 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/profiles.ts var import_drizzle_orm27 = require("drizzle-orm"); var import_mysql_core29 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/user-permissions.ts var import_drizzle_orm29 = require("drizzle-orm"); var import_mysql_core31 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/permissions.ts var import_drizzle_orm28 = require("drizzle-orm"); var import_mysql_core30 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/user-prefs.ts var import_drizzle_orm30 = require("drizzle-orm"); var import_mysql_core32 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/users.ts function getUsersSchema(mysqlTable) { return mysqlTable("User", { id: (0, import_mysql_core33.varchar)("id", { length: 255 }).notNull().primaryKey(), name: (0, import_mysql_core33.varchar)("name", { length: 255 }), role: (0, import_mysql_core33.varchar)("role", { length: 191 }).notNull().default("user"), email: (0, import_mysql_core33.varchar)("email", { length: 255 }).notNull().unique(), fields: (0, import_mysql_core33.json)("fields").$type().default({}), emailVerified: (0, import_mysql_core33.timestamp)("emailVerified", { mode: "date", fsp: 3 }), image: (0, import_mysql_core33.varchar)("image", { length: 255 }), createdAt: (0, import_mysql_core33.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm31.sql`CURRENT_TIMESTAMP(3)`) }, (user) => ({ emailIdx: (0, import_mysql_core33.index)("email_idx").on(user.email), roleIdx: (0, import_mysql_core33.index)("role_idx").on(user.role), createdAtIdx: (0, import_mysql_core33.index)("created_at_idx").on(user.createdAt) })); } __name(getUsersSchema, "getUsersSchema"); // src/lib/mysql/schemas/commerce/coupon.ts var import_drizzle_orm32 = require("drizzle-orm"); var import_mysql_core35 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-coupon.ts var import_mysql_core34 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/coupon.ts function getCouponSchema(mysqlTable) { return mysqlTable("Coupon", { id: (0, import_mysql_core35.varchar)("id", { length: 191 }).notNull(), organizationId: (0, import_mysql_core35.varchar)("organizationId", { length: 191 }), code: (0, import_mysql_core35.varchar)("code", { length: 191 }), createdAt: (0, import_mysql_core35.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm32.sql`CURRENT_TIMESTAMP(3)`).notNull(), expires: (0, import_mysql_core35.timestamp)("expires", { mode: "date", fsp: 3 }), fields: (0, import_mysql_core35.json)("fields").$type().default({}), maxUses: (0, import_mysql_core35.int)("maxUses").default(-1).notNull(), default: (0, import_mysql_core35.boolean)("default").default(false).notNull(), merchantCouponId: (0, import_mysql_core35.varchar)("merchantCouponId", { length: 191 }), status: (0, import_mysql_core35.int)("status").default(0).notNull(), usedCount: (0, import_mysql_core35.int)("usedCount").default(0).notNull(), percentageDiscount: (0, import_mysql_core35.decimal)("percentageDiscount", { precision: 3, scale: 2 }).notNull(), restrictedToProductId: (0, import_mysql_core35.varchar)("restrictedToProductId", { length: 191 }) }, (table) => { return { couponIdCodeIndex: (0, import_mysql_core35.index)("Coupon_id_code_index").on(table.id, table.code), couponId: (0, import_mysql_core35.primaryKey)({ columns: [ table.id ], name: "Coupon_id" }), couponCodeKey: (0, import_mysql_core35.unique)("Coupon_code_key").on(table.code), organizationIdIdx: (0, import_mysql_core35.index)("organizationId_idx").on(table.organizationId) }; }); } __name(getCouponSchema, "getCouponSchema"); // src/lib/mysql/schemas/commerce/merchant-session.ts var import_mysql_core36 = require("drizzle-orm/mysql-core"); function getMerchantSessionSchema(mysqlTable) { return mysqlTable("MerchantSession", { id: (0, import_mysql_core36.varchar)("id", { length: 191 }).notNull(), organizationId: (0, import_mysql_core36.varchar)("organizationId", { length: 191 }), identifier: (0, import_mysql_core36.varchar)("identifier", { length: 191 }).notNull(), merchantAccountId: (0, import_mysql_core36.varchar)("merchantAccountId", { length: 191 }).notNull() }, (table) => { return { merchantSessionId: (0, import_mysql_core36.primaryKey)({ columns: [ table.id ], name: "MerchantSession_id" }), organizationIdIdx: (0, import_mysql_core36.index)("organizationId_idx").on(table.organizationId) }; }); } __name(getMerchantSessionSchema, "getMerchantSessionSchema"); // src/lib/mysql/schemas/commerce/purchase.ts function getPurchaseSchema(mysqlTable) { return mysqlTable("Purchase", { id: (0, import_mysql_core37.varchar)("id", { length: 191 }).notNull(), userId: (0, import_mysql_core37.varchar)("userId", { length: 191 }), purchasedByorganizationMembershipId: (0, import_mysql_core37.varchar)("organizationMembershipId", { length: 191 }), organizationId: (0, import_mysql_core37.varchar)("organizationId", { length: 191 }), createdAt: (0, import_mysql_core37.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm33.sql`CURRENT_TIMESTAMP(3)`).notNull(), totalAmount: (0, import_mysql_core37.decimal)("totalAmount", { precision: 65, scale: 30 }).notNull(), ipAddress: (0, import_mysql_core37.varchar)("ip_address", { length: 191 }), city: (0, import_mysql_core37.varchar)("city", { length: 191 }), state: (0, import_mysql_core37.varchar)("state", { length: 191 }), country: (0, import_mysql_core37.varchar)("country", { length: 191 }), couponId: (0, import_mysql_core37.varchar)("couponId", { length: 191 }), productId: (0, import_mysql_core37.varchar)("productId", { length: 191 }).notNull(), merchantChargeId: (0, import_mysql_core37.varchar)("merchantChargeId", { length: 191 }), upgradedFromId: (0, import_mysql_core37.varchar)("upgradedFromId", { length: 191 }), status: (0, import_mysql_core37.varchar)("status", { length: 191 }).default("Valid").notNull(), bulkCouponId: (0, import_mysql_core37.varchar)("bulkCouponId", { length: 191 }), merchantSessionId: (0, import_mysql_core37.varchar)("merchantSessionId", { length: 191 }), redeemedBulkCouponId: (0, import_mysql_core37.varchar)("redeemedBulkCouponId", { length: 191 }), fields: (0, import_mysql_core37.json)("fields").$type().default({}) }, (table) => { return { purchaseId: (0, import_mysql_core37.primaryKey)({ columns: [ table.id ], name: "Purchase_id" }), merchantChargeIdIdx: (0, import_mysql_core37.index)("idx_Purchase_on_merchantChargeId").on(table.merchantChargeId), purchaseUpgradedFromIdKey: (0, import_mysql_core37.unique)("Purchase_upgradedFromId_key").on(table.upgradedFromId), organizationIdIdx: (0, import_mysql_core37.index)("organizationId_idx").on(table.organizationId), organizationMembershipIdIdx: (0, import_mysql_core37.index)("organizationMembershipId_idx").on(table.purchasedByorganizationMembershipId) }; }); } __name(getPurchaseSchema, "getPurchaseSchema"); function getPurchaseRelationsSchema(mysqlTable) { const purchases = getPurchaseSchema(mysqlTable); const users = getUsersSchema(mysqlTable); const products = getProductSchema(mysqlTable); const merchantCharges = getMerchantChargeSchema(mysqlTable); const merchantSessions = getMerchantSessionSchema(mysqlTable); const coupons = getCouponSchema(mysqlTable); const organizations = getOrganizationsSchema(mysqlTable); const organizationMemberships = getOrganizationMembershipsSchema(mysqlTable); return (0, import_drizzle_orm33.relations)(purchases, ({ many, one }) => ({ redeemedBulkCoupon: one(coupons, { fields: [ purchases.redeemedBulkCouponId ], references: [ coupons.id ], relationName: "redeemedBulkCoupon" }), user: one(users, { fields: [ purchases.userId ], references: [ users.id ], relationName: "user" }), organization: one(organizations, { fields: [ purchases.organizationId ], references: [ organizations.id ], relationName: "organization" }), purchasedBy: one(organizationMemberships, { fields: [ purchases.purchasedByorganizationMembershipId ], references: [ organizationMemberships.id ], relationName: "organizationMembership" }), product: one(products, { fields: [ purchases.productId ], references: [ products.id ], relationName: "product" }), bulkCoupon: one(coupons, { fields: [ purchases.bulkCouponId ], references: [ coupons.id ], relationName: "bulkCoupon" }), merchantCharge: one(merchantCharges, { fields: [ purchases.merchantChargeId ], references: [ merchantCharges.id ], relationName: "merchantCharge" }), merchantSession: one(merchantSessions, { fields: [ purchases.merchantSessionId ], references: [ merchantSessions.id ], relationName: "merchantSession" }) })); } __name(getPurchaseRelationsSchema, "getPurchaseRelationsSchema"); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { getPurchaseRelationsSchema, getPurchaseSchema }); //# sourceMappingURL=purchase.cjs.map