24 lines
848 B
JavaScript
24 lines
848 B
JavaScript
const express = require('express');
|
|
const asyncHandler = require('../src/utils/async-handler');
|
|
const { errorResponse } = require('../src/utils/responses');
|
|
|
|
module.exports = function({ credentialManager }) {
|
|
const router = express.Router();
|
|
|
|
router.get('/credentials/list', asyncHandler(async (req, res) => {
|
|
const keys = await credentialManager.list();
|
|
res.json({ success: true, credentials: keys, count: keys.length });
|
|
}, 'credentials-list'));
|
|
|
|
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 {
|
|
errorResponse(res, 500, 'Key rotation failed');
|
|
}
|
|
}, 'credentials-rotate'));
|
|
|
|
return router;
|
|
};
|