Small modifications to secret versioning/snapshot

This commit is contained in:
Tuan Dang
2022-12-25 14:30:02 -05:00
parent 890aff813b
commit f37fc9c59d
3 changed files with 50 additions and 3 deletions

View File

@ -244,7 +244,7 @@ export const getSecretVersions = async (req: Request, res: Response) => {
.limit(limit);
} catch (err) {
Sentry.setUser({ email: req.serviceToken.user.email });
Sentry.setUser({ email: req.user.email });
Sentry.captureException(err);
return res.status(400).send({
message: 'Failed to get secret versions'

View File

@ -7,7 +7,8 @@ import {
Integration,
IntegrationAuth,
IUser,
ServiceToken
ServiceToken,
SecretSnapshot
} from '../models';
import {
createWorkspace as create,
@ -334,4 +335,36 @@ export const getWorkspaceServiceTokens = async (
return res.status(200).send({
serviceTokens
});
}
/**
* Return secret snapshots for workspace with id [workspaceId]
* @param req
* @param res
*/
export const getWorkspaceSecretSnapshots = async (req: Request, res: Response) => {
let secretSnapshots;
try {
const { workspaceId } = req.params;
const offset: number = parseInt(req.query.offset as string);
const limit: number = parseInt(req.query.limit as string);
secretSnapshots = await SecretSnapshot.find({
workspace: workspaceId
})
.skip(offset)
.limit(limit);
} catch (err) {
Sentry.setUser({ email: req.user.email });
Sentry.captureException(err);
return res.status(400).send({
message: 'Failed to get secret snapshots'
});
}
return res.status(200).send({
secretSnapshots
});
}

View File

@ -1,6 +1,6 @@
import express from 'express';
const router = express.Router();
import { body, param } from 'express-validator';
import { body, param, query } from 'express-validator';
import {
requireAuth,
requireWorkspaceAuth,
@ -130,4 +130,18 @@ router.get(
workspaceController.getWorkspaceServiceTokens
);
router.get(
'/:workspaceId/secret-snapshots',
requireAuth,
requireWorkspaceAuth({
acceptedRoles: [ADMIN, MEMBER],
acceptedStatuses: [GRANTED]
}),
param('workspaceId').exists().trim(),
query('offset').exists().isInt(),
query('limit').exists().isInt(),
validateRequest,
workspaceController.getWorkspaceSecretSnapshots
);
export default router;