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