UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

79 lines (77 loc) 2.33 kB
import { getProductSchema } from "./chunk-LPJ2P2KJ.js"; import { __name } from "./chunk-H736K5TN.js"; // src/lib/mysql/schemas/commerce/upgradable-products.ts import { relations, sql } from "drizzle-orm"; import { double, index, json, primaryKey, timestamp, varchar } from "drizzle-orm/mysql-core"; function getUpgradableProductsSchema(mysqlTable) { return mysqlTable("UpgradableProducts", { upgradableToId: varchar("upgradableToId", { length: 255 }).notNull(), upgradableFromId: varchar("upgradableFrom", { length: 255 }).notNull(), organizationId: varchar("organizationId", { length: 191 }), position: double("position").notNull().default(0), metadata: json("metadata").$type().default({}), createdAt: timestamp("createdAt", { mode: "date", fsp: 3 }).default(sql`CURRENT_TIMESTAMP(3)`), updatedAt: timestamp("updatedAt", { mode: "date", fsp: 3 }).default(sql`CURRENT_TIMESTAMP(3)`), deletedAt: timestamp("deletedAt", { mode: "date", fsp: 3 }) }, (crr) => ({ pk: primaryKey({ columns: [ crr.upgradableToId, crr.upgradableFromId ] }), upgradableToIdIdx: index("upgradableFromId_idx").on(crr.upgradableToId), upgradableFromIdIdx: index("upgradableToId_idx").on(crr.upgradableFromId), organizationIdIdx: index("organizationId_idx").on(crr.organizationId) })); } __name(getUpgradableProductsSchema, "getUpgradableProductsSchema"); function getUpgradableProductsRelationsSchema(mysqlTable) { const product = getProductSchema(mysqlTable); const upgradableProduct = getUpgradableProductsSchema(mysqlTable); return relations(upgradableProduct, ({ one }) => ({ upgradableTo: one(product, { fields: [ upgradableProduct.upgradableToId ], references: [ product.id ], relationName: "upgradableTo" }), upgradableFrom: one(product, { fields: [ upgradableProduct.upgradableFromId ], references: [ product.id ], relationName: "upgradableFrom" }) })); } __name(getUpgradableProductsRelationsSchema, "getUpgradableProductsRelationsSchema"); export { getUpgradableProductsSchema, getUpgradableProductsRelationsSchema }; //# sourceMappingURL=chunk-FPAQINSA.js.map