mirror of
https://github.com/Infisical/infisical.git
synced 2026-05-02 03:02:03 -04:00
Optional response
This commit is contained in:
@@ -18,7 +18,7 @@ import {
|
||||
UpdateSecretCommand
|
||||
} from "@aws-sdk/client-secrets-manager";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
import AWS from "aws-sdk";
|
||||
import AWS, { AWSError } from "aws-sdk";
|
||||
import { AxiosError } from "axios";
|
||||
import sodium from "libsodium-wrappers";
|
||||
import isEqual from "lodash.isequal";
|
||||
@@ -452,7 +452,9 @@ const syncSecretsAWSParameterStore = async ({
|
||||
accessId: string | null;
|
||||
accessToken: string;
|
||||
}) => {
|
||||
if (!accessId) return;
|
||||
let response: { isSynced: boolean; syncMessage: string } | null = null;
|
||||
|
||||
if (!accessId) return null;
|
||||
|
||||
const config = new AWS.Config({
|
||||
region: integration.region as string,
|
||||
@@ -556,8 +558,12 @@ const syncSecretsAWSParameterStore = async ({
|
||||
logger.error(
|
||||
`AWS Parameter Store Error [integration=${integration.id}]: double check AWS account permissions (refer to the Infisical docs)`
|
||||
);
|
||||
throw err;
|
||||
}
|
||||
|
||||
response = {
|
||||
isSynced: false,
|
||||
syncMessage: (err as AWSError)?.message || "Error syncing with AWS Parameter Store"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -586,6 +592,8 @@ const syncSecretsAWSParameterStore = async ({
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -3488,6 +3496,8 @@ export const syncIntegrationSecrets = async ({
|
||||
accessToken: string;
|
||||
appendices?: { prefix: string; suffix: string };
|
||||
}) => {
|
||||
let response: { isSynced: boolean; syncMessage: string } | null = null;
|
||||
|
||||
switch (integration.integration) {
|
||||
case Integrations.GCP_SECRET_MANAGER:
|
||||
await syncSecretsGCPSecretManager({
|
||||
@@ -3504,7 +3514,7 @@ export const syncIntegrationSecrets = async ({
|
||||
});
|
||||
break;
|
||||
case Integrations.AWS_PARAMETER_STORE:
|
||||
await syncSecretsAWSParameterStore({
|
||||
response = await syncSecretsAWSParameterStore({
|
||||
integration,
|
||||
secrets,
|
||||
accessId,
|
||||
@@ -3728,4 +3738,6 @@ export const syncIntegrationSecrets = async ({
|
||||
default:
|
||||
throw new BadRequestError({ message: "Invalid integration" });
|
||||
}
|
||||
|
||||
return response;
|
||||
};
|
||||
|
||||
@@ -544,7 +544,7 @@ export const secretQueueFactory = ({
|
||||
}
|
||||
|
||||
try {
|
||||
await syncIntegrationSecrets({
|
||||
const response = await syncIntegrationSecrets({
|
||||
createManySecretsRawFn,
|
||||
updateManySecretsRawFn,
|
||||
integrationDAL,
|
||||
@@ -562,8 +562,8 @@ export const secretQueueFactory = ({
|
||||
await integrationDAL.updateById(integration.id, {
|
||||
lastSyncJobId: job.id,
|
||||
lastUsed: new Date(),
|
||||
syncMessage: "",
|
||||
isSynced: true
|
||||
syncMessage: response?.syncMessage || "",
|
||||
isSynced: response?.isSynced || true
|
||||
});
|
||||
} catch (err) {
|
||||
logger.info("Secret integration sync error: %o", err);
|
||||
|
||||
Reference in New Issue
Block a user