@coursebuilder/adapter-drizzle
Version:
Drizzle adapter for Course Builder.
410 lines (370 loc) • 15.3 kB
JavaScript
"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