fix: only override secret value/id by key if same environment

This commit is contained in:
Scott Wilson
2024-10-21 10:55:39 -07:00
parent ca0241bb51
commit 14e92f895a
+7 -5
View File
@@ -48,7 +48,7 @@ export const fetchProjectSecrets = async ({
}; };
export const mergePersonalSecrets = (rawSecrets: SecretV3Raw[]) => { export const mergePersonalSecrets = (rawSecrets: SecretV3Raw[]) => {
const personalSecrets: Record<string, { id: string; value?: string }> = {}; const personalSecrets: Record<string, { id: string; value?: string; env: string }> = {};
const secrets: SecretV3RawSanitized[] = []; const secrets: SecretV3RawSanitized[] = [];
rawSecrets.forEach((el) => { rawSecrets.forEach((el) => {
const decryptedSecret: SecretV3RawSanitized = { const decryptedSecret: SecretV3RawSanitized = {
@@ -69,7 +69,8 @@ export const mergePersonalSecrets = (rawSecrets: SecretV3Raw[]) => {
if (el.type === SecretType.Personal) { if (el.type === SecretType.Personal) {
personalSecrets[decryptedSecret.key] = { personalSecrets[decryptedSecret.key] = {
id: el.id, id: el.id,
value: el.secretValue value: el.secretValue,
env: el.environment
}; };
} else { } else {
secrets.push(decryptedSecret); secrets.push(decryptedSecret);
@@ -77,9 +78,10 @@ export const mergePersonalSecrets = (rawSecrets: SecretV3Raw[]) => {
}); });
secrets.forEach((sec) => { secrets.forEach((sec) => {
if (personalSecrets?.[sec.key]) { const personalSecret = personalSecrets?.[sec.key];
sec.idOverride = personalSecrets[sec.key].id; if (personalSecret && personalSecret.env === sec.env) {
sec.valueOverride = personalSecrets[sec.key].value; sec.idOverride = personalSecret.id;
sec.valueOverride = personalSecret.value;
sec.overrideAction = "modified"; sec.overrideAction = "modified";
} }
}); });