Phase 3 (WIP): Refactor license, credentials, backups routes

- All use explicit deps instead of ctx
- Pattern consistent across all refactored routes
This commit is contained in:
Krystie
2026-03-22 11:09:55 +01:00
parent 81f778df72
commit 883cce27df
3 changed files with 36 additions and 46 deletions

View File

@@ -1,21 +1,21 @@
const express = require('express');
const asyncHandler = require('../src/utils/async-handler');
const { errorResponse } = require('../src/utils/responses');
module.exports = function(ctx) {
module.exports = function({ credentialManager }) {
const router = express.Router();
// List all stored credentials (keys only, no values)
router.get('/credentials/list', ctx.asyncHandler(async (req, res) => {
const keys = await ctx.credentialManager.list();
router.get('/credentials/list', asyncHandler(async (req, res) => {
const keys = await credentialManager.list();
res.json({ success: true, credentials: keys, count: keys.length });
}, 'credentials-list'));
// Rotate encryption key — re-encrypts all stored credentials
router.post('/credentials/rotate-key', ctx.asyncHandler(async (req, res) => {
const success = await ctx.credentialManager.rotateEncryptionKey();
router.post('/credentials/rotate-key', asyncHandler(async (req, res) => {
const success = await credentialManager.rotateEncryptionKey();
if (success) {
res.json({ success: true, message: 'Encryption key rotated, all credentials re-encrypted' });
} else {
ctx.errorResponse(res, 500, 'Key rotation failed');
errorResponse(res, 500, 'Key rotation failed');
}
}, 'credentials-rotate'));