UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

111 lines (109 loc) 2.85 kB
import { getPurchaseSchema, getUsersSchema } from "./chunk-LPJ2P2KJ.js"; import { __name } from "./chunk-H736K5TN.js"; // src/lib/mysql/schemas/commerce/purchase-user-transfer.ts import { relations, sql } from "drizzle-orm"; import { index, mysqlEnum, primaryKey, timestamp, varchar } from "drizzle-orm/mysql-core"; function getPurchaseUserTransferSchema(mysqlTable) { return mysqlTable("PurchaseUserTransfer", { id: varchar("id", { length: 191 }).notNull(), transferState: mysqlEnum("transferState", [ "AVAILABLE", "INITIATED", "VERIFIED", "CANCELED", "EXPIRED", "CONFIRMED", "COMPLETED" ]).default("AVAILABLE").notNull(), purchaseId: varchar("purchaseId", { length: 191 }).notNull(), organizationId: varchar("organizationId", { length: 191 }), sourceUserId: varchar("sourceUserId", { length: 191 }).notNull(), targetUserId: varchar("targetUserId", { length: 191 }), createdAt: timestamp("createdAt", { mode: "date", fsp: 3 }).default(sql`CURRENT_TIMESTAMP(3)`).notNull(), expiresAt: timestamp("expiresAt", { mode: "date", fsp: 3 }), canceledAt: timestamp("canceledAt", { mode: "date", fsp: 3 }), confirmedAt: timestamp("confirmedAt", { mode: "date", fsp: 3 }), completedAt: timestamp("completedAt", { mode: "date", fsp: 3 }) }, (table) => { return { purchaseUserTransferId: primaryKey({ columns: [ table.id ], name: "PurchaseUserTransfer_id" }), organizationIdIdx: index("organizationId_idx").on(table.organizationId) }; }); } __name(getPurchaseUserTransferSchema, "getPurchaseUserTransferSchema"); function getPurchaseUserTransferRelationsSchema(mysqlTable) { const purchaseUserTransfer = getPurchaseUserTransferSchema(mysqlTable); const user = getUsersSchema(mysqlTable); const purchase = getPurchaseSchema(mysqlTable); return relations(purchaseUserTransfer, ({ one }) => ({ sourceUser: one(user, { fields: [ purchaseUserTransfer.sourceUserId ], references: [ user.id ], relationName: "sourceUser" }), targetUser: one(user, { fields: [ purchaseUserTransfer.targetUserId ], references: [ user.id ], relationName: "targetUser" }), purchase: one(purchase, { fields: [ purchaseUserTransfer.purchaseId ], references: [ purchase.id ], relationName: "purchase" }) })); } __name(getPurchaseUserTransferRelationsSchema, "getPurchaseUserTransferRelationsSchema"); export { getPurchaseUserTransferSchema, getPurchaseUserTransferRelationsSchema }; //# sourceMappingURL=chunk-HWIQUI7O.js.map