Skip to content

Commit d3efe35

Browse files
committed
Add DELETE route to API keys
1 parent c7fb920 commit d3efe35

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

backend/src/controllers/v2/apiKeyDataController.ts

+26
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,30 @@ export const createAPIKeyData = async (req: Request, res: Response) => {
7777
apiKey,
7878
apiKeyData
7979
});
80+
}
81+
82+
/**
83+
* Delete API key data with id [apiKeyDataId].
84+
* @param req
85+
* @param res
86+
* @returns
87+
*/
88+
export const deleteAPIKeyData = async (req: Request, res: Response) => {
89+
let apiKeyData;
90+
try {
91+
const { apiKeyDataId } = req.params;
92+
93+
apiKeyData = await APIKeyData.findByIdAndDelete(apiKeyDataId);
94+
95+
} catch (err) {
96+
Sentry.setUser({ email: req.user.email });
97+
Sentry.captureException(err);
98+
return res.status(400).send({
99+
message: 'Failed to delete API key data'
100+
});
101+
}
102+
103+
return res.status(200).send({
104+
apiKeyData
105+
});
80106
}

backend/src/routes/v2/apiKeyData.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
requireAuth,
55
validateRequest
66
} from '../../middleware';
7-
import { body } from 'express-validator';
7+
import { param, body } from 'express-validator';
88
import { apiKeyDataController } from '../../controllers/v2';
99

1010
router.get(
@@ -26,4 +26,14 @@ router.post(
2626
apiKeyDataController.createAPIKeyData
2727
);
2828

29+
router.delete(
30+
'/:apiKeyDataId',
31+
requireAuth({
32+
acceptedAuthModes: ['jwt']
33+
}),
34+
param('apiKeyDataId').exists().trim(),
35+
validateRequest,
36+
apiKeyDataController.deleteAPIKeyData
37+
);
38+
2939
export default router;

0 commit comments

Comments
 (0)