import { sqliteTable, text, integer, real } from "drizzle-orm/sqlite-core"; export const alertRules = sqliteTable("alert_rules", { id: integer("id").primaryKey({ autoIncrement: true }), name: text("name").notNull(), kpiKey: text("kpi_key").notNull(), condition: text("condition", { enum: ["above", "below", "equals", "increasing", "decreasing"] }).notNull(), threshold: real("threshold").notNull(), severity: text("severity", { enum: ["low", "medium", "high", "critical"] }).notNull().default("medium"), channelId: text("channel_id"), isActive: integer("is_active", { mode: "boolean" }).notNull().default(true), cooldownMinutes: integer("cooldown_minutes").notNull().default(60), createdAt: integer("created_at", { mode: "timestamp" }).notNull().default(new Date()), updatedAt: integer("updated_at", { mode: "timestamp" }).notNull().default(new Date()), }); export type AlertRule = typeof alertRules.$inferSelect; export type NewAlertRule = typeof alertRules.$inferInsert;