fix: Apply credential overwrites recursively (#5072)

This ensures that overwrites defined for a parent credential type also applies to all credentials extending it.
This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-01-04 18:16:48 +01:00
committed by GitHub
parent f1184ccab5
commit 5d746c4a83
11 changed files with 73 additions and 18 deletions

View File

@@ -86,8 +86,13 @@ class CredentialsOverwritesClass {
return overwrites;
}
private get(type: string): ICredentialDataDecryptedObject | undefined {
return this.overwriteData[type];
private get(name: string): ICredentialDataDecryptedObject | undefined {
const parentTypes = this.credentialTypes.getParentTypes(name);
return [name, ...parentTypes]
.reverse()
.map((type) => this.overwriteData[type])
.filter((type) => !!type)
.reduce((acc, current) => Object.assign(acc, current), {});
}
getAll(): ICredentialsOverwrite {