Skip to content

Commit b7d14d5

Browse files
author
Bill
committed
fix(backup): await async operations in API routes
1 parent 49c86b5 commit b7d14d5

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

src/api/routes/backup.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ router.post(
184184
router.get(
185185
'/',
186186
(req, res, next) => requireGlobalAdmin('Backup access', req, res, next),
187-
(_req, res) => {
188-
const backups = listBackups();
187+
async (_req, res) => {
188+
const backups = await listBackups();
189189
res.json(backups);
190190
},
191191
);
@@ -229,9 +229,9 @@ router.get(
229229
router.post(
230230
'/',
231231
(req, res, next) => requireGlobalAdmin('Backup access', req, res, next),
232-
(_req, res) => {
232+
async (_req, res) => {
233233
try {
234-
const meta = createBackup();
234+
const meta = await createBackup();
235235
return res.status(201).json({ id: meta.id, size: meta.size, createdAt: meta.createdAt });
236236
} catch (err) {
237237
return res.status(500).json({ error: 'Failed to create backup', details: err.message });
@@ -278,11 +278,11 @@ router.post(
278278
router.get(
279279
'/:id/download',
280280
(req, res, next) => requireGlobalAdmin('Backup access', req, res, next),
281-
(req, res) => {
281+
async (req, res) => {
282282
const { id } = req.params;
283283

284284
try {
285-
const payload = readBackup(id);
285+
const payload = await readBackup(id);
286286
const filename = `${id}.json`;
287287
res.setHeader('Content-Disposition', `attachment; filename="${filename}"`);
288288
res.setHeader('Content-Type', 'application/json');
@@ -420,7 +420,7 @@ router.post(
420420
router.post(
421421
'/prune',
422422
(req, res, next) => requireGlobalAdmin('Backup access', req, res, next),
423-
(req, res) => {
423+
async (req, res) => {
424424
const retention = req.body ?? {};
425425
const errors = [];
426426

@@ -439,7 +439,7 @@ router.post(
439439
return res.status(400).json({ error: 'Invalid prune options', details: errors });
440440
}
441441

442-
const deleted = pruneBackups(retention);
442+
const deleted = await pruneBackups(retention);
443443
return res.json({ deleted, count: deleted.length });
444444
},
445445
);

src/modules/backup.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ export async function readBackup(id, backupDir) {
309309
* @throws {Error} If backup not found or invalid
310310
*/
311311
export async function restoreBackup(id, backupDir) {
312-
const payload = readBackup(id, backupDir);
312+
const payload = await readBackup(id, backupDir);
313313

314314
const validationErrors = validateImportPayload(payload);
315315
if (validationErrors.length > 0) {

0 commit comments

Comments
 (0)