add simple admin service
Build and deploy / deploy (push) Successful in 16s

This commit is contained in:
2026-05-18 02:48:47 +03:00
parent 10a83d39a2
commit 3a3b2bcfc0
84 changed files with 2134 additions and 5 deletions
@@ -0,0 +1,20 @@
import { readFile, rename, writeFile } from 'node:fs/promises';
import { paths } from '../../config/paths.mjs';
import { httpError } from '../../shared/http/httpError.mjs';
export async function readArticles() {
const raw = await readFile(paths.articlesFile, 'utf8');
const articles = JSON.parse(raw);
if (!Array.isArray(articles)) {
throw httpError(500, 'Article database must be a JSON array');
}
return articles;
}
export async function writeArticles(articles) {
const temporaryFile = `${paths.articlesFile}.${process.pid}.tmp`;
await writeFile(temporaryFile, `${JSON.stringify(articles, null, 2)}\n`, 'utf8');
await rename(temporaryFile, paths.articlesFile);
}