UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

62 lines (60 loc) 1.65 kB
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