@coursebuilder/adapter-drizzle
Version:
Drizzle adapter for Course Builder.
62 lines (60 loc) • 1.65 kB
JavaScript
import {
getUsersSchema
} from "./chunk-LPJ2P2KJ.js";
import {
__name
} from "./chunk-H736K5TN.js";
// src/lib/mysql/schemas/auth/device-verification.ts
import { relations, sql } from "drizzle-orm";
import { primaryKey, text, timestamp, varchar } from "drizzle-orm/mysql-core";
function getDeviceVerificationSchema(mysqlTable) {
return mysqlTable("DeviceVerification", {
verifiedByUserId: varchar("verifiedByUserId", {
length: 255
}),
deviceCode: varchar("deviceCode", {
length: 191
}).notNull(),
userCode: text("userCode").notNull(),
expires: timestamp("expires", {
mode: "date",
fsp: 3
}).notNull(),
createdAt: timestamp("createdAt", {
mode: "date",
fsp: 3
}).default(sql`CURRENT_TIMESTAMP(3)`),
verifiedAt: timestamp("verifiedAt", {
mode: "date",
fsp: 3
})
}, (crr) => ({
pk: primaryKey({
columns: [
crr.deviceCode
]
})
}));
}
__name(getDeviceVerificationSchema, "getDeviceVerificationSchema");
function getDeviceVerificationRelationsSchema(mysqlTable) {
const deviceVerification = getDeviceVerificationSchema(mysqlTable);
const user = getUsersSchema(mysqlTable);
return relations(deviceVerification, ({ one }) => ({
verifiedBy: one(user, {
fields: [
deviceVerification.verifiedByUserId
],
references: [
user.id
],
relationName: "user"
})
}));
}
__name(getDeviceVerificationRelationsSchema, "getDeviceVerificationRelationsSchema");
export {
getDeviceVerificationSchema,
getDeviceVerificationRelationsSchema
};
//# sourceMappingURL=chunk-OBUGOZKM.js.map