mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
203 lines
4.9 KiB
TypeScript
203 lines
4.9 KiB
TypeScript
import express from "express";
|
|
const router = express.Router();
|
|
import { body, param, query } from "express-validator";
|
|
import {
|
|
requireAuth,
|
|
requireIntegrationAuthorizationAuth,
|
|
requireWorkspaceAuth,
|
|
validateRequest,
|
|
} from "../../middleware";
|
|
import {
|
|
ADMIN,
|
|
AuthMode,
|
|
MEMBER
|
|
} from "../../variables";
|
|
import { integrationAuthController } from "../../controllers/v1";
|
|
|
|
router.get(
|
|
"/integration-options",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
integrationAuthController.getIntegrationOptions
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
attachAccessToken: false
|
|
}),
|
|
param("integrationAuthId"),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuth
|
|
);
|
|
|
|
router.post(
|
|
"/oauth-token",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
locationWorkspaceId: "body",
|
|
}),
|
|
body("workspaceId").exists().trim().notEmpty(),
|
|
body("code").exists().trim().notEmpty(),
|
|
body("integration").exists().trim().notEmpty(),
|
|
body("url").optional().isString().trim(),
|
|
validateRequest,
|
|
integrationAuthController.oAuthExchange
|
|
);
|
|
|
|
router.post(
|
|
"/access-token",
|
|
body("workspaceId").exists().trim().notEmpty(),
|
|
body("refreshToken").optional().isString().trim().notEmpty(),
|
|
body("accessId").optional().isString().trim(),
|
|
body("accessToken").optional().isString().trim().notEmpty(),
|
|
body("url").trim(),
|
|
body("namespace").trim(),
|
|
body("integration").exists().trim().notEmpty(),
|
|
validateRequest,
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT, AuthMode.API_KEY],
|
|
}),
|
|
requireWorkspaceAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
locationWorkspaceId: "body",
|
|
}),
|
|
integrationAuthController.saveIntegrationToken
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId/apps",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
}),
|
|
param("integrationAuthId"),
|
|
query("teamId"),
|
|
query("workspaceSlug"),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuthApps
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId/teams",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
}),
|
|
param("integrationAuthId"),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuthTeams
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId/vercel/branches",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
}),
|
|
param("integrationAuthId").exists().isString(),
|
|
query("appId").exists().isString(),
|
|
query("teamId").optional().isString(),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuthVercelBranches
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId/railway/environments",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
}),
|
|
param("integrationAuthId").exists().isString(),
|
|
query("appId").exists().isString(),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuthRailwayEnvironments
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId/railway/services",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
}),
|
|
param("integrationAuthId").exists().isString(),
|
|
query("appId").exists().isString(),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuthRailwayServices
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId/bitbucket/workspaces",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
}),
|
|
param("integrationAuthId").exists().isString(),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuthBitBucketWorkspaces
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId/northflank/secret-groups",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
}),
|
|
param("integrationAuthId").exists().isString(),
|
|
query("appId").exists().isString(),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuthNorthflankSecretGroups
|
|
);
|
|
|
|
router.get(
|
|
"/:integrationAuthId/teamcity/build-configs",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
}),
|
|
param("integrationAuthId").exists().isString(),
|
|
query("appId").exists().isString(),
|
|
validateRequest,
|
|
integrationAuthController.getIntegrationAuthTeamCityBuildConfigs
|
|
);
|
|
|
|
router.delete(
|
|
"/:integrationAuthId",
|
|
requireAuth({
|
|
acceptedAuthModes: [AuthMode.JWT],
|
|
}),
|
|
requireIntegrationAuthorizationAuth({
|
|
acceptedRoles: [ADMIN, MEMBER],
|
|
attachAccessToken: false,
|
|
}),
|
|
param("integrationAuthId"),
|
|
validateRequest,
|
|
integrationAuthController.deleteIntegrationAuth
|
|
);
|
|
|
|
export default router;
|