mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat: add analytics env vars, DB schema columns, instance ID generation
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import { randomUUID } from "node:crypto";
|
||||
import { isGpuAvailable } from "@ashim/ai";
|
||||
import { APP_VERSION } from "@ashim/shared";
|
||||
import cors from "@fastify/cors";
|
||||
import rateLimit from "@fastify/rate-limit";
|
||||
import { eq } from "drizzle-orm";
|
||||
import Fastify from "fastify";
|
||||
import { env } from "./config.js";
|
||||
import { db, schema } from "./db/index.js";
|
||||
@@ -35,6 +37,19 @@ console.log("Database initialized");
|
||||
// Create default admin user if no users exist
|
||||
await ensureDefaultAdmin();
|
||||
|
||||
function ensureInstanceId() {
|
||||
const existing = db
|
||||
.select()
|
||||
.from(schema.settings)
|
||||
.where(eq(schema.settings.key, "instance_id"))
|
||||
.get();
|
||||
if (!existing) {
|
||||
db.insert(schema.settings).values({ key: "instance_id", value: randomUUID() }).run();
|
||||
}
|
||||
}
|
||||
|
||||
ensureInstanceId();
|
||||
|
||||
// Mark any jobs left in processing/queued from a previous unclean shutdown
|
||||
recoverStaleJobs();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user