const { existsSync, mkdirSync, statSync } = require("fs"); const { execSync } = require("child_process"); const { join } = require("path"); const dir = join(process.cwd(), "data"); const db = join(dir, "nexova.db"); if (!existsSync(dir)) mkdirSync(dir, { recursive: true }); if (!existsSync(db) || statSync(db).size === 0) { const sql = `CREATE TABLE "notes" ( "id" TEXT NOT NULL PRIMARY KEY, "title" TEXT NOT NULL, "content" TEXT NOT NULL DEFAULT '', "color" TEXT NOT NULL DEFAULT '#fef08a', "pinned" BOOLEAN NOT NULL DEFAULT false, "created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP );`; execSync(`sqlite3 "${db}" '${sql.replace(/'/g, "'\\''")}'`); console.log("[init] db created (" + statSync(db).size + " bytes)"); } else { console.log("[init] db exists (" + statSync(db).size + " bytes)"); }