Make db.ts completely lazy - no code execution on import

This commit is contained in:
bitc0de committed 2025-12-17 15:56:55 +01:00
1 parent 95ce72138f
commit 8735a0714e
1 file changed
+10 -2
+10 -2
View File
@@ -33,10 +33,16 @@ interface Database {
playlistSongs: PlaylistSong[]
}
const dataDir = join(process.cwd(), 'data')
const dbPath = join(dataDir, 'db.json')
function getDataDir() {
return join(process.cwd(), 'data')
}
function getDbPath() {
return join(getDataDir(), 'db.json')
}
function ensureDataDir() {
const dataDir = getDataDir()
if (!existsSync(dataDir)) {
mkdirSync(dataDir, { recursive: true })
}
@@ -44,6 +50,7 @@ function ensureDataDir() {
function readDb(): Database {
ensureDataDir()
const dbPath = getDbPath()
if (!existsSync(dbPath)) {
const initialDb: Database = {
@@ -60,6 +67,7 @@ function readDb(): Database {
function writeDb(db: Database) {
ensureDataDir()
const dbPath = getDbPath()
writeFileSync(dbPath, JSON.stringify(db, null, 2))
}