import { sqliteTable, text, integer, index } from "drizzle-orm/sqlite-core"; import { users } from "./auth"; export const reportSchedules = sqliteTable("report_schedules", { id: text("id").primaryKey().$defaultFn(() => crypto.randomUUID()), userId: text("user_id").notNull().references(() => users.id, { onDelete: "cascade" }), enabled: integer("enabled", { mode: "boolean" }).default(true).notNull(), frequency: text("frequency").notNull(), reportType: text("report_type").notNull(), lastGeneratedAt: integer("last_generated_at", { mode: "timestamp_ms" }), nextScheduledAt: integer("next_scheduled_at", { mode: "timestamp_ms" }), createdAt: integer("created_at", { mode: "timestamp_ms" }).defaultNow().notNull(), updatedAt: integer("updated_at", { mode: "timestamp_ms" }).defaultNow().notNull().$onUpdate(() => new Date()), }, (table) => ({ userIdIdx: index("report_schedules_user_id_idx").on(table.userId), enabledIdx: index("report_schedules_enabled_idx").on(table.enabled), }));