aboutsummaryrefslogtreecommitdiffstats
path: root/dist/main/db/index.js
blob: 652d18977944624d0ca5423f6e8134ce140bc9c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDb = getDb;
exports.closeDb = closeDb;
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
const electron_1 = require("electron");
const node_path_1 = __importDefault(require("node:path"));
const node_fs_1 = __importDefault(require("node:fs"));
const schema_1 = require("./schema");
let db = null;
function getDb() {
    if (db)
        return db;
    const dbDir = electron_1.app.getPath("userData");
    if (!node_fs_1.default.existsSync(dbDir)) {
        node_fs_1.default.mkdirSync(dbDir, { recursive: true });
    }
    const dbPath = node_path_1.default.join(dbDir, "claude-flow.db");
    db = new better_sqlite3_1.default(dbPath);
    db.pragma("journal_mode = WAL");
    db.pragma("foreign_keys = ON");
    (0, schema_1.initSchema)(db);
    return db;
}
function closeDb() {
    if (db) {
        db.close();
        db = null;
    }
}