mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-12 21:29:20 +00:00
78 lines
1.9 KiB
TypeScript
78 lines
1.9 KiB
TypeScript
import express, { Response, Request } from 'express';
|
|
const router = express.Router();
|
|
import { body, param } from 'express-validator';
|
|
import { environmentController } from '../../controllers/v2';
|
|
import {
|
|
requireAuth,
|
|
requireWorkspaceAuth,
|
|
validateRequest,
|
|
} from '../../middleware';
|
|
import {
|
|
ADMIN,
|
|
MEMBER,
|
|
AUTH_MODE_JWT
|
|
} from '../../variables';
|
|
|
|
router.post(
|
|
'/:workspaceId/environments',
|
|
requireAuth({
|
|
acceptedAuthModes: [AUTH_MODE_JWT],
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
locationWorkspaceId: 'params'
|
|
}),
|
|
param('workspaceId').exists().trim(),
|
|
body('environmentSlug').exists().trim(),
|
|
body('environmentName').exists().trim(),
|
|
validateRequest,
|
|
environmentController.createWorkspaceEnvironment
|
|
);
|
|
|
|
router.put(
|
|
'/:workspaceId/environments',
|
|
requireAuth({
|
|
acceptedAuthModes: [AUTH_MODE_JWT],
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
locationWorkspaceId: 'params'
|
|
}),
|
|
param('workspaceId').exists().trim(),
|
|
body('environmentSlug').exists().trim(),
|
|
body('environmentName').exists().trim(),
|
|
body('oldEnvironmentSlug').exists().trim(),
|
|
validateRequest,
|
|
environmentController.renameWorkspaceEnvironment
|
|
);
|
|
|
|
router.delete(
|
|
'/:workspaceId/environments',
|
|
requireAuth({
|
|
acceptedAuthModes: [AUTH_MODE_JWT],
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN],
|
|
locationWorkspaceId: 'params'
|
|
}),
|
|
param('workspaceId').exists().trim(),
|
|
body('environmentSlug').exists().trim(),
|
|
validateRequest,
|
|
environmentController.deleteWorkspaceEnvironment
|
|
);
|
|
|
|
router.get(
|
|
'/:workspaceId/environments',
|
|
requireAuth({
|
|
acceptedAuthModes: [AUTH_MODE_JWT],
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [MEMBER, ADMIN],
|
|
locationWorkspaceId: 'params'
|
|
}),
|
|
param('workspaceId').exists().trim(),
|
|
validateRequest,
|
|
environmentController.getAllAccessibleEnvironmentsOfWorkspace
|
|
);
|
|
|
|
export default router; |