mirror of
https://github.com/n8n-io/n8n.git
synced 2026-09-24 23:22:38 +08:00
feat(core): Use credential entity resolver fields on resolving and storing process (#23107)
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -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 },
|
||||
|
||||
Reference in New Issue
Block a user