UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

410 lines (370 loc) 15.3 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/coupon.ts var coupon_exports = {}; __export(coupon_exports, { getCouponRelationsSchema: () => getCouponRelationsSchema, getCouponSchema: () => getCouponSchema }); module.exports = __toCommonJS(coupon_exports); var import_drizzle_orm33 = require("drizzle-orm"); var import_mysql_core37 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-coupon.ts var import_mysql_core = require("drizzle-orm/mysql-core"); function getMerchantCouponSchema(mysqlTable) { return mysqlTable("MerchantCoupon", { id: (0, import_mysql_core.varchar)("id", { length: 191 }).notNull(), identifier: (0, import_mysql_core.varchar)("identifier", { length: 191 }), organizationId: (0, import_mysql_core.varchar)("organizationId", { length: 191 }), status: (0, import_mysql_core.int)("status").default(0).notNull(), merchantAccountId: (0, import_mysql_core.varchar)("merchantAccountId", { length: 191 }).notNull(), percentageDiscount: (0, import_mysql_core.decimal)("percentageDiscount", { precision: 3, scale: 2 }).notNull(), type: (0, import_mysql_core.varchar)("type", { length: 191 }) }, (table) => { return { merchantCouponId: (0, import_mysql_core.primaryKey)({ columns: [ table.id ], name: "MerchantCoupon_id" }), merchantCouponIdentifierKey: (0, import_mysql_core.unique)("MerchantCoupon_identifier_key").on(table.identifier), organizationIdIdx: (0, import_mysql_core.index)("organizationId_idx").on(table.organizationId) }; }); } __name(getMerchantCouponSchema, "getMerchantCouponSchema"); // src/lib/mysql/schemas/commerce/product.ts var import_drizzle_orm32 = require("drizzle-orm"); var import_mysql_core36 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-product.ts var import_drizzle_orm29 = require("drizzle-orm"); var import_mysql_core33 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource.ts var import_drizzle_orm28 = require("drizzle-orm"); var import_mysql_core32 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/users.ts var import_drizzle_orm22 = require("drizzle-orm"); var import_mysql_core26 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/purchase.ts var import_drizzle_orm12 = require("drizzle-orm"); var import_mysql_core14 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organization-memberships.ts var import_drizzle_orm11 = require("drizzle-orm"); var import_mysql_core12 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organization-membership-roles.ts var import_drizzle_orm10 = require("drizzle-orm"); var import_mysql_core11 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/roles.ts var import_drizzle_orm2 = require("drizzle-orm"); var import_mysql_core3 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/user-roles.ts var import_drizzle_orm = require("drizzle-orm"); var import_mysql_core2 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/org/organizations.ts var import_drizzle_orm9 = require("drizzle-orm"); var import_mysql_core10 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/subscription.ts var import_drizzle_orm8 = require("drizzle-orm"); var import_mysql_core9 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-subscription.ts var import_drizzle_orm7 = require("drizzle-orm"); var import_mysql_core8 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-charge.ts var import_drizzle_orm6 = require("drizzle-orm"); var import_mysql_core7 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-account.ts var import_drizzle_orm3 = require("drizzle-orm"); var import_mysql_core4 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-customer.ts var import_drizzle_orm4 = require("drizzle-orm"); var import_mysql_core5 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-product.ts var import_drizzle_orm5 = require("drizzle-orm"); var import_mysql_core6 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-session.ts var import_mysql_core13 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/purchase.ts function getPurchaseSchema(mysqlTable) { return mysqlTable("Purchase", { id: (0, import_mysql_core14.varchar)("id", { length: 191 }).notNull(), userId: (0, import_mysql_core14.varchar)("userId", { length: 191 }), purchasedByorganizationMembershipId: (0, import_mysql_core14.varchar)("organizationMembershipId", { length: 191 }), organizationId: (0, import_mysql_core14.varchar)("organizationId", { length: 191 }), createdAt: (0, import_mysql_core14.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm12.sql`CURRENT_TIMESTAMP(3)`).notNull(), totalAmount: (0, import_mysql_core14.decimal)("totalAmount", { precision: 65, scale: 30 }).notNull(), ipAddress: (0, import_mysql_core14.varchar)("ip_address", { length: 191 }), city: (0, import_mysql_core14.varchar)("city", { length: 191 }), state: (0, import_mysql_core14.varchar)("state", { length: 191 }), country: (0, import_mysql_core14.varchar)("country", { length: 191 }), couponId: (0, import_mysql_core14.varchar)("couponId", { length: 191 }), productId: (0, import_mysql_core14.varchar)("productId", { length: 191 }).notNull(), merchantChargeId: (0, import_mysql_core14.varchar)("merchantChargeId", { length: 191 }), upgradedFromId: (0, import_mysql_core14.varchar)("upgradedFromId", { length: 191 }), status: (0, import_mysql_core14.varchar)("status", { length: 191 }).default("Valid").notNull(), bulkCouponId: (0, import_mysql_core14.varchar)("bulkCouponId", { length: 191 }), merchantSessionId: (0, import_mysql_core14.varchar)("merchantSessionId", { length: 191 }), redeemedBulkCouponId: (0, import_mysql_core14.varchar)("redeemedBulkCouponId", { length: 191 }), fields: (0, import_mysql_core14.json)("fields").$type().default({}) }, (table) => { return { purchaseId: (0, import_mysql_core14.primaryKey)({ columns: [ table.id ], name: "Purchase_id" }), merchantChargeIdIdx: (0, import_mysql_core14.index)("idx_Purchase_on_merchantChargeId").on(table.merchantChargeId), purchaseUpgradedFromIdKey: (0, import_mysql_core14.unique)("Purchase_upgradedFromId_key").on(table.upgradedFromId), organizationIdIdx: (0, import_mysql_core14.index)("organizationId_idx").on(table.organizationId), organizationMembershipIdIdx: (0, import_mysql_core14.index)("organizationMembershipId_idx").on(table.purchasedByorganizationMembershipId) }; }); } __name(getPurchaseSchema, "getPurchaseSchema"); // src/lib/mysql/schemas/communication/comment.ts var import_drizzle_orm13 = require("drizzle-orm"); var import_mysql_core15 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/communication-preferences.ts var import_drizzle_orm14 = require("drizzle-orm"); var import_mysql_core18 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/communication-channel.ts var import_mysql_core16 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/communication/communication-preference-types.ts var import_mysql_core17 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-contributions.ts var import_drizzle_orm16 = require("drizzle-orm"); var import_mysql_core20 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/contribution-types.ts var import_drizzle_orm15 = require("drizzle-orm"); var import_mysql_core19 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/accounts.ts var import_drizzle_orm17 = require("drizzle-orm"); var import_mysql_core21 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/profiles.ts var import_drizzle_orm18 = require("drizzle-orm"); var import_mysql_core22 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/user-permissions.ts var import_drizzle_orm20 = require("drizzle-orm"); var import_mysql_core24 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/permissions.ts var import_drizzle_orm19 = require("drizzle-orm"); var import_mysql_core23 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/auth/user-prefs.ts var import_drizzle_orm21 = require("drizzle-orm"); var import_mysql_core25 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-resource.ts var import_drizzle_orm23 = require("drizzle-orm"); var import_mysql_core27 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-tag.ts var import_drizzle_orm26 = require("drizzle-orm"); var import_mysql_core30 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/tag.ts var import_drizzle_orm25 = require("drizzle-orm"); var import_mysql_core29 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/tag-tag.ts var import_drizzle_orm24 = require("drizzle-orm"); var import_mysql_core28 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/content/content-resource-version.ts var import_drizzle_orm27 = require("drizzle-orm"); var import_mysql_core31 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/price.ts var import_drizzle_orm31 = require("drizzle-orm"); var import_mysql_core35 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/merchant-price.ts var import_drizzle_orm30 = require("drizzle-orm"); var import_mysql_core34 = require("drizzle-orm/mysql-core"); // src/lib/mysql/schemas/commerce/product.ts function getProductSchema(mysqlTable) { return mysqlTable("Product", { id: (0, import_mysql_core36.varchar)("id", { length: 191 }).notNull(), organizationId: (0, import_mysql_core36.varchar)("organizationId", { length: 191 }), name: (0, import_mysql_core36.varchar)("name", { length: 191 }).notNull(), key: (0, import_mysql_core36.varchar)("key", { length: 191 }), type: (0, import_mysql_core36.varchar)("type", { length: 191 }), 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)`).notNull(), status: (0, import_mysql_core36.int)("status").default(0).notNull(), quantityAvailable: (0, import_mysql_core36.int)("quantityAvailable").default(-1).notNull() }, (table) => { return { productId: (0, import_mysql_core36.primaryKey)({ columns: [ table.id ], name: "Product_id" }), organizationIdIdx: (0, import_mysql_core36.index)("organizationId_idx").on(table.organizationId) }; }); } __name(getProductSchema, "getProductSchema"); // src/lib/mysql/schemas/commerce/coupon.ts function getCouponSchema(mysqlTable) { return mysqlTable("Coupon", { id: (0, import_mysql_core37.varchar)("id", { length: 191 }).notNull(), organizationId: (0, import_mysql_core37.varchar)("organizationId", { length: 191 }), code: (0, import_mysql_core37.varchar)("code", { length: 191 }), createdAt: (0, import_mysql_core37.timestamp)("createdAt", { mode: "date", fsp: 3 }).default(import_drizzle_orm33.sql`CURRENT_TIMESTAMP(3)`).notNull(), expires: (0, import_mysql_core37.timestamp)("expires", { mode: "date", fsp: 3 }), fields: (0, import_mysql_core37.json)("fields").$type().default({}), maxUses: (0, import_mysql_core37.int)("maxUses").default(-1).notNull(), default: (0, import_mysql_core37.boolean)("default").default(false).notNull(), merchantCouponId: (0, import_mysql_core37.varchar)("merchantCouponId", { length: 191 }), status: (0, import_mysql_core37.int)("status").default(0).notNull(), usedCount: (0, import_mysql_core37.int)("usedCount").default(0).notNull(), percentageDiscount: (0, import_mysql_core37.decimal)("percentageDiscount", { precision: 3, scale: 2 }).notNull(), restrictedToProductId: (0, import_mysql_core37.varchar)("restrictedToProductId", { length: 191 }) }, (table) => { return { couponIdCodeIndex: (0, import_mysql_core37.index)("Coupon_id_code_index").on(table.id, table.code), couponId: (0, import_mysql_core37.primaryKey)({ columns: [ table.id ], name: "Coupon_id" }), couponCodeKey: (0, import_mysql_core37.unique)("Coupon_code_key").on(table.code), organizationIdIdx: (0, import_mysql_core37.index)("organizationId_idx").on(table.organizationId) }; }); } __name(getCouponSchema, "getCouponSchema"); function getCouponRelationsSchema(mysqlTable) { const purchase = getPurchaseSchema(mysqlTable); const coupon = getCouponSchema(mysqlTable); const merchantCoupon = getMerchantCouponSchema(mysqlTable); return (0, import_drizzle_orm33.relations)(coupon, ({ many, one }) => ({ redeemedBulkCouponPurchases: many(purchase, { relationName: "redeemedBulkCoupon" }), merchantCoupon: one(merchantCoupon, { fields: [ coupon.merchantCouponId ], references: [ merchantCoupon.id ], relationName: "merchantCoupon" }), product: one(getProductSchema(mysqlTable), { fields: [ coupon.restrictedToProductId ], references: [ getProductSchema(mysqlTable).id ], relationName: "product" }), bulkPurchases: many(purchase, { relationName: "bulkCoupon" }) })); } __name(getCouponRelationsSchema, "getCouponRelationsSchema"); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { getCouponRelationsSchema, getCouponSchema }); //# sourceMappingURL=coupon.cjs.map