UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

57 lines (55 loc) 1.54 kB
import { getUsersSchema } from "./chunk-LPJ2P2KJ.js"; import { __name } from "./chunk-H736K5TN.js"; // src/lib/mysql/schemas/auth/device-access-token.ts import { relations, sql } from "drizzle-orm"; import { index, primaryKey, timestamp, varchar } from "drizzle-orm/mysql-core"; function getDeviceAccessTokenSchema(mysqlTable) { return mysqlTable("DeviceAccessToken", { token: varchar("token", { length: 191 }).notNull(), userId: varchar("userId", { length: 191 }).notNull(), organizationMembershipId: varchar("organizationMembershipId", { length: 191 }), createdAt: timestamp("createdAt", { mode: "date", fsp: 3 }).default(sql`CURRENT_TIMESTAMP(3)`) }, (crr) => ({ pk: primaryKey({ columns: [ crr.token ] }), userIdIdx: index("userId_idx").on(crr.userId) })); } __name(getDeviceAccessTokenSchema, "getDeviceAccessTokenSchema"); function getDeviceAccessTokenRelationsSchema(mysqlTable) { const deviceAccessToken = getDeviceAccessTokenSchema(mysqlTable); const user = getUsersSchema(mysqlTable); return relations(deviceAccessToken, ({ one }) => ({ verifiedBy: one(user, { fields: [ deviceAccessToken.userId ], references: [ user.id ], relationName: "user" }) })); } __name(getDeviceAccessTokenRelationsSchema, "getDeviceAccessTokenRelationsSchema"); export { getDeviceAccessTokenSchema, getDeviceAccessTokenRelationsSchema }; //# sourceMappingURL=chunk-YQNIXCD3.js.map