import { int, integer, sqliteTable, text } from "drizzle-orm/sqlite-core"; import { sql } from "drizzle-orm/sql"; import { contentType } from "https://deno.land/std@0.216.0/media_types/content_type.ts"; export const userTable = sqliteTable("user", { id: text() .primaryKey(), createdAt: integer("created_at", { mode: "timestamp" }) .default(sql`(current_timestamp)`) .notNull(), email: text() .notNull(), name: text() .notNull(), }); export const sessionTable = sqliteTable("session", { id: text("id") .primaryKey(), createdAt: integer("created_at", { mode: "timestamp_ms" }).default( sql`(current_timestamp)`, ), expiresAt: integer("expires_at", { mode: "timestamp" }) .notNull(), userId: text("user_id") .notNull(), }); export const performanceTable = sqliteTable("performance", { path: text().notNull(), search: text(), time: int().notNull(), createdAt: integer("created_at", { mode: "timestamp_ms", }).default(sql`(STRFTIME('%s', 'now') * 1000)`), }); export const imageTable = sqliteTable("image", { createdAt: integer("created_at", { mode: "timestamp" }).default( sql`(current_timestamp)`, ), url: text().notNull(), average: text().notNull(), blurhash: text().notNull(), mime: text().notNull(), }); export const documentTable = sqliteTable("document", { name: text().notNull().primaryKey(), lastModified: integer("last_modified").notNull(), content: text(), contentType: text("content_type").notNull(), size: integer().notNull(), perm: text().notNull(), });