@coursebuilder/adapter-drizzle
Version:
Drizzle adapter for Course Builder.
111 lines (109 loc) • 2.85 kB
JavaScript
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