feat(core): Use credential entity resolver fields on resolving and storing process (#23107)

This commit is contained in:
Guillaume Jacquart
2025-12-12 11:48:35 +01:00
committed by GitHub
parent fb328d7603
commit 551dbfde24
4 changed files with 14 additions and 10 deletions
@@ -417,6 +417,8 @@ describe('CredentialsHelper', () => {
name: 'Test Credentials',
type: credentialType,
data: cipher.encrypt({ apiKey: 'static-key' }),
isResolvable: false,
resolvableAllowFallback: false,
} as CredentialsEntity;
beforeEach(() => {
@@ -431,6 +433,7 @@ describe('CredentialsHelper', () => {
const resolvedData = { apiKey: 'dynamic-key' };
mockCredentialResolutionProvider.resolveIfNeeded.mockResolvedValue(resolvedData);
credentialsRepository.findOneByOrFail.mockResolvedValue(mockCredentialEntity);
const result = await credentialsHelper.getDecrypted(
mockAdditionalData,
@@ -447,6 +450,8 @@ describe('CredentialsHelper', () => {
name: mockCredentialEntity.name,
isResolvable: false,
type: 'testApi',
resolverId: undefined,
resolvableAllowFallback: false,
},
{ apiKey: 'static-key' },
mockAdditionalData.executionContext,
+3 -5
View File
@@ -363,12 +363,10 @@ export class CredentialsHelper extends ICredentialsHelper {
{
id: credentialsEntity.id,
name: credentialsEntity.name,
isResolvable: false,
type: credentialsEntity.type,
// TODO: use the actual values from the entity once they are added
// isResolvable: credentialsEntity.isResolvable,
// resolverId: (credentialsEntity as any).resolverId,
// resolvableAllowFallback: (credentialsEntity as any).resolvableAllowFallback,
isResolvable: credentialsEntity.isResolvable,
resolverId: credentialsEntity.resolverId ?? undefined,
resolvableAllowFallback: credentialsEntity.resolvableAllowFallback,
},
decryptedDataOriginal,
additionalData.executionContext,
@@ -835,6 +835,8 @@ describe('OauthService', () => {
name: 'Test Credential',
type: 'googleOAuth2Api',
data: 'encrypted-data',
isResolvable: true,
resolverId: 'resolver-id',
});
const oauthTokenData = {
access_token: 'access-token',
@@ -858,6 +860,7 @@ describe('OauthService', () => {
name: 'Test Credential',
type: 'googleOAuth2Api',
isResolvable: true,
resolverId: 'resolver-id',
},
oauthTokenData,
{ version: 1, identity: authToken },
+3 -5
View File
@@ -582,14 +582,12 @@ export class OauthService {
id: credential.id,
name: credential.name,
type: credential.type,
isResolvable: true,
isResolvable: credential.isResolvable,
resolverId: credentialResolverId,
};
await this.dynamicCredentialsProxy.storeIfNeeded(
{
...credentialStoreMetadata,
isResolvable: true,
},
credentialStoreMetadata,
oauthTokenData,
// todo parse this
{ version: 1, identity: authHeader },