import { relations, sql } from "drizzle-orm"; import { text, sqliteTable, integer } from "drizzle-orm/sqlite-core"; export const groupTable = sqliteTable("groups", { id: integer().primaryKey(), name: text().notNull(), }); export const userTable = sqliteTable("users", { id: integer().primaryKey(), name: text().unique().notNull(), passkey: text(), passkeyId: text("passkey_id").notNull(), }); export const sessionTable = sqliteTable("sessions", { id: integer().primaryKey(), uuid: text().unique().notNull(), userId: integer("user_id").notNull(), lastUse: integer("last_use", { mode: "timestamp" }).notNull().default(sql`(unixepoch())`), }); export const sessionRelations = relations(sessionTable, ({ one }) => ({ user: one(userTable, { fields: [sessionTable.userId], references: [userTable.id], }), })); export const webauthnChallenges = sqliteTable("webauthn_challenges", { id: integer().primaryKey(), challenge: text().notNull(), key: text().notNull(), });