Patch broken integratins due to permission update

This commit is contained in:
Tuan Dang
2023-09-09 17:29:19 +01:00
parent 110153385b
commit 83d2a39fb1
53 changed files with 60 additions and 269 deletions
@@ -1,6 +1,6 @@
import { Request, Response } from "express";
import { Types } from "mongoose";
import { IWorkspace, Integration, Folder, IntegrationAuth } from "../../models";
import { Folder, IWorkspace, Integration, IntegrationAuth } from "../../models";
import { EventService } from "../../services";
import { eventStartIntegration } from "../../events";
import { getFolderByPath } from "../../services/FolderService";
@@ -38,7 +38,8 @@ export const createIntegration = async (req: Request, res: Response) => {
targetServiceId,
integrationAuthId,
targetEnvironment,
targetEnvironmentId
targetEnvironmentId,
metadata
}
} = await validateRequest(reqValidator.CreateIntegrationV1, req);
@@ -52,7 +53,7 @@ export const createIntegration = async (req: Request, res: Response) => {
const { permission } = await getUserProjectPermissions(
req.user._id,
integrationAuth.workspace.toString()
integrationAuth.workspace._id.toString()
);
ForbiddenError.from(permission).throwUnlessCan(
ProjectPermissionActions.Create,
@@ -91,7 +92,8 @@ export const createIntegration = async (req: Request, res: Response) => {
region,
secretPath,
integration: integrationAuth.integration,
integrationAuth: new Types.ObjectId(integrationAuthId)
integrationAuth: new Types.ObjectId(integrationAuthId),
metadata
}).save();
if (integration) {
+1 -2
View File
@@ -2012,7 +2012,6 @@ const syncSecretsCheckly = async ({
secrets: Record<string, { value: string; comment?: string }>;
accessToken: string;
}) => {
const getSecretsRes = (
await standardRequest.get(`${INTEGRATION_CHECKLY_API_URL}/v1/variables`, {
headers: {
@@ -2890,4 +2889,4 @@ const syncSecretsNorthflank = async ({
);
};
export { syncSecrets };
export { syncSecrets };
+12 -9
View File
@@ -64,18 +64,21 @@ export const validateClientForIntegration = async ({
export const CreateIntegrationV1 = z.object({
body: z.object({
integrationAuthId: z.string().trim(),
app: z.string().trim(),
app: z.string().trim().optional(),
isActive: z.boolean(),
appId: z.string().trim(),
appId: z.string().trim().optional(),
secretPath: z.string().trim().default("/"),
sourceEnvironment: z.string().trim(),
targetEnvironment: z.string().trim(),
targetEnvironmentId: z.string().trim(),
targetService: z.string().trim(),
targetServiceId: z.string().trim(),
owner: z.string().trim(),
path: z.string().trim(),
region: z.string().trim()
targetEnvironment: z.string().trim().optional(),
targetEnvironmentId: z.string().trim().optional(),
targetService: z.string().trim().optional(),
targetServiceId: z.string().trim().optional(),
owner: z.string().trim().optional(),
path: z.string().trim().optional(),
region: z.string().trim().optional(),
metadata: z.object({
secretSuffix: z.string().optional()
}).optional()
})
});
+5 -5
View File
@@ -79,11 +79,11 @@ export const OauthExchangeV1 = z.object({
export const SaveIntegrationAccessTokenV1 = z.object({
body: z.object({
workspaceId: z.string().trim(),
integration: z.string().trim(),
accessId: z.string().trim().optional(),
accessToken: z.string().trim().optional(),
url: z.string().url().trim(),
namespace: z.string().trim(),
integration: z.string().trim(),
url: z.string().url().trim().optional(),
namespace: z.string().trim().optional(),
refreshToken:z.string().trim().optional()
})
});
@@ -93,8 +93,8 @@ export const GetIntegrationAuthAppsV1 = z.object({
integrationAuthId: z.string().trim()
}),
query: z.object({
teamId: z.string().trim(),
workspaceSlug: z.string().trim()
teamId: z.string().trim().optional(),
workspaceSlug: z.string().trim().optional()
})
});