Update integration-sync-secret.ts

This commit is contained in:
Daniel Hougaard
2024-09-05 13:38:31 +04:00
parent b7d683ee1b
commit 8f3d328b9a
@@ -1938,9 +1938,9 @@ const syncSecretsCircleCI = async ({
}) })
).data; ).data;
let orgSlug: string | null = null; let projectSlug: string | null = null;
if (!integration.owner) { if (!integration.owner) {
orgSlug = `${circleciOrganizationDetail[0].slug}/${integration.app}`; projectSlug = `${circleciOrganizationDetail[0].slug}/${integration.app}`;
} else { } else {
const projectDetails = ( const projectDetails = (
await request.get<{ vcs_info: { provider: CircleCiVcsType } }>( await request.get<{ vcs_info: { provider: CircleCiVcsType } }>(
@@ -1960,18 +1960,14 @@ const syncSecretsCircleCI = async ({
[CircleCiVcsType.CircleCI]: "circleci" [CircleCiVcsType.CircleCI]: "circleci"
}; };
orgSlug = `${vcsProviderMap[projectDetails.vcs_info.provider]}/${integration.owner}/${integration.app}`; projectSlug = `${vcsProviderMap[projectDetails.vcs_info.provider]}/${integration.owner}/${integration.app}`;
if (!orgSlug) {
throw new Error("CircleCI: Organization not found");
}
} }
// sync secrets to CircleCI // sync secrets to CircleCI
await Promise.all( await Promise.all(
Object.keys(secrets).map(async (key) => Object.keys(secrets).map(async (key) =>
request.post( request.post(
`${IntegrationUrls.CIRCLECI_API_URL}/v2/project/${orgSlug}/envvar`, `${IntegrationUrls.CIRCLECI_API_URL}/v2/project/${projectSlug}/envvar`,
{ {
name: key, name: key,
value: secrets[key].value value: secrets[key].value
@@ -1989,7 +1985,7 @@ const syncSecretsCircleCI = async ({
// get secrets from CircleCI // get secrets from CircleCI
const getSecretsRes = ( const getSecretsRes = (
await request.get<{ items: { name: string }[] }>( await request.get<{ items: { name: string }[] }>(
`${IntegrationUrls.CIRCLECI_API_URL}/v2/project/${orgSlug}/envvar`, `${IntegrationUrls.CIRCLECI_API_URL}/v2/project/${projectSlug}/envvar`,
{ {
headers: { headers: {
"Circle-Token": accessToken, "Circle-Token": accessToken,
@@ -2003,7 +1999,7 @@ const syncSecretsCircleCI = async ({
await Promise.all( await Promise.all(
getSecretsRes.map(async (sec) => { getSecretsRes.map(async (sec) => {
if (!(sec.name in secrets)) { if (!(sec.name in secrets)) {
return request.delete(`${IntegrationUrls.CIRCLECI_API_URL}/v2/project/${orgSlug}/envvar/${sec.name}`, { return request.delete(`${IntegrationUrls.CIRCLECI_API_URL}/v2/project/${projectSlug}/envvar/${sec.name}`, {
headers: { headers: {
"Circle-Token": accessToken, "Circle-Token": accessToken,
"Content-Type": "application/json" "Content-Type": "application/json"