Spaces:
Runtime error
Runtime error
| import fs from 'fs'; | |
| import path from 'path'; | |
| export const DATA_ROOT = process.env.DATA_ROOT || '/data'; | |
| export const POSTGRES_STORAGE_DIR_NAME = 'postgresql-store'; | |
| export const POSTGRES_STORAGE_DIR = path.join(DATA_ROOT, POSTGRES_STORAGE_DIR_NAME); | |
| export const POSTGRES_STORAGE_DB_DIR_NAME = 'db'; | |
| export const POSTGRES_STORAGE_DB_DIR = path.join(POSTGRES_STORAGE_DIR, POSTGRES_STORAGE_DB_DIR_NAME); | |
| export const POSTGRES_STORAGE_MANIFEST = path.join(POSTGRES_STORAGE_DIR, 'manifest.json'); | |
| export function readPostgresStorageManifest() { | |
| try { | |
| const raw = fs.readFileSync(POSTGRES_STORAGE_MANIFEST, 'utf8'); | |
| const parsed = JSON.parse(raw); | |
| return parsed && typeof parsed === 'object' ? parsed : null; | |
| } catch { | |
| return null; | |
| } | |
| } | |
| export function hasEmbeddedPostgresDatabaseFiles() { | |
| try { | |
| return fs.existsSync(POSTGRES_STORAGE_DB_DIR) && fs.readdirSync(POSTGRES_STORAGE_DB_DIR).length > 0; | |
| } catch { | |
| return false; | |
| } | |
| } | |
| function detectStorageMode() { | |
| return readPostgresStorageManifest() ? 'postgres' : 'legacy'; | |
| } | |
| export let STORAGE_MODE = detectStorageMode(); | |
| export function refreshStorageMode() { | |
| STORAGE_MODE = detectStorageMode(); | |
| return STORAGE_MODE; | |
| } | |
| export function setStorageMode(mode) { | |
| STORAGE_MODE = mode === 'postgres' ? 'postgres' : 'legacy'; | |
| return STORAGE_MODE; | |
| } | |
| export function getStorageMode() { | |
| return STORAGE_MODE; | |
| } | |
| export function isPostgresStorageMode() { | |
| return STORAGE_MODE === 'postgres'; | |
| } | |