mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
🎨 Centralize error throwing for encryption keys and credentials (#3105)
* Centralized error throwing for encryption key * Unifying the error message used by cli and core packages * Improvements to error messages to make it more DRY * Removed unnecessary throw * Throwing error when credential does not exist to simplify node behavior (#3112) Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
This commit is contained in:
@@ -43,9 +43,6 @@ function getEndpointForService(service: string, credentials: ICredentialDataDecr
|
||||
|
||||
export async function awsApiRequest(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions | IWebhookFunctions, service: string, method: string, path: string, body?: string, headers?: object): Promise<any> { // tslint:disable-line:no-any
|
||||
const credentials = await this.getCredentials('aws');
|
||||
if (credentials === undefined) {
|
||||
throw new NodeOperationError(this.getNode(), 'No credentials got returned!');
|
||||
}
|
||||
|
||||
// Concatenate path and instantiate URL object so it parses correctly query strings
|
||||
const endpoint = new URL(getEndpointForService(service, credentials) + path);
|
||||
@@ -69,7 +66,7 @@ export async function awsApiRequest(this: IHookFunctions | IExecuteFunctions | I
|
||||
const errorMessage = error?.response?.data || error?.response?.body;
|
||||
if (errorMessage.includes('AccessDeniedException')) {
|
||||
const user = JSON.parse(errorMessage).Message.split(' ')[1];
|
||||
throw new NodeApiError(this.getNode(), error, {
|
||||
throw new NodeApiError(this.getNode(), error, {
|
||||
message: 'Unauthorized — please check your AWS policy configuration',
|
||||
description: `Make sure an identity-based policy allows user ${user} to perform textract:AnalyzeExpense` });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user