mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-18 04:58:28 +00:00
136 lines
3.3 KiB
TypeScript
136 lines
3.3 KiB
TypeScript
import express from 'express';
|
|
import {
|
|
requireAuth,
|
|
requireWorkspaceAuth,
|
|
requireSecretAuth,
|
|
validateRequest
|
|
} from '../../middleware';
|
|
import { body, param, query } from 'express-validator';
|
|
import { ADMIN, MEMBER } from '../../variables';
|
|
import { CreateSecretRequestBody, ModifySecretRequestBody } from '../../types/secret';
|
|
import { secretController } from '../../controllers/v2';
|
|
|
|
// note to devs: stop supporting these routes [deprecated]
|
|
|
|
const router = express.Router();
|
|
|
|
router.post(
|
|
'/batch-create/workspace/:workspaceId/environment/:environment',
|
|
requireAuth({
|
|
acceptedAuthModes: ['jwt']
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER]
|
|
}),
|
|
param('workspaceId').exists().isMongoId().trim(),
|
|
param('environment').exists().trim(),
|
|
body('secrets').exists().isArray().custom((value) => value.every((item: CreateSecretRequestBody) => typeof item === 'object')),
|
|
body('channel'),
|
|
validateRequest,
|
|
secretController.createSecrets
|
|
);
|
|
|
|
router.post(
|
|
'/workspace/:workspaceId/environment/:environment',
|
|
requireAuth({
|
|
acceptedAuthModes: ['jwt']
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER]
|
|
}),
|
|
param('workspaceId').exists().isMongoId().trim(),
|
|
param('environment').exists().trim(),
|
|
body('secret').exists().isObject(),
|
|
body('channel'),
|
|
validateRequest,
|
|
secretController.createSecret
|
|
);
|
|
|
|
router.get(
|
|
'/workspace/:workspaceId',
|
|
param('workspaceId').exists().trim(),
|
|
query("environment").exists(),
|
|
requireAuth({
|
|
acceptedAuthModes: ['jwt', 'serviceToken']
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER]
|
|
}),
|
|
query('channel'),
|
|
validateRequest,
|
|
secretController.getSecrets
|
|
);
|
|
|
|
router.get(
|
|
'/:secretId',
|
|
requireAuth({
|
|
acceptedAuthModes: ['jwt', 'serviceToken']
|
|
}),
|
|
requireSecretAuth({
|
|
acceptedRoles: [ADMIN, MEMBER]
|
|
}),
|
|
validateRequest,
|
|
secretController.getSecret
|
|
);
|
|
|
|
router.delete(
|
|
'/batch/workspace/:workspaceId/environment/:environmentName',
|
|
requireAuth({
|
|
acceptedAuthModes: ['jwt']
|
|
}),
|
|
param('workspaceId').exists().isMongoId().trim(),
|
|
param('environmentName').exists().trim(),
|
|
body('secretIds').exists().isArray().custom(array => array.length > 0),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER]
|
|
}),
|
|
validateRequest,
|
|
secretController.deleteSecrets
|
|
);
|
|
|
|
router.delete(
|
|
'/:secretId',
|
|
requireAuth({
|
|
acceptedAuthModes: ['jwt']
|
|
}),
|
|
requireSecretAuth({
|
|
acceptedRoles: [ADMIN, MEMBER]
|
|
}),
|
|
param('secretId').isMongoId(),
|
|
validateRequest,
|
|
secretController.deleteSecret
|
|
);
|
|
|
|
router.patch(
|
|
'/batch-modify/workspace/:workspaceId/environment/:environmentName',
|
|
requireAuth({
|
|
acceptedAuthModes: ['jwt']
|
|
}),
|
|
body('secrets').exists().isArray().custom((secrets: ModifySecretRequestBody[]) => secrets.length > 0),
|
|
param('workspaceId').exists().isMongoId().trim(),
|
|
param('environmentName').exists().trim(),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER]
|
|
}),
|
|
validateRequest,
|
|
secretController.updateSecrets
|
|
);
|
|
|
|
|
|
router.patch(
|
|
'/workspace/:workspaceId/environment/:environmentName',
|
|
requireAuth({
|
|
acceptedAuthModes: ['jwt']
|
|
}),
|
|
body('secret').isObject(),
|
|
param('workspaceId').exists().isMongoId().trim(),
|
|
param('environmentName').exists().trim(),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER]
|
|
}),
|
|
validateRequest,
|
|
secretController.updateSecret
|
|
);
|
|
|
|
export default router;
|