mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 05:27:48 +00:00
feat: changed integration option to nativeEnum in zod and added audit log event
This commit is contained in:
@@ -60,6 +60,7 @@ export enum EventType {
|
|||||||
DELETE_SECRETS = "delete-secrets",
|
DELETE_SECRETS = "delete-secrets",
|
||||||
GET_WORKSPACE_KEY = "get-workspace-key",
|
GET_WORKSPACE_KEY = "get-workspace-key",
|
||||||
AUTHORIZE_INTEGRATION = "authorize-integration",
|
AUTHORIZE_INTEGRATION = "authorize-integration",
|
||||||
|
UPDATE_INTEGRATION_AUTH = "update-integration-auth",
|
||||||
UNAUTHORIZE_INTEGRATION = "unauthorize-integration",
|
UNAUTHORIZE_INTEGRATION = "unauthorize-integration",
|
||||||
CREATE_INTEGRATION = "create-integration",
|
CREATE_INTEGRATION = "create-integration",
|
||||||
DELETE_INTEGRATION = "delete-integration",
|
DELETE_INTEGRATION = "delete-integration",
|
||||||
@@ -357,6 +358,13 @@ interface AuthorizeIntegrationEvent {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface UpdateIntegrationAuthEvent {
|
||||||
|
type: EventType.UPDATE_INTEGRATION_AUTH;
|
||||||
|
metadata: {
|
||||||
|
integration: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
interface UnauthorizeIntegrationEvent {
|
interface UnauthorizeIntegrationEvent {
|
||||||
type: EventType.UNAUTHORIZE_INTEGRATION;
|
type: EventType.UNAUTHORIZE_INTEGRATION;
|
||||||
metadata: {
|
metadata: {
|
||||||
@@ -1680,6 +1688,7 @@ export type Event =
|
|||||||
| DeleteSecretBatchEvent
|
| DeleteSecretBatchEvent
|
||||||
| GetWorkspaceKeyEvent
|
| GetWorkspaceKeyEvent
|
||||||
| AuthorizeIntegrationEvent
|
| AuthorizeIntegrationEvent
|
||||||
|
| UpdateIntegrationAuthEvent
|
||||||
| UnauthorizeIntegrationEvent
|
| UnauthorizeIntegrationEvent
|
||||||
| CreateIntegrationEvent
|
| CreateIntegrationEvent
|
||||||
| DeleteIntegrationEvent
|
| DeleteIntegrationEvent
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import { readLimit, writeLimit } from "@app/server/config/rateLimiter";
|
|||||||
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
|
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
|
||||||
import { AuthMode } from "@app/services/auth/auth-type";
|
import { AuthMode } from "@app/services/auth/auth-type";
|
||||||
import { OctopusDeployScope } from "@app/services/integration-auth/integration-auth-types";
|
import { OctopusDeployScope } from "@app/services/integration-auth/integration-auth-types";
|
||||||
|
import { Integrations } from "@app/services/integration-auth/integration-list";
|
||||||
|
|
||||||
import { integrationAuthPubSchema } from "../sanitizedSchemas";
|
import { integrationAuthPubSchema } from "../sanitizedSchemas";
|
||||||
|
|
||||||
@@ -100,7 +101,7 @@ export const registerIntegrationAuthRouter = async (server: FastifyZodProvider)
|
|||||||
integrationAuthId: z.string().trim().describe(INTEGRATION_AUTH.UPDATE_BY_ID.integrationAuthId)
|
integrationAuthId: z.string().trim().describe(INTEGRATION_AUTH.UPDATE_BY_ID.integrationAuthId)
|
||||||
}),
|
}),
|
||||||
body: z.object({
|
body: z.object({
|
||||||
integration: z.string().trim().optional().describe(INTEGRATION_AUTH.CREATE_ACCESS_TOKEN.integration),
|
integration: z.nativeEnum(Integrations).optional().describe(INTEGRATION_AUTH.CREATE_ACCESS_TOKEN.integration),
|
||||||
accessId: z.string().trim().optional().describe(INTEGRATION_AUTH.CREATE_ACCESS_TOKEN.accessId),
|
accessId: z.string().trim().optional().describe(INTEGRATION_AUTH.CREATE_ACCESS_TOKEN.accessId),
|
||||||
accessToken: z.string().trim().optional().describe(INTEGRATION_AUTH.CREATE_ACCESS_TOKEN.accessToken),
|
accessToken: z.string().trim().optional().describe(INTEGRATION_AUTH.CREATE_ACCESS_TOKEN.accessToken),
|
||||||
awsAssumeIamRoleArn: z
|
awsAssumeIamRoleArn: z
|
||||||
@@ -133,7 +134,7 @@ export const registerIntegrationAuthRouter = async (server: FastifyZodProvider)
|
|||||||
...req.auditLogInfo,
|
...req.auditLogInfo,
|
||||||
projectId: integrationAuth.projectId,
|
projectId: integrationAuth.projectId,
|
||||||
event: {
|
event: {
|
||||||
type: EventType.AUTHORIZE_INTEGRATION,
|
type: EventType.UPDATE_INTEGRATION_AUTH,
|
||||||
metadata: {
|
metadata: {
|
||||||
integration: integrationAuth.integration
|
integration: integrationAuth.integration
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -399,8 +399,7 @@ export const integrationAuthServiceFactory = ({
|
|||||||
|
|
||||||
const { projectId } = integrationAuth;
|
const { projectId } = integrationAuth;
|
||||||
const integration = newIntegration || integrationAuth.integration;
|
const integration = newIntegration || integrationAuth.integration;
|
||||||
if (!Object.values(Integrations).includes(integration as Integrations))
|
|
||||||
throw new BadRequestError({ message: "Invalid integration" });
|
|
||||||
const updateDoc: TIntegrationAuthsInsert = {
|
const updateDoc: TIntegrationAuthsInsert = {
|
||||||
projectId,
|
projectId,
|
||||||
integration,
|
integration,
|
||||||
|
|||||||
Reference in New Issue
Block a user