n8n-nodes-base 1.91.1 → 1.92.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/credentials/Aws.credentials.js +0 -2
- package/dist/credentials/Aws.credentials.js.map +1 -1
- package/dist/credentials/JinaAiApi.credentials.js +61 -0
- package/dist/credentials/JinaAiApi.credentials.js.map +1 -0
- package/dist/credentials/MicrosoftAzureCosmosDbSharedKeyApi.credentials.js +1 -1
- package/dist/credentials/MicrosoftAzureCosmosDbSharedKeyApi.credentials.js.map +1 -1
- package/dist/known/credentials.json +8 -0
- package/dist/known/nodes.json +8 -0
- package/dist/nodes/Affinity/__schema__/v1.0.0/listEntry/getAll.json +1 -4
- package/dist/nodes/Airtop/__schema__/v1.0.0/extraction/query.json +47 -0
- package/dist/nodes/Aws/Cognito/AwsCognito.node.js +102 -0
- package/dist/nodes/Aws/Cognito/AwsCognito.node.js.map +1 -0
- package/dist/nodes/Aws/Cognito/AwsCognito.node.json +18 -0
- package/dist/nodes/Aws/Cognito/cognito.svg +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/common.description.js +160 -0
- package/dist/nodes/Aws/Cognito/descriptions/common.description.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/Group.resource.js +189 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/Group.resource.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/create.operation.js +126 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/create.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/delete.operation.js +47 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/delete.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/get.operation.js +54 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/get.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/getAll.operation.js +95 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/getAll.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/update.operation.js +120 -0
- package/dist/nodes/Aws/Cognito/descriptions/group/update.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/index.js +45 -0
- package/dist/nodes/Aws/Cognito/descriptions/index.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/User.resource.js +263 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/User.resource.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/addToGroup.operation.js +51 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/addToGroup.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/create.operation.js +299 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/create.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/delete.operation.js +47 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/delete.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/get.operation.js +54 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/get.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/getAll.operation.js +187 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/getAll.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/removeFromGroup.operation.js +60 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/removeFromGroup.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/update.operation.js +189 -0
- package/dist/nodes/Aws/Cognito/descriptions/user/update.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/userPool/UserPool.resource.js +81 -0
- package/dist/nodes/Aws/Cognito/descriptions/userPool/UserPool.resource.js.map +1 -0
- package/dist/nodes/Aws/Cognito/descriptions/userPool/get.operation.js +50 -0
- package/dist/nodes/Aws/Cognito/descriptions/userPool/get.operation.js.map +1 -0
- package/dist/nodes/Aws/Cognito/helpers/constants.js +91 -0
- package/dist/nodes/Aws/Cognito/helpers/constants.js.map +1 -0
- package/dist/nodes/Aws/Cognito/helpers/errorHandler.js +109 -0
- package/dist/nodes/Aws/Cognito/helpers/errorHandler.js.map +1 -0
- package/dist/nodes/Aws/Cognito/helpers/interfaces.js +17 -0
- package/dist/nodes/Aws/Cognito/helpers/interfaces.js.map +1 -0
- package/dist/nodes/Aws/Cognito/helpers/utils.js +318 -0
- package/dist/nodes/Aws/Cognito/helpers/utils.js.map +1 -0
- package/dist/nodes/Aws/Cognito/methods/index.js +39 -0
- package/dist/nodes/Aws/Cognito/methods/index.js.map +1 -0
- package/dist/nodes/Aws/Cognito/methods/listSearch.js +157 -0
- package/dist/nodes/Aws/Cognito/methods/listSearch.js.map +1 -0
- package/dist/nodes/Aws/Cognito/transport/index.js +72 -0
- package/dist/nodes/Aws/Cognito/transport/index.js.map +1 -0
- package/dist/nodes/Aws/S3/__schema__/v2.0.0/file/getAll.json +1 -7
- package/dist/nodes/BambooHr/__schema__/v1.0.0/employee/get.json +10 -1
- package/dist/nodes/Dropcontact/__schema__/v1.0.0/contact/enrich.json +7 -15
- package/dist/nodes/EmailSend/__schema__/v2.1.0/email/send.json +7 -1
- package/dist/nodes/Github/__schema__/v1.1.0/file/list.json +44 -0
- package/dist/nodes/Gitlab/__schema__/v1.0.0/file/get.json +1 -4
- package/dist/nodes/Google/BusinessProfile/__schema__/v1.0.0/review/getAll.json +1 -12
- package/dist/nodes/Google/Calendar/__schema__/v1.3.0/event/getAll.json +4 -7
- package/dist/nodes/Google/Contacts/__schema__/v1.0.0/contact/getAll.json +1 -12
- package/dist/nodes/Google/Drive/__schema__/v3.0.0/file/download.json +9 -0
- package/dist/nodes/Google/Firebase/CloudFirestore/__schema__/v1.1.0/document/query.json +7 -1
- package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/addLabels.json +1 -13
- package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/get.json +7 -1
- package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/getAll.json +29 -113
- package/dist/nodes/Google/Gmail/__schema__/v2.1.0/thread/get.json +1 -60
- package/dist/nodes/Google/Sheet/GoogleSheets.node.js +3 -2
- package/dist/nodes/Google/Sheet/GoogleSheets.node.js.map +1 -1
- package/dist/nodes/Google/Sheet/v2/actions/sheet/read.operation.js +2 -1
- package/dist/nodes/Google/Sheet/v2/actions/sheet/read.operation.js.map +1 -1
- package/dist/nodes/Google/Sheet/v2/actions/versionDescription.js +1 -1
- package/dist/nodes/Google/Sheet/v2/actions/versionDescription.js.map +1 -1
- package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js +4 -0
- package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js.map +1 -1
- package/dist/nodes/Google/Task/__schema__/v1.0.0/task/getAll.json +1 -4
- package/dist/nodes/Google/YouTube/__schema__/v1.0.0/video/get.json +35 -1
- package/dist/nodes/Hubspot/__schema__/v2.1.0/company/getAll.json +4 -1
- package/dist/nodes/Hubspot/__schema__/v2.1.0/contact/search.json +1 -4
- package/dist/nodes/Hubspot/__schema__/v2.1.0/deal/getAll.json +45 -11
- package/dist/nodes/Hubspot/__schema__/v2.1.0/deal/search.json +2 -5
- package/dist/nodes/Hubspot/__schema__/v2.1.0/ticket/get.json +4 -4
- package/dist/nodes/ItemLists/__schema__/v3.0.0/itemList/limit.json +4 -1
- package/dist/nodes/JinaAI/JinaAi.node.js +486 -0
- package/dist/nodes/JinaAI/JinaAi.node.js.map +1 -0
- package/dist/nodes/JinaAI/JinaAi.node.json +18 -0
- package/dist/nodes/JinaAI/jinaAi.dark.svg +6 -0
- package/dist/nodes/JinaAI/jinaAi.svg +6 -0
- package/dist/nodes/Jira/__schema__/v1.0.0/issue/get.json +259 -1
- package/dist/nodes/Jira/__schema__/v1.0.0/issue/getAll.json +57 -37
- package/dist/nodes/Linear/__schema__/v1.0.0/issue/getAll.json +1 -12
- package/dist/nodes/Microsoft/AzureCosmosDb/AzureCosmosDb.node.json +2 -2
- package/dist/nodes/Microsoft/Entra/MicrosoftEntra.node.js +2 -2
- package/dist/nodes/Microsoft/Entra/MicrosoftEntra.node.js.map +1 -1
- package/dist/nodes/Microsoft/Entra/__schema__/v1.0.0/user/getAll.json +1 -7
- package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/event/getAll.json +4 -1
- package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/folderMessage/getAll.json +8 -47
- package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/message/get.json +124 -1
- package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/message/getAll.json +40 -20
- package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/message/sendAndWait.json +12 -11
- package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/messageAttachment/get.json +13 -1
- package/dist/nodes/Microsoft/Storage/__schema__/v1.0.0/blob/getAll.json +44 -0
- package/dist/nodes/Microsoft/Teams/__schema__/v2.0.0/channel/getAll.json +1 -4
- package/dist/nodes/Microsoft/ToDo/__schema__/v1.0.0/task/getAll.json +21 -5
- package/dist/nodes/Notion/__schema__/v2.2.0/database/get.json +149 -2
- package/dist/nodes/Odoo/__schema__/v1.0.0/contact/getAll.json +10 -1
- package/dist/nodes/Odoo/__schema__/v1.0.0/custom/getAll.json +1 -4
- package/dist/nodes/Odoo/__schema__/v1.0.0/opportunity/getAll.json +49 -1
- package/dist/nodes/OpenAi/__schema__/v1.1.0/chat/complete.json +1 -29
- package/dist/nodes/Pipedrive/__schema__/v1.0.0/organization/search.json +20 -25
- package/dist/nodes/Pipedrive/__schema__/v1.0.0/person/search.json +1 -18
- package/dist/nodes/Plivo/__schema__/v1.0.0/call/make.json +15 -0
- package/dist/nodes/QuickBooks/__schema__/v1.0.0/transaction/getReport.json +1 -4
- package/dist/nodes/Salesforce/__schema__/v1.0.0/customObject/getAll.json +2 -2
- package/dist/nodes/Salesforce/__schema__/v1.0.0/opportunity/getAll.json +5 -2
- package/dist/nodes/Salesforce/__schema__/v1.0.0/task/getAll.json +4 -1
- package/dist/nodes/SeaTable/__schema__/v2.0.0/row/list.json +30 -0
- package/dist/nodes/ServiceNow/__schema__/v1.0.0/tableRecord/getAll.json +1 -4
- package/dist/nodes/Slack/__schema__/v2.3.0/channel/history.json +49 -3
- package/dist/nodes/Slack/__schema__/v2.3.0/message/post.json +4 -1
- package/dist/nodes/Ssh/__schema__/v1.0.0/command/execute.json +4 -1
- package/dist/nodes/Strapi/__schema__/v1.0.0/entry/get.json +32 -0
- package/dist/nodes/Strapi/__schema__/v1.0.0/entry/getAll.json +1 -4
- package/dist/nodes/Telegram/__schema__/v1.2.0/chat/get.json +27 -1
- package/dist/nodes/Telegram/__schema__/v1.2.0/chat/member.json +7 -1
- package/dist/nodes/Telegram/__schema__/v1.2.0/message/sendMessage.json +1 -4
- package/dist/nodes/Telegram/__schema__/v1.2.0/message/sendPhoto.json +4 -1
- package/dist/nodes/Trello/__schema__/v1.0.0/list/getAll.json +7 -1
- package/dist/nodes/Trello/__schema__/v1.0.0/list/getCards.json +13 -1
- package/dist/nodes/Wordpress/PageDescription.js +0 -17
- package/dist/nodes/Wordpress/PageDescription.js.map +1 -1
- package/dist/nodes/Wordpress/__schema__/v1.0.0/post/get.json +7 -1
- package/dist/nodes/Zoho/__schema__/v1.0.0/contact/getAll.json +15 -16
- package/dist/nodes/Zoho/__schema__/v1.0.0/lead/getAll.json +1 -122
- package/dist/nodes/Zoom/__schema__/v1.0.0/meeting/getAll.json +1 -4
- package/dist/types/credentials.json +3 -2
- package/dist/types/nodes.json +9 -7
- package/package.json +9 -6
|
@@ -418,8 +418,6 @@ class Aws {
|
|
|
418
418
|
endpointString = credentials.sesEndpoint;
|
|
419
419
|
} else if (service === "rekognition" && credentials.rekognitionEndpoint) {
|
|
420
420
|
endpointString = credentials.rekognitionEndpoint;
|
|
421
|
-
} else if (service === "sqs" && credentials.sqsEndpoint) {
|
|
422
|
-
endpointString = credentials.sqsEndpoint;
|
|
423
421
|
} else if (service) {
|
|
424
422
|
endpointString = `https://${service}.${region}.amazonaws.com`;
|
|
425
423
|
} else if (service === "ssm" && credentials.ssmEndpoint) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../credentials/Aws.credentials.ts"],"sourcesContent":["import type { Request } from 'aws4';\nimport { sign } from 'aws4';\nimport type {\n\tICredentialDataDecryptedObject,\n\tICredentialTestRequest,\n\tICredentialType,\n\tIDataObject,\n\tIHttpRequestOptions,\n\tINodeProperties,\n\tIRequestOptions,\n} from 'n8n-workflow';\nimport { isObjectEmpty } from 'n8n-workflow';\n\nexport const regions = [\n\t{\n\t\tname: 'af-south-1',\n\t\tdisplayName: 'Africa',\n\t\tlocation: 'Cape Town',\n\t},\n\t{\n\t\tname: 'ap-east-1',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Hong Kong',\n\t},\n\t{\n\t\tname: 'ap-south-1',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Mumbai',\n\t},\n\t{\n\t\tname: 'ap-south-2',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Hyderabad',\n\t},\n\t{\n\t\tname: 'ap-southeast-1',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Singapore',\n\t},\n\t{\n\t\tname: 'ap-southeast-2',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Sydney',\n\t},\n\t{\n\t\tname: 'ap-southeast-3',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Jakarta',\n\t},\n\t{\n\t\tname: 'ap-southeast-4',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Melbourne',\n\t},\n\t{\n\t\tname: 'ap-southeast-5',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Malaysia',\n\t},\n\t{\n\t\tname: 'ap-southeast-7',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Thailand',\n\t},\n\t{\n\t\tname: 'ap-northeast-1',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Tokyo',\n\t},\n\t{\n\t\tname: 'ap-northeast-2',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Seoul',\n\t},\n\t{\n\t\tname: 'ap-northeast-3',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Osaka',\n\t},\n\t{\n\t\tname: 'ca-central-1',\n\t\tdisplayName: 'Canada',\n\t\tlocation: 'Central',\n\t},\n\t{\n\t\tname: 'ca-west-1',\n\t\tdisplayName: 'Canada West',\n\t\tlocation: 'Calgary',\n\t},\n\t{\n\t\tname: 'cn-north-1',\n\t\tdisplayName: 'China',\n\t\tlocation: 'Beijing',\n\t},\n\t{\n\t\tname: 'cn-northwest-1',\n\t\tdisplayName: 'China',\n\t\tlocation: 'Ningxia',\n\t},\n\t{\n\t\tname: 'eu-central-1',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Frankfurt',\n\t},\n\t{\n\t\tname: 'eu-central-2',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Zurich',\n\t},\n\t{\n\t\tname: 'eu-north-1',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Stockholm',\n\t},\n\t{\n\t\tname: 'eu-south-1',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Milan',\n\t},\n\t{\n\t\tname: 'eu-south-2',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Spain',\n\t},\n\t{\n\t\tname: 'eu-west-1',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Ireland',\n\t},\n\t{\n\t\tname: 'eu-west-2',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'London',\n\t},\n\t{\n\t\tname: 'eu-west-3',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Paris',\n\t},\n\t{\n\t\tname: 'il-central-1',\n\t\tdisplayName: 'Israel',\n\t\tlocation: 'Tel Aviv',\n\t},\n\t{\n\t\tname: 'me-central-1',\n\t\tdisplayName: 'Middle East',\n\t\tlocation: 'UAE',\n\t},\n\t{\n\t\tname: 'me-south-1',\n\t\tdisplayName: 'Middle East',\n\t\tlocation: 'Bahrain',\n\t},\n\t{\n\t\tname: 'mx-central-1',\n\t\tdisplayName: 'Mexico',\n\t\tlocation: 'Central',\n\t},\n\t{\n\t\tname: 'sa-east-1',\n\t\tdisplayName: 'South America',\n\t\tlocation: 'São Paulo',\n\t},\n\t{\n\t\tname: 'us-east-1',\n\t\tdisplayName: 'US East',\n\t\tlocation: 'N. Virginia',\n\t},\n\t{\n\t\tname: 'us-east-2',\n\t\tdisplayName: 'US East',\n\t\tlocation: 'Ohio',\n\t},\n\t{\n\t\tname: 'us-gov-east-1',\n\t\tdisplayName: 'US East',\n\t\tlocation: 'GovCloud',\n\t},\n\t{\n\t\tname: 'us-west-1',\n\t\tdisplayName: 'US West',\n\t\tlocation: 'N. California',\n\t},\n\t{\n\t\tname: 'us-west-2',\n\t\tdisplayName: 'US West',\n\t\tlocation: 'Oregon',\n\t},\n\t{\n\t\tname: 'us-gov-west-1',\n\t\tdisplayName: 'US West',\n\t\tlocation: 'GovCloud',\n\t},\n] as const;\n\nexport type AWSRegion = (typeof regions)[number]['name'];\nexport type AwsCredentialsType = {\n\tregion: AWSRegion;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\ttemporaryCredentials: boolean;\n\tcustomEndpoints: boolean;\n\tsessionToken?: string;\n\trekognitionEndpoint?: string;\n\tlambdaEndpoint?: string;\n\tsnsEndpoint?: string;\n\tsesEndpoint?: string;\n\tsqsEndpoint?: string;\n\ts3Endpoint?: string;\n\tssmEndpoint?: string;\n};\n\n// Some AWS services are global and don't have a region\n// https://docs.aws.amazon.com/general/latest/gr/rande.html#global-endpoints\n// Example: iam.amazonaws.com (global), s3.us-east-1.amazonaws.com (regional)\nfunction parseAwsUrl(url: URL): { region: AWSRegion | null; service: string } {\n\tconst [service, region] = url.hostname.replace('amazonaws.com', '').split('.');\n\treturn { service, region: region as AWSRegion };\n}\n\nexport class Aws implements ICredentialType {\n\tname = 'aws';\n\n\tdisplayName = 'AWS';\n\n\tdocumentationUrl = 'aws';\n\n\ticon = { light: 'file:icons/AWS.svg', dark: 'file:icons/AWS.dark.svg' } as const;\n\n\tproperties: INodeProperties[] = [\n\t\t{\n\t\t\tdisplayName: 'Region',\n\t\t\tname: 'region',\n\t\t\ttype: 'options',\n\t\t\toptions: regions.map((r) => ({\n\t\t\t\tname: `${r.displayName} (${r.location}) - ${r.name}`,\n\t\t\t\tvalue: r.name,\n\t\t\t})),\n\t\t\tdefault: 'us-east-1',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Access Key ID',\n\t\t\tname: 'accessKeyId',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Secret Access Key',\n\t\t\tname: 'secretAccessKey',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\ttypeOptions: {\n\t\t\t\tpassword: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Temporary Security Credentials',\n\t\t\tname: 'temporaryCredentials',\n\t\t\tdescription: 'Support for temporary credentials from AWS STS',\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Session Token',\n\t\t\tname: 'sessionToken',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\ttemporaryCredentials: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\ttypeOptions: {\n\t\t\t\tpassword: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Custom Endpoints',\n\t\t\tname: 'customEndpoints',\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Rekognition Endpoint',\n\t\t\tname: 'rekognitionEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and Rekognition using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://rekognition.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Lambda Endpoint',\n\t\t\tname: 'lambdaEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and Lambda using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://lambda.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'SNS Endpoint',\n\t\t\tname: 'snsEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SNS using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://sns.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'SES Endpoint',\n\t\t\tname: 'sesEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SES using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://email.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'SQS Endpoint',\n\t\t\tname: 'sqsEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SQS using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://sqs.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'S3 Endpoint',\n\t\t\tname: 's3Endpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and S3 using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://s3.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'SSM Endpoint',\n\t\t\tname: 'ssmEndpoint',\n\t\t\tdescription: 'Endpoint for AWS Systems Manager (SSM)',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://ssm.{region}.amazonaws.com',\n\t\t},\n\t];\n\n\tasync authenticate(\n\t\trawCredentials: ICredentialDataDecryptedObject,\n\t\trequestOptions: IHttpRequestOptions,\n\t): Promise<IHttpRequestOptions> {\n\t\tconst credentials = rawCredentials as AwsCredentialsType;\n\t\tlet endpoint: URL;\n\t\tlet service = requestOptions.qs?.service as string;\n\t\tlet path = (requestOptions.qs?.path as string) ?? '';\n\t\tconst method = requestOptions.method;\n\t\tlet body = requestOptions.body;\n\n\t\tlet region = credentials.region;\n\t\tif (requestOptions.qs?._region) {\n\t\t\tregion = requestOptions.qs._region as AWSRegion;\n\t\t\tdelete requestOptions.qs._region;\n\t\t}\n\n\t\tlet query = requestOptions.qs?.query as IDataObject;\n\t\t// ! Workaround as we still use the IRequestOptions interface which uses uri instead of url\n\t\t// ! To change when we replace the interface with IHttpRequestOptions\n\t\tconst requestWithUri = requestOptions as unknown as IRequestOptions;\n\t\tif (requestWithUri.uri) {\n\t\t\trequestOptions.url = requestWithUri.uri;\n\t\t\tendpoint = new URL(requestOptions.url);\n\t\t\tif (service === 'sts') {\n\t\t\t\ttry {\n\t\t\t\t\tif (requestWithUri.qs?.Action !== 'GetCallerIdentity') {\n\t\t\t\t\t\tquery = requestWithUri.qs as IDataObject;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tendpoint.searchParams.set('Action', 'GetCallerIdentity');\n\t\t\t\t\t\tendpoint.searchParams.set('Version', '2011-06-15');\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst parsed = parseAwsUrl(endpoint);\n\t\t\tservice = parsed.service;\n\t\t\tif (parsed.region) {\n\t\t\t\tregion = parsed.region;\n\t\t\t}\n\t\t} else {\n\t\t\tif (!requestOptions.baseURL && !requestOptions.url) {\n\t\t\t\tlet endpointString: string;\n\t\t\t\tif (service === 'lambda' && credentials.lambdaEndpoint) {\n\t\t\t\t\tendpointString = credentials.lambdaEndpoint;\n\t\t\t\t} else if (service === 'sns' && credentials.snsEndpoint) {\n\t\t\t\t\tendpointString = credentials.snsEndpoint;\n\t\t\t\t} else if (service === 'sqs' && credentials.sqsEndpoint) {\n\t\t\t\t\tendpointString = credentials.sqsEndpoint;\n\t\t\t\t} else if (service === 's3' && credentials.s3Endpoint) {\n\t\t\t\t\tendpointString = credentials.s3Endpoint;\n\t\t\t\t} else if (service === 'ses' && credentials.sesEndpoint) {\n\t\t\t\t\tendpointString = credentials.sesEndpoint;\n\t\t\t\t} else if (service === 'rekognition' && credentials.rekognitionEndpoint) {\n\t\t\t\t\tendpointString = credentials.rekognitionEndpoint;\n\t\t\t\t} else if (service === 'sqs' && credentials.sqsEndpoint) {\n\t\t\t\t\tendpointString = credentials.sqsEndpoint;\n\t\t\t\t} else if (service) {\n\t\t\t\t\tendpointString = `https://${service}.${region}.amazonaws.com`;\n\t\t\t\t} else if (service === 'ssm' && credentials.ssmEndpoint) {\n\t\t\t\t\tendpointString = credentials.ssmEndpoint;\n\t\t\t\t}\n\t\t\t\tendpoint = new URL(endpointString!.replace('{region}', region) + path);\n\t\t\t} else {\n\t\t\t\t// If no endpoint is set, we try to decompose the path and use the default endpoint\n\t\t\t\tconst customUrl = new URL(`${requestOptions.baseURL!}${requestOptions.url}${path}`);\n\t\t\t\tconst parsed = parseAwsUrl(customUrl);\n\t\t\t\tservice = parsed.service;\n\t\t\t\tif (parsed.region) {\n\t\t\t\t\tregion = parsed.region;\n\t\t\t\t}\n\t\t\t\tif (service === 'sts') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tcustomUrl.searchParams.set('Action', 'GetCallerIdentity');\n\t\t\t\t\t\tcustomUrl.searchParams.set('Version', '2011-06-15');\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tendpoint = customUrl;\n\t\t\t}\n\t\t}\n\n\t\tif (query && Object.keys(query).length !== 0) {\n\t\t\tObject.keys(query).forEach((key) => {\n\t\t\t\tendpoint.searchParams.append(key, query[key] as string);\n\t\t\t});\n\t\t}\n\n\t\tif (body && typeof body === 'object' && isObjectEmpty(body)) {\n\t\t\tbody = '';\n\t\t}\n\n\t\tpath = endpoint.pathname + endpoint.search;\n\n\t\t// ! aws4.sign *must* have the body to sign, but we might have .form instead of .body\n\t\tconst requestWithForm = requestOptions as unknown as { form?: Record<string, string> };\n\t\tlet bodyContent = body !== '' ? body : undefined;\n\t\tlet contentTypeHeader: string | undefined = undefined;\n\t\tif (requestWithForm.form) {\n\t\t\tconst params = new URLSearchParams();\n\t\t\tfor (const key in requestWithForm.form) {\n\t\t\t\tparams.append(key, requestWithForm.form[key]);\n\t\t\t}\n\t\t\tbodyContent = params.toString();\n\t\t\tcontentTypeHeader = 'application/x-www-form-urlencoded';\n\t\t}\n\n\t\tconst signOpts = {\n\t\t\t...requestOptions,\n\t\t\theaders: {\n\t\t\t\t...(requestOptions.headers ?? {}),\n\t\t\t\t...(contentTypeHeader && { 'content-type': contentTypeHeader }),\n\t\t\t},\n\t\t\thost: endpoint.host,\n\t\t\tmethod,\n\t\t\tpath,\n\t\t\tbody: bodyContent,\n\t\t\tregion,\n\t\t} as Request;\n\n\t\tconst securityHeaders = {\n\t\t\taccessKeyId: `${credentials.accessKeyId}`.trim(),\n\t\t\tsecretAccessKey: `${credentials.secretAccessKey}`.trim(),\n\t\t\tsessionToken: credentials.temporaryCredentials\n\t\t\t\t? `${credentials.sessionToken}`.trim()\n\t\t\t\t: undefined,\n\t\t};\n\t\ttry {\n\t\t\tsign(signOpts, securityHeaders);\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t}\n\t\tconst options: IHttpRequestOptions = {\n\t\t\t...requestOptions,\n\t\t\theaders: signOpts.headers,\n\t\t\tmethod,\n\t\t\turl: endpoint.origin + path,\n\t\t\tbody: signOpts.body,\n\t\t\tqs: undefined, // override since it's already in the url\n\t\t};\n\n\t\treturn options;\n\t}\n\n\ttest: ICredentialTestRequest = {\n\t\trequest: {\n\t\t\tbaseURL: '=https://sts.{{$credentials.region}}.amazonaws.com',\n\t\t\turl: '?Action=GetCallerIdentity&Version=2011-06-15',\n\t\t\tmethod: 'POST',\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAqB;AAUrB,0BAA8B;AAEvB,MAAM,UAAU;AAAA,EACtB;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../credentials/Aws.credentials.ts"],"sourcesContent":["import type { Request } from 'aws4';\nimport { sign } from 'aws4';\nimport type {\n\tICredentialDataDecryptedObject,\n\tICredentialTestRequest,\n\tICredentialType,\n\tIDataObject,\n\tIHttpRequestOptions,\n\tINodeProperties,\n\tIRequestOptions,\n} from 'n8n-workflow';\nimport { isObjectEmpty } from 'n8n-workflow';\n\nexport const regions = [\n\t{\n\t\tname: 'af-south-1',\n\t\tdisplayName: 'Africa',\n\t\tlocation: 'Cape Town',\n\t},\n\t{\n\t\tname: 'ap-east-1',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Hong Kong',\n\t},\n\t{\n\t\tname: 'ap-south-1',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Mumbai',\n\t},\n\t{\n\t\tname: 'ap-south-2',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Hyderabad',\n\t},\n\t{\n\t\tname: 'ap-southeast-1',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Singapore',\n\t},\n\t{\n\t\tname: 'ap-southeast-2',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Sydney',\n\t},\n\t{\n\t\tname: 'ap-southeast-3',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Jakarta',\n\t},\n\t{\n\t\tname: 'ap-southeast-4',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Melbourne',\n\t},\n\t{\n\t\tname: 'ap-southeast-5',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Malaysia',\n\t},\n\t{\n\t\tname: 'ap-southeast-7',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Thailand',\n\t},\n\t{\n\t\tname: 'ap-northeast-1',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Tokyo',\n\t},\n\t{\n\t\tname: 'ap-northeast-2',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Seoul',\n\t},\n\t{\n\t\tname: 'ap-northeast-3',\n\t\tdisplayName: 'Asia Pacific',\n\t\tlocation: 'Osaka',\n\t},\n\t{\n\t\tname: 'ca-central-1',\n\t\tdisplayName: 'Canada',\n\t\tlocation: 'Central',\n\t},\n\t{\n\t\tname: 'ca-west-1',\n\t\tdisplayName: 'Canada West',\n\t\tlocation: 'Calgary',\n\t},\n\t{\n\t\tname: 'cn-north-1',\n\t\tdisplayName: 'China',\n\t\tlocation: 'Beijing',\n\t},\n\t{\n\t\tname: 'cn-northwest-1',\n\t\tdisplayName: 'China',\n\t\tlocation: 'Ningxia',\n\t},\n\t{\n\t\tname: 'eu-central-1',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Frankfurt',\n\t},\n\t{\n\t\tname: 'eu-central-2',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Zurich',\n\t},\n\t{\n\t\tname: 'eu-north-1',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Stockholm',\n\t},\n\t{\n\t\tname: 'eu-south-1',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Milan',\n\t},\n\t{\n\t\tname: 'eu-south-2',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Spain',\n\t},\n\t{\n\t\tname: 'eu-west-1',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Ireland',\n\t},\n\t{\n\t\tname: 'eu-west-2',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'London',\n\t},\n\t{\n\t\tname: 'eu-west-3',\n\t\tdisplayName: 'Europe',\n\t\tlocation: 'Paris',\n\t},\n\t{\n\t\tname: 'il-central-1',\n\t\tdisplayName: 'Israel',\n\t\tlocation: 'Tel Aviv',\n\t},\n\t{\n\t\tname: 'me-central-1',\n\t\tdisplayName: 'Middle East',\n\t\tlocation: 'UAE',\n\t},\n\t{\n\t\tname: 'me-south-1',\n\t\tdisplayName: 'Middle East',\n\t\tlocation: 'Bahrain',\n\t},\n\t{\n\t\tname: 'mx-central-1',\n\t\tdisplayName: 'Mexico',\n\t\tlocation: 'Central',\n\t},\n\t{\n\t\tname: 'sa-east-1',\n\t\tdisplayName: 'South America',\n\t\tlocation: 'São Paulo',\n\t},\n\t{\n\t\tname: 'us-east-1',\n\t\tdisplayName: 'US East',\n\t\tlocation: 'N. Virginia',\n\t},\n\t{\n\t\tname: 'us-east-2',\n\t\tdisplayName: 'US East',\n\t\tlocation: 'Ohio',\n\t},\n\t{\n\t\tname: 'us-gov-east-1',\n\t\tdisplayName: 'US East',\n\t\tlocation: 'GovCloud',\n\t},\n\t{\n\t\tname: 'us-west-1',\n\t\tdisplayName: 'US West',\n\t\tlocation: 'N. California',\n\t},\n\t{\n\t\tname: 'us-west-2',\n\t\tdisplayName: 'US West',\n\t\tlocation: 'Oregon',\n\t},\n\t{\n\t\tname: 'us-gov-west-1',\n\t\tdisplayName: 'US West',\n\t\tlocation: 'GovCloud',\n\t},\n] as const;\n\nexport type AWSRegion = (typeof regions)[number]['name'];\nexport type AwsCredentialsType = {\n\tregion: AWSRegion;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\ttemporaryCredentials: boolean;\n\tcustomEndpoints: boolean;\n\tsessionToken?: string;\n\trekognitionEndpoint?: string;\n\tlambdaEndpoint?: string;\n\tsnsEndpoint?: string;\n\tsesEndpoint?: string;\n\tsqsEndpoint?: string;\n\ts3Endpoint?: string;\n\tssmEndpoint?: string;\n};\n\n// Some AWS services are global and don't have a region\n// https://docs.aws.amazon.com/general/latest/gr/rande.html#global-endpoints\n// Example: iam.amazonaws.com (global), s3.us-east-1.amazonaws.com (regional)\nfunction parseAwsUrl(url: URL): { region: AWSRegion | null; service: string } {\n\tconst [service, region] = url.hostname.replace('amazonaws.com', '').split('.');\n\treturn { service, region: region as AWSRegion };\n}\n\nexport class Aws implements ICredentialType {\n\tname = 'aws';\n\n\tdisplayName = 'AWS';\n\n\tdocumentationUrl = 'aws';\n\n\ticon = { light: 'file:icons/AWS.svg', dark: 'file:icons/AWS.dark.svg' } as const;\n\n\tproperties: INodeProperties[] = [\n\t\t{\n\t\t\tdisplayName: 'Region',\n\t\t\tname: 'region',\n\t\t\ttype: 'options',\n\t\t\toptions: regions.map((r) => ({\n\t\t\t\tname: `${r.displayName} (${r.location}) - ${r.name}`,\n\t\t\t\tvalue: r.name,\n\t\t\t})),\n\t\t\tdefault: 'us-east-1',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Access Key ID',\n\t\t\tname: 'accessKeyId',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Secret Access Key',\n\t\t\tname: 'secretAccessKey',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\ttypeOptions: {\n\t\t\t\tpassword: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Temporary Security Credentials',\n\t\t\tname: 'temporaryCredentials',\n\t\t\tdescription: 'Support for temporary credentials from AWS STS',\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Session Token',\n\t\t\tname: 'sessionToken',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\ttemporaryCredentials: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\ttypeOptions: {\n\t\t\t\tpassword: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Custom Endpoints',\n\t\t\tname: 'customEndpoints',\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Rekognition Endpoint',\n\t\t\tname: 'rekognitionEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and Rekognition using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://rekognition.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Lambda Endpoint',\n\t\t\tname: 'lambdaEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and Lambda using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://lambda.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'SNS Endpoint',\n\t\t\tname: 'snsEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SNS using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://sns.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'SES Endpoint',\n\t\t\tname: 'sesEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SES using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://email.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'SQS Endpoint',\n\t\t\tname: 'sqsEndpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SQS using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://sqs.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'S3 Endpoint',\n\t\t\tname: 's3Endpoint',\n\t\t\tdescription:\n\t\t\t\t'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and S3 using a VPC endpoint. Leave blank to use the default endpoint.',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://s3.{region}.amazonaws.com',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'SSM Endpoint',\n\t\t\tname: 'ssmEndpoint',\n\t\t\tdescription: 'Endpoint for AWS Systems Manager (SSM)',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\tcustomEndpoints: [true],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'https://ssm.{region}.amazonaws.com',\n\t\t},\n\t];\n\n\tasync authenticate(\n\t\trawCredentials: ICredentialDataDecryptedObject,\n\t\trequestOptions: IHttpRequestOptions,\n\t): Promise<IHttpRequestOptions> {\n\t\tconst credentials = rawCredentials as AwsCredentialsType;\n\t\tlet endpoint: URL;\n\t\tlet service = requestOptions.qs?.service as string;\n\t\tlet path = (requestOptions.qs?.path as string) ?? '';\n\t\tconst method = requestOptions.method;\n\t\tlet body = requestOptions.body;\n\n\t\tlet region = credentials.region;\n\t\tif (requestOptions.qs?._region) {\n\t\t\tregion = requestOptions.qs._region as AWSRegion;\n\t\t\tdelete requestOptions.qs._region;\n\t\t}\n\n\t\tlet query = requestOptions.qs?.query as IDataObject;\n\t\t// ! Workaround as we still use the IRequestOptions interface which uses uri instead of url\n\t\t// ! To change when we replace the interface with IHttpRequestOptions\n\t\tconst requestWithUri = requestOptions as unknown as IRequestOptions;\n\t\tif (requestWithUri.uri) {\n\t\t\trequestOptions.url = requestWithUri.uri;\n\t\t\tendpoint = new URL(requestOptions.url);\n\t\t\tif (service === 'sts') {\n\t\t\t\ttry {\n\t\t\t\t\tif (requestWithUri.qs?.Action !== 'GetCallerIdentity') {\n\t\t\t\t\t\tquery = requestWithUri.qs as IDataObject;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tendpoint.searchParams.set('Action', 'GetCallerIdentity');\n\t\t\t\t\t\tendpoint.searchParams.set('Version', '2011-06-15');\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error(err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst parsed = parseAwsUrl(endpoint);\n\t\t\tservice = parsed.service;\n\t\t\tif (parsed.region) {\n\t\t\t\tregion = parsed.region;\n\t\t\t}\n\t\t} else {\n\t\t\tif (!requestOptions.baseURL && !requestOptions.url) {\n\t\t\t\tlet endpointString: string;\n\t\t\t\tif (service === 'lambda' && credentials.lambdaEndpoint) {\n\t\t\t\t\tendpointString = credentials.lambdaEndpoint;\n\t\t\t\t} else if (service === 'sns' && credentials.snsEndpoint) {\n\t\t\t\t\tendpointString = credentials.snsEndpoint;\n\t\t\t\t} else if (service === 'sqs' && credentials.sqsEndpoint) {\n\t\t\t\t\tendpointString = credentials.sqsEndpoint;\n\t\t\t\t} else if (service === 's3' && credentials.s3Endpoint) {\n\t\t\t\t\tendpointString = credentials.s3Endpoint;\n\t\t\t\t} else if (service === 'ses' && credentials.sesEndpoint) {\n\t\t\t\t\tendpointString = credentials.sesEndpoint;\n\t\t\t\t} else if (service === 'rekognition' && credentials.rekognitionEndpoint) {\n\t\t\t\t\tendpointString = credentials.rekognitionEndpoint;\n\t\t\t\t} else if (service) {\n\t\t\t\t\tendpointString = `https://${service}.${region}.amazonaws.com`;\n\t\t\t\t} else if (service === 'ssm' && credentials.ssmEndpoint) {\n\t\t\t\t\tendpointString = credentials.ssmEndpoint;\n\t\t\t\t}\n\t\t\t\tendpoint = new URL(endpointString!.replace('{region}', region) + path);\n\t\t\t} else {\n\t\t\t\t// If no endpoint is set, we try to decompose the path and use the default endpoint\n\t\t\t\tconst customUrl = new URL(`${requestOptions.baseURL!}${requestOptions.url}${path}`);\n\t\t\t\tconst parsed = parseAwsUrl(customUrl);\n\t\t\t\tservice = parsed.service;\n\t\t\t\tif (parsed.region) {\n\t\t\t\t\tregion = parsed.region;\n\t\t\t\t}\n\t\t\t\tif (service === 'sts') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tcustomUrl.searchParams.set('Action', 'GetCallerIdentity');\n\t\t\t\t\t\tcustomUrl.searchParams.set('Version', '2011-06-15');\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tendpoint = customUrl;\n\t\t\t}\n\t\t}\n\n\t\tif (query && Object.keys(query).length !== 0) {\n\t\t\tObject.keys(query).forEach((key) => {\n\t\t\t\tendpoint.searchParams.append(key, query[key] as string);\n\t\t\t});\n\t\t}\n\n\t\tif (body && typeof body === 'object' && isObjectEmpty(body)) {\n\t\t\tbody = '';\n\t\t}\n\n\t\tpath = endpoint.pathname + endpoint.search;\n\n\t\t// ! aws4.sign *must* have the body to sign, but we might have .form instead of .body\n\t\tconst requestWithForm = requestOptions as unknown as { form?: Record<string, string> };\n\t\tlet bodyContent = body !== '' ? body : undefined;\n\t\tlet contentTypeHeader: string | undefined = undefined;\n\t\tif (requestWithForm.form) {\n\t\t\tconst params = new URLSearchParams();\n\t\t\tfor (const key in requestWithForm.form) {\n\t\t\t\tparams.append(key, requestWithForm.form[key]);\n\t\t\t}\n\t\t\tbodyContent = params.toString();\n\t\t\tcontentTypeHeader = 'application/x-www-form-urlencoded';\n\t\t}\n\n\t\tconst signOpts = {\n\t\t\t...requestOptions,\n\t\t\theaders: {\n\t\t\t\t...(requestOptions.headers ?? {}),\n\t\t\t\t...(contentTypeHeader && { 'content-type': contentTypeHeader }),\n\t\t\t},\n\t\t\thost: endpoint.host,\n\t\t\tmethod,\n\t\t\tpath,\n\t\t\tbody: bodyContent,\n\t\t\tregion,\n\t\t} as Request;\n\n\t\tconst securityHeaders = {\n\t\t\taccessKeyId: `${credentials.accessKeyId}`.trim(),\n\t\t\tsecretAccessKey: `${credentials.secretAccessKey}`.trim(),\n\t\t\tsessionToken: credentials.temporaryCredentials\n\t\t\t\t? `${credentials.sessionToken}`.trim()\n\t\t\t\t: undefined,\n\t\t};\n\t\ttry {\n\t\t\tsign(signOpts, securityHeaders);\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t}\n\t\tconst options: IHttpRequestOptions = {\n\t\t\t...requestOptions,\n\t\t\theaders: signOpts.headers,\n\t\t\tmethod,\n\t\t\turl: endpoint.origin + path,\n\t\t\tbody: signOpts.body,\n\t\t\tqs: undefined, // override since it's already in the url\n\t\t};\n\n\t\treturn options;\n\t}\n\n\ttest: ICredentialTestRequest = {\n\t\trequest: {\n\t\t\tbaseURL: '=https://sts.{{$credentials.region}}.amazonaws.com',\n\t\t\turl: '?Action=GetCallerIdentity&Version=2011-06-15',\n\t\t\tmethod: 'POST',\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAqB;AAUrB,0BAA8B;AAEvB,MAAM,UAAU;AAAA,EACtB;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACX;AAAA,EACA;AAAA,IACC,MAAM;AAAA,IACN,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","names":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var JinaAiApi_credentials_exports = {};
|
|
20
|
+
__export(JinaAiApi_credentials_exports, {
|
|
21
|
+
JinaAiApi: () => JinaAiApi
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(JinaAiApi_credentials_exports);
|
|
24
|
+
class JinaAiApi {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.name = "jinaAiApi";
|
|
27
|
+
this.displayName = "Jina AI API";
|
|
28
|
+
this.documentationUrl = "jinaAi";
|
|
29
|
+
this.properties = [
|
|
30
|
+
{
|
|
31
|
+
displayName: "API Key",
|
|
32
|
+
name: "apiKey",
|
|
33
|
+
type: "string",
|
|
34
|
+
typeOptions: { password: true },
|
|
35
|
+
default: ""
|
|
36
|
+
}
|
|
37
|
+
];
|
|
38
|
+
this.authenticate = {
|
|
39
|
+
type: "generic",
|
|
40
|
+
properties: {
|
|
41
|
+
headers: {
|
|
42
|
+
Authorization: "=Bearer {{ $credentials?.apiKey }}"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
this.test = {
|
|
47
|
+
request: {
|
|
48
|
+
method: "GET",
|
|
49
|
+
url: "https://embeddings-dashboard-api.jina.ai/api/v1/api_key/fe_user",
|
|
50
|
+
qs: {
|
|
51
|
+
api_key: "={{$credentials.apiKey}}"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
58
|
+
0 && (module.exports = {
|
|
59
|
+
JinaAiApi
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=JinaAiApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../credentials/JinaAiApi.credentials.ts"],"sourcesContent":["import type {\n\tIAuthenticateGeneric,\n\tICredentialTestRequest,\n\tICredentialType,\n\tINodeProperties,\n} from 'n8n-workflow';\n\nexport class JinaAiApi implements ICredentialType {\n\tname = 'jinaAiApi';\n\n\tdisplayName = 'Jina AI API';\n\n\tdocumentationUrl = 'jinaAi';\n\n\tproperties: INodeProperties[] = [\n\t\t{\n\t\t\tdisplayName: 'API Key',\n\t\t\tname: 'apiKey',\n\t\t\ttype: 'string',\n\t\t\ttypeOptions: { password: true },\n\t\t\tdefault: '',\n\t\t},\n\t];\n\n\tauthenticate: IAuthenticateGeneric = {\n\t\ttype: 'generic',\n\t\tproperties: {\n\t\t\theaders: {\n\t\t\t\tAuthorization: '=Bearer {{ $credentials?.apiKey }}',\n\t\t\t},\n\t\t},\n\t};\n\n\ttest: ICredentialTestRequest = {\n\t\trequest: {\n\t\t\tmethod: 'GET',\n\t\t\turl: 'https://embeddings-dashboard-api.jina.ai/api/v1/api_key/fe_user',\n\t\t\tqs: {\n\t\t\t\tapi_key: '={{$credentials.apiKey}}',\n\t\t\t},\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,UAAqC;AAAA,EAA3C;AACN,gBAAO;AAEP,uBAAc;AAEd,4BAAmB;AAEnB,sBAAgC;AAAA,MAC/B;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aAAa,EAAE,UAAU,KAAK;AAAA,QAC9B,SAAS;AAAA,MACV;AAAA,IACD;AAEA,wBAAqC;AAAA,MACpC,MAAM;AAAA,MACN,YAAY;AAAA,QACX,SAAS;AAAA,UACR,eAAe;AAAA,QAChB;AAAA,MACD;AAAA,IACD;AAEA,gBAA+B;AAAA,MAC9B,SAAS;AAAA,QACR,QAAQ;AAAA,QACR,KAAK;AAAA,QACL,IAAI;AAAA,UACH,SAAS;AAAA,QACV;AAAA,MACD;AAAA,IACD;AAAA;AACD;","names":[]}
|
|
@@ -28,7 +28,7 @@ class MicrosoftAzureCosmosDbSharedKeyApi {
|
|
|
28
28
|
constructor() {
|
|
29
29
|
this.name = "microsoftAzureCosmosDbSharedKeyApi";
|
|
30
30
|
this.displayName = "Microsoft Azure Cosmos DB API";
|
|
31
|
-
this.documentationUrl = "
|
|
31
|
+
this.documentationUrl = "azurecosmosdb";
|
|
32
32
|
this.properties = [
|
|
33
33
|
{
|
|
34
34
|
displayName: "Account",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../credentials/MicrosoftAzureCosmosDbSharedKeyApi.credentials.ts"],"sourcesContent":["import { createHmac } from 'crypto';\nimport type {\n\tICredentialDataDecryptedObject,\n\tICredentialType,\n\tICredentialTestRequest,\n\tIHttpRequestOptions,\n\tINodeProperties,\n\tIRequestOptions,\n} from 'n8n-workflow';\nimport { OperationalError } from 'n8n-workflow';\n\nimport {\n\tCURRENT_VERSION,\n\tHeaderConstants,\n\tRESOURCE_TYPES,\n} from '../nodes/Microsoft/AzureCosmosDb/helpers/constants';\n\nexport class MicrosoftAzureCosmosDbSharedKeyApi implements ICredentialType {\n\tname = 'microsoftAzureCosmosDbSharedKeyApi';\n\n\tdisplayName = 'Microsoft Azure Cosmos DB API';\n\n\tdocumentationUrl = '
|
|
1
|
+
{"version":3,"sources":["../../credentials/MicrosoftAzureCosmosDbSharedKeyApi.credentials.ts"],"sourcesContent":["import { createHmac } from 'crypto';\nimport type {\n\tICredentialDataDecryptedObject,\n\tICredentialType,\n\tICredentialTestRequest,\n\tIHttpRequestOptions,\n\tINodeProperties,\n\tIRequestOptions,\n} from 'n8n-workflow';\nimport { OperationalError } from 'n8n-workflow';\n\nimport {\n\tCURRENT_VERSION,\n\tHeaderConstants,\n\tRESOURCE_TYPES,\n} from '../nodes/Microsoft/AzureCosmosDb/helpers/constants';\n\nexport class MicrosoftAzureCosmosDbSharedKeyApi implements ICredentialType {\n\tname = 'microsoftAzureCosmosDbSharedKeyApi';\n\n\tdisplayName = 'Microsoft Azure Cosmos DB API';\n\n\tdocumentationUrl = 'azurecosmosdb';\n\n\tproperties: INodeProperties[] = [\n\t\t{\n\t\t\tdisplayName: 'Account',\n\t\t\tname: 'account',\n\t\t\tdefault: '',\n\t\t\tdescription: 'Account name',\n\t\t\trequired: true,\n\t\t\ttype: 'string',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Key',\n\t\t\tname: 'key',\n\t\t\tdefault: '',\n\t\t\tdescription: 'Account key',\n\t\t\trequired: true,\n\t\t\ttype: 'string',\n\t\t\ttypeOptions: {\n\t\t\t\tpassword: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Database',\n\t\t\tname: 'database',\n\t\t\tdefault: '',\n\t\t\tdescription: 'Database name',\n\t\t\trequired: true,\n\t\t\ttype: 'string',\n\t\t},\n\t];\n\n\tasync authenticate(\n\t\tcredentials: ICredentialDataDecryptedObject,\n\t\trequestOptions: IHttpRequestOptions,\n\t): Promise<IHttpRequestOptions> {\n\t\tconst date = new Date().toUTCString();\n\n\t\trequestOptions.headers ??= {};\n\t\trequestOptions.headers = {\n\t\t\t...requestOptions.headers,\n\t\t\t'x-ms-date': date,\n\t\t\t'x-ms-version': CURRENT_VERSION,\n\t\t\t'Cache-Control': 'no-cache',\n\t\t};\n\n\t\t// HttpRequest node uses IRequestOptions.uri\n\t\tconst url = new URL(\n\t\t\t(requestOptions as IRequestOptions).uri ?? requestOptions.baseURL + requestOptions.url,\n\t\t);\n\n\t\tconst pathSegments = url.pathname.split('/').filter(Boolean);\n\n\t\tconst foundResource = RESOURCE_TYPES.map((type) => ({\n\t\t\ttype,\n\t\t\tindex: pathSegments.lastIndexOf(type),\n\t\t}))\n\t\t\t.filter(({ index }) => index !== -1)\n\t\t\t.sort((a, b) => b.index - a.index)\n\t\t\t.shift();\n\n\t\tif (!foundResource) {\n\t\t\tthrow new OperationalError('Unable to determine the resource type from the URL');\n\t\t}\n\n\t\tconst { type, index } = foundResource;\n\t\tconst resourceId =\n\t\t\tpathSegments[index + 1] !== undefined\n\t\t\t\t? `${pathSegments.slice(0, index).join('/')}/${type}/${pathSegments[index + 1]}`\n\t\t\t\t: pathSegments.slice(0, index).join('/');\n\n\t\tconst key = Buffer.from(credentials.key as string, 'base64');\n\t\tconst payload = `${(requestOptions.method ?? 'GET').toLowerCase()}\\n${type.toLowerCase()}\\n${resourceId}\\n${date.toLowerCase()}\\n\\n`;\n\t\tconst hmacSha256 = createHmac('sha256', key);\n\t\tconst signature = hmacSha256.update(payload, 'utf8').digest('base64');\n\n\t\trequestOptions.headers[HeaderConstants.AUTHORIZATION] = encodeURIComponent(\n\t\t\t`type=master&ver=1.0&sig=${signature}`,\n\t\t);\n\n\t\treturn requestOptions;\n\t}\n\n\ttest: ICredentialTestRequest = {\n\t\trequest: {\n\t\t\tbaseURL:\n\t\t\t\t'=https://{{ $credentials.account }}.documents.azure.com/dbs/{{ $credentials.database }}',\n\t\t\turl: '/colls',\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAS3B,0BAAiC;AAEjC,uBAIO;AAEA,MAAM,mCAA8D;AAAA,EAApE;AACN,gBAAO;AAEP,uBAAc;AAEd,4BAAmB;AAEnB,sBAAgC;AAAA,MAC/B;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aAAa;AAAA,QACb,UAAU;AAAA,QACV,MAAM;AAAA,MACP;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aAAa;AAAA,QACb,UAAU;AAAA,QACV,MAAM;AAAA,QACN,aAAa;AAAA,UACZ,UAAU;AAAA,QACX;AAAA,MACD;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aAAa;AAAA,QACb,UAAU;AAAA,QACV,MAAM;AAAA,MACP;AAAA,IACD;AAqDA,gBAA+B;AAAA,MAC9B,SAAS;AAAA,QACR,SACC;AAAA,QACD,KAAK;AAAA,MACN;AAAA,IACD;AAAA;AAAA,EAzDA,MAAM,aACL,aACA,gBAC+B;AAC/B,UAAM,QAAO,oBAAI,KAAK,GAAE,YAAY;AAEpC,mBAAe,YAAY,CAAC;AAC5B,mBAAe,UAAU;AAAA,MACxB,GAAG,eAAe;AAAA,MAClB,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,IAClB;AAGA,UAAM,MAAM,IAAI;AAAA,MACd,eAAmC,OAAO,eAAe,UAAU,eAAe;AAAA,IACpF;AAEA,UAAM,eAAe,IAAI,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO;AAE3D,UAAM,gBAAgB,gCAAe,IAAI,CAACA,WAAU;AAAA,MACnD,MAAAA;AAAA,MACA,OAAO,aAAa,YAAYA,KAAI;AAAA,IACrC,EAAE,EACA,OAAO,CAAC,EAAE,OAAAC,OAAM,MAAMA,WAAU,EAAE,EAClC,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAChC,MAAM;AAER,QAAI,CAAC,eAAe;AACnB,YAAM,IAAI,qCAAiB,oDAAoD;AAAA,IAChF;AAEA,UAAM,EAAE,MAAM,MAAM,IAAI;AACxB,UAAM,aACL,aAAa,QAAQ,CAAC,MAAM,SACzB,GAAG,aAAa,MAAM,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,aAAa,QAAQ,CAAC,CAAC,KAC5E,aAAa,MAAM,GAAG,KAAK,EAAE,KAAK,GAAG;AAEzC,UAAM,MAAM,OAAO,KAAK,YAAY,KAAe,QAAQ;AAC3D,UAAM,UAAU,IAAI,eAAe,UAAU,OAAO,YAAY,CAAC;AAAA,EAAK,KAAK,YAAY,CAAC;AAAA,EAAK,UAAU;AAAA,EAAK,KAAK,YAAY,CAAC;AAAA;AAAA;AAC9H,UAAM,iBAAa,0BAAW,UAAU,GAAG;AAC3C,UAAM,YAAY,WAAW,OAAO,SAAS,MAAM,EAAE,OAAO,QAAQ;AAEpE,mBAAe,QAAQ,iCAAgB,aAAa,IAAI;AAAA,MACvD,2BAA2B,SAAS;AAAA,IACrC;AAEA,WAAO;AAAA,EACR;AASD;","names":["type","index"]}
|
|
@@ -152,6 +152,7 @@
|
|
|
152
152
|
"awsSns",
|
|
153
153
|
"awsSnsTrigger",
|
|
154
154
|
"awsCertificateManager",
|
|
155
|
+
"awsCognito",
|
|
155
156
|
"awsComprehend",
|
|
156
157
|
"awsDynamoDb",
|
|
157
158
|
"awsElb",
|
|
@@ -1314,6 +1315,13 @@
|
|
|
1314
1315
|
"jenkins"
|
|
1315
1316
|
]
|
|
1316
1317
|
},
|
|
1318
|
+
"jinaAiApi": {
|
|
1319
|
+
"className": "JinaAiApi",
|
|
1320
|
+
"sourcePath": "dist/credentials/JinaAiApi.credentials.js",
|
|
1321
|
+
"supportedNodes": [
|
|
1322
|
+
"jinaAi"
|
|
1323
|
+
]
|
|
1324
|
+
},
|
|
1317
1325
|
"jiraSoftwareCloudApi": {
|
|
1318
1326
|
"className": "JiraSoftwareCloudApi",
|
|
1319
1327
|
"sourcePath": "dist/credentials/JiraSoftwareCloudApi.credentials.js",
|
package/dist/known/nodes.json
CHANGED
|
@@ -95,6 +95,10 @@
|
|
|
95
95
|
"className": "AwsCertificateManager",
|
|
96
96
|
"sourcePath": "dist/nodes/Aws/CertificateManager/AwsCertificateManager.node.js"
|
|
97
97
|
},
|
|
98
|
+
"awsCognito": {
|
|
99
|
+
"className": "AwsCognito",
|
|
100
|
+
"sourcePath": "dist/nodes/Aws/Cognito/AwsCognito.node.js"
|
|
101
|
+
},
|
|
98
102
|
"awsComprehend": {
|
|
99
103
|
"className": "AwsComprehend",
|
|
100
104
|
"sourcePath": "dist/nodes/Aws/Comprehend/AwsComprehend.node.js"
|
|
@@ -759,6 +763,10 @@
|
|
|
759
763
|
"className": "Jenkins",
|
|
760
764
|
"sourcePath": "dist/nodes/Jenkins/Jenkins.node.js"
|
|
761
765
|
},
|
|
766
|
+
"jinaAi": {
|
|
767
|
+
"className": "JinaAi",
|
|
768
|
+
"sourcePath": "dist/nodes/JinaAI/JinaAi.node.js"
|
|
769
|
+
},
|
|
762
770
|
"jira": {
|
|
763
771
|
"className": "Jira",
|
|
764
772
|
"sourcePath": "dist/nodes/Jira/Jira.node.js"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"properties": {
|
|
4
|
+
"data": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"modelResponse": {
|
|
8
|
+
"type": "string"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"meta": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"requestId": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"status": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"usage": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"credits": {
|
|
25
|
+
"type": "integer"
|
|
26
|
+
},
|
|
27
|
+
"id": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"warnings": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"items": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"properties": {
|
|
39
|
+
"message": {
|
|
40
|
+
"type": "string"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"version": 1
|
|
47
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var AwsCognito_node_exports = {};
|
|
20
|
+
__export(AwsCognito_node_exports, {
|
|
21
|
+
AwsCognito: () => AwsCognito
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(AwsCognito_node_exports);
|
|
24
|
+
var import_n8n_workflow = require("n8n-workflow");
|
|
25
|
+
var import_descriptions = require("./descriptions");
|
|
26
|
+
var import_utils = require("./helpers/utils");
|
|
27
|
+
var import_methods = require("./methods");
|
|
28
|
+
class AwsCognito {
|
|
29
|
+
constructor() {
|
|
30
|
+
this.description = {
|
|
31
|
+
displayName: "AWS Cognito",
|
|
32
|
+
name: "awsCognito",
|
|
33
|
+
icon: {
|
|
34
|
+
light: "file:cognito.svg",
|
|
35
|
+
dark: "file:cognito.svg"
|
|
36
|
+
},
|
|
37
|
+
group: ["output"],
|
|
38
|
+
version: 1,
|
|
39
|
+
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
40
|
+
description: "Sends data to AWS Cognito",
|
|
41
|
+
defaults: {
|
|
42
|
+
name: "AWS Cognito"
|
|
43
|
+
},
|
|
44
|
+
inputs: [import_n8n_workflow.NodeConnectionTypes.Main],
|
|
45
|
+
outputs: [import_n8n_workflow.NodeConnectionTypes.Main],
|
|
46
|
+
credentials: [
|
|
47
|
+
{
|
|
48
|
+
name: "aws",
|
|
49
|
+
required: true
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
requestDefaults: {
|
|
53
|
+
headers: {
|
|
54
|
+
"Content-Type": "application/x-amz-json-1.1"
|
|
55
|
+
},
|
|
56
|
+
qs: {
|
|
57
|
+
service: "cognito-idp",
|
|
58
|
+
_region: "={{$credentials.region}}"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
properties: [
|
|
62
|
+
{
|
|
63
|
+
displayName: "Resource",
|
|
64
|
+
name: "resource",
|
|
65
|
+
type: "options",
|
|
66
|
+
noDataExpression: true,
|
|
67
|
+
default: "user",
|
|
68
|
+
routing: {
|
|
69
|
+
send: {
|
|
70
|
+
preSend: [import_utils.preSendStringifyBody]
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
options: [
|
|
74
|
+
{
|
|
75
|
+
name: "Group",
|
|
76
|
+
value: "group"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: "User",
|
|
80
|
+
value: "user"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: "User Pool",
|
|
84
|
+
value: "userPool"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
...import_descriptions.group.description,
|
|
89
|
+
...import_descriptions.user.description,
|
|
90
|
+
...import_descriptions.userPool.description
|
|
91
|
+
]
|
|
92
|
+
};
|
|
93
|
+
this.methods = {
|
|
94
|
+
listSearch: import_methods.listSearch
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
99
|
+
0 && (module.exports = {
|
|
100
|
+
AwsCognito
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=AwsCognito.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../nodes/Aws/Cognito/AwsCognito.node.ts"],"sourcesContent":["import type { INodeType, INodeTypeDescription } from 'n8n-workflow';\nimport { NodeConnectionTypes } from 'n8n-workflow';\n\nimport { group, user, userPool } from './descriptions';\nimport { preSendStringifyBody } from './helpers/utils';\nimport { listSearch } from './methods';\n\nexport class AwsCognito implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'AWS Cognito',\n\t\tname: 'awsCognito',\n\t\ticon: {\n\t\t\tlight: 'file:cognito.svg',\n\t\t\tdark: 'file:cognito.svg',\n\t\t},\n\t\tgroup: ['output'],\n\t\tversion: 1,\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Sends data to AWS Cognito',\n\t\tdefaults: {\n\t\t\tname: 'AWS Cognito',\n\t\t},\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'aws',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\trequestDefaults: {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-amz-json-1.1',\n\t\t\t},\n\t\t\tqs: {\n\t\t\t\tservice: 'cognito-idp',\n\t\t\t\t_region: '={{$credentials.region}}',\n\t\t\t},\n\t\t},\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\tdefault: 'user',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tpreSend: [preSendStringifyBody],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Group',\n\t\t\t\t\t\tvalue: 'group',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'User',\n\t\t\t\t\t\tvalue: 'user',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'User Pool',\n\t\t\t\t\t\tvalue: 'userPool',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t...group.description,\n\t\t\t...user.description,\n\t\t\t...userPool.description,\n\t\t],\n\t};\n\n\tmethods = {\n\t\tlistSearch,\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAoC;AAEpC,0BAAsC;AACtC,mBAAqC;AACrC,qBAA2B;AAEpB,MAAM,WAAgC;AAAA,EAAtC;AACN,uBAAoC;AAAA,MACnC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,MACP;AAAA,MACA,OAAO,CAAC,QAAQ;AAAA,MAChB,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,QACT,MAAM;AAAA,MACP;AAAA,MACA,QAAQ,CAAC,wCAAoB,IAAI;AAAA,MACjC,SAAS,CAAC,wCAAoB,IAAI;AAAA,MAClC,aAAa;AAAA,QACZ;AAAA,UACC,MAAM;AAAA,UACN,UAAU;AAAA,QACX;AAAA,MACD;AAAA,MACA,iBAAiB;AAAA,QAChB,SAAS;AAAA,UACR,gBAAgB;AAAA,QACjB;AAAA,QACA,IAAI;AAAA,UACH,SAAS;AAAA,UACT,SAAS;AAAA,QACV;AAAA,MACD;AAAA,MACA,YAAY;AAAA,QACX;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,kBAAkB;AAAA,UAClB,SAAS;AAAA,UACT,SAAS;AAAA,YACR,MAAM;AAAA,cACL,SAAS,CAAC,iCAAoB;AAAA,YAC/B;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,QACA,GAAG,0BAAM;AAAA,QACT,GAAG,yBAAK;AAAA,QACR,GAAG,6BAAS;AAAA,MACb;AAAA,IACD;AAEA,mBAAU;AAAA,MACT;AAAA,IACD;AAAA;AACD;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-base.awsCognito",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Development"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [
|
|
8
|
+
{
|
|
9
|
+
"url": "https://docs.n8n.io/integrations/builtin/credentials/aws/"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"primaryDocumentation": [
|
|
13
|
+
{
|
|
14
|
+
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.awscognito/"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="2140" height="2500" viewBox="0 0 256 299" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M208.752 58.061l25.771-6.636.192.283.651 155.607-.843.846-5.31.227-20.159-3.138-.302-.794V58.061M59.705 218.971l.095.007 68.027 19.767.173.133.296.236-.096 59.232-.2.252-68.295-33.178v-46.449" fill="#7A3E65"/><path d="M208.752 204.456l-80.64 19.312-40.488-9.773-27.919 4.976L128 238.878l105.405-28.537 1.118-2.18-25.771-3.705" fill="#CFB2C1"/><path d="M196.295 79.626l-.657-.749-66.904-19.44-.734.283-.672-.343L22.052 89.734l-.575.703.845.463 24.075 3.53.851-.289 80.64-19.311 40.488 9.773 27.919-4.977" fill="#512843"/><path d="M47.248 240.537l-25.771 6.221-.045-.149-1.015-155.026 1.06-1.146 25.771 3.704v146.396" fill="#C17B9E"/><path d="M82.04 180.403l45.96 5.391.345-.515.187-71.887-.532-.589-45.96 5.392v62.208" fill="#7A3E65"/><path d="M173.96 180.403L128 185.794v-72.991l45.96 5.392v62.208M196.295 79.626L128 59.72V0l68.295 33.177v46.449" fill="#C17B9E"/><path d="M128 0L0 61.793v175.011l21.477 9.954V90.437L128 59.72V0" fill="#7A3E65"/><path d="M234.523 51.425v156.736L128 238.878v59.72l128-61.794V61.793l-21.477-10.368" fill="#C17B9E"/></svg>
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var common_description_exports = {};
|
|
20
|
+
__export(common_description_exports, {
|
|
21
|
+
groupResourceLocator: () => groupResourceLocator,
|
|
22
|
+
userPoolResourceLocator: () => userPoolResourceLocator,
|
|
23
|
+
userResourceLocator: () => userResourceLocator
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(common_description_exports);
|
|
26
|
+
const userPoolResourceLocator = {
|
|
27
|
+
displayName: "User Pool",
|
|
28
|
+
name: "userPool",
|
|
29
|
+
required: true,
|
|
30
|
+
type: "resourceLocator",
|
|
31
|
+
default: {
|
|
32
|
+
mode: "list",
|
|
33
|
+
value: ""
|
|
34
|
+
},
|
|
35
|
+
routing: {
|
|
36
|
+
send: {
|
|
37
|
+
type: "body",
|
|
38
|
+
property: "UserPoolId"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
modes: [
|
|
42
|
+
{
|
|
43
|
+
displayName: "From list",
|
|
44
|
+
name: "list",
|
|
45
|
+
type: "list",
|
|
46
|
+
typeOptions: {
|
|
47
|
+
searchListMethod: "searchUserPools",
|
|
48
|
+
searchable: true
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
displayName: "By ID",
|
|
53
|
+
name: "id",
|
|
54
|
+
type: "string",
|
|
55
|
+
validation: [
|
|
56
|
+
{
|
|
57
|
+
type: "regex",
|
|
58
|
+
properties: {
|
|
59
|
+
regex: "^[\\w-]+_[0-9a-zA-Z]+$",
|
|
60
|
+
errorMessage: 'The ID must follow the pattern "xxxxxx_xxxxxxxxxxx"'
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
placeholder: "e.g. eu-central-1_ab12cdefgh"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
};
|
|
68
|
+
const groupResourceLocator = {
|
|
69
|
+
displayName: "Group",
|
|
70
|
+
name: "group",
|
|
71
|
+
default: {
|
|
72
|
+
mode: "list",
|
|
73
|
+
value: ""
|
|
74
|
+
},
|
|
75
|
+
routing: {
|
|
76
|
+
send: {
|
|
77
|
+
type: "body",
|
|
78
|
+
property: "GroupName"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
modes: [
|
|
82
|
+
{
|
|
83
|
+
displayName: "From list",
|
|
84
|
+
name: "list",
|
|
85
|
+
type: "list",
|
|
86
|
+
typeOptions: {
|
|
87
|
+
searchListMethod: "searchGroups",
|
|
88
|
+
searchable: true
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
displayName: "By Name",
|
|
93
|
+
name: "groupName",
|
|
94
|
+
type: "string",
|
|
95
|
+
hint: "Enter the group name",
|
|
96
|
+
validation: [
|
|
97
|
+
{
|
|
98
|
+
type: "regex",
|
|
99
|
+
properties: {
|
|
100
|
+
regex: "^[\\w+=,.@-]+$",
|
|
101
|
+
errorMessage: "The group name must follow the allowed pattern."
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
placeholder: "e.g. Admins"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
required: true,
|
|
109
|
+
type: "resourceLocator"
|
|
110
|
+
};
|
|
111
|
+
const userResourceLocator = {
|
|
112
|
+
displayName: "User",
|
|
113
|
+
name: "user",
|
|
114
|
+
default: {
|
|
115
|
+
mode: "list",
|
|
116
|
+
value: ""
|
|
117
|
+
},
|
|
118
|
+
modes: [
|
|
119
|
+
{
|
|
120
|
+
displayName: "From List",
|
|
121
|
+
name: "list",
|
|
122
|
+
type: "list",
|
|
123
|
+
typeOptions: {
|
|
124
|
+
searchListMethod: "searchUsers",
|
|
125
|
+
searchable: true
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
displayName: "By ID",
|
|
130
|
+
name: "id",
|
|
131
|
+
type: "string",
|
|
132
|
+
hint: "Enter the user ID",
|
|
133
|
+
placeholder: "e.g. 02bd9fd6-8f93-4758-87c3-1fb73740a315",
|
|
134
|
+
validation: [
|
|
135
|
+
{
|
|
136
|
+
type: "regex",
|
|
137
|
+
properties: {
|
|
138
|
+
regex: "^[\\w-]+-[0-9a-zA-Z]+$",
|
|
139
|
+
errorMessage: 'The ID must follow the pattern "xxxxxx-xxxxxxxxxxx"'
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
routing: {
|
|
146
|
+
send: {
|
|
147
|
+
type: "body",
|
|
148
|
+
property: "Username"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
required: true,
|
|
152
|
+
type: "resourceLocator"
|
|
153
|
+
};
|
|
154
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
155
|
+
0 && (module.exports = {
|
|
156
|
+
groupResourceLocator,
|
|
157
|
+
userPoolResourceLocator,
|
|
158
|
+
userResourceLocator
|
|
159
|
+
});
|
|
160
|
+
//# sourceMappingURL=common.description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../nodes/Aws/Cognito/descriptions/common.description.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nexport const userPoolResourceLocator: INodeProperties = {\n\tdisplayName: 'User Pool',\n\tname: 'userPool',\n\trequired: true,\n\ttype: 'resourceLocator',\n\tdefault: {\n\t\tmode: 'list',\n\t\tvalue: '',\n\t},\n\trouting: {\n\t\tsend: {\n\t\t\ttype: 'body',\n\t\t\tproperty: 'UserPoolId',\n\t\t},\n\t},\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From list',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'searchUserPools',\n\t\t\t\tsearchable: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'By ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t\tvalidation: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'regex',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tregex: '^[\\\\w-]+_[0-9a-zA-Z]+$',\n\t\t\t\t\t\terrorMessage: 'The ID must follow the pattern \"xxxxxx_xxxxxxxxxxx\"',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tplaceholder: 'e.g. eu-central-1_ab12cdefgh',\n\t\t},\n\t],\n};\n\nexport const groupResourceLocator: INodeProperties = {\n\tdisplayName: 'Group',\n\tname: 'group',\n\tdefault: {\n\t\tmode: 'list',\n\t\tvalue: '',\n\t},\n\trouting: {\n\t\tsend: {\n\t\t\ttype: 'body',\n\t\t\tproperty: 'GroupName',\n\t\t},\n\t},\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From list',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'searchGroups',\n\t\t\t\tsearchable: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'By Name',\n\t\t\tname: 'groupName',\n\t\t\ttype: 'string',\n\t\t\thint: 'Enter the group name',\n\t\t\tvalidation: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'regex',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tregex: '^[\\\\w+=,.@-]+$',\n\t\t\t\t\t\terrorMessage: 'The group name must follow the allowed pattern.',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tplaceholder: 'e.g. Admins',\n\t\t},\n\t],\n\trequired: true,\n\ttype: 'resourceLocator',\n};\n\nexport const userResourceLocator: INodeProperties = {\n\tdisplayName: 'User',\n\tname: 'user',\n\tdefault: {\n\t\tmode: 'list',\n\t\tvalue: '',\n\t},\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From List',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'searchUsers',\n\t\t\t\tsearchable: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'By ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t\thint: 'Enter the user ID',\n\t\t\tplaceholder: 'e.g. 02bd9fd6-8f93-4758-87c3-1fb73740a315',\n\t\t\tvalidation: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'regex',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tregex: '^[\\\\w-]+-[0-9a-zA-Z]+$',\n\t\t\t\t\t\terrorMessage: 'The ID must follow the pattern \"xxxxxx-xxxxxxxxxxx\"',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n\trouting: {\n\t\tsend: {\n\t\t\ttype: 'body',\n\t\t\tproperty: 'Username',\n\t\t},\n\t},\n\trequired: true,\n\ttype: 'resourceLocator',\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,0BAA2C;AAAA,EACvD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EACR;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACD;AAAA,EACA,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,QAClB,YAAY;AAAA,MACb;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,YAAY;AAAA,QACX;AAAA,UACC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,OAAO;AAAA,YACP,cAAc;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAAA,MACA,aAAa;AAAA,IACd;AAAA,EACD;AACD;AAEO,MAAM,uBAAwC;AAAA,EACpD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EACR;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACD;AAAA,EACA,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,QAClB,YAAY;AAAA,MACb;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,YAAY;AAAA,QACX;AAAA,UACC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,OAAO;AAAA,YACP,cAAc;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAAA,MACA,aAAa;AAAA,IACd;AAAA,EACD;AAAA,EACA,UAAU;AAAA,EACV,MAAM;AACP;AAEO,MAAM,sBAAuC;AAAA,EACnD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EACR;AAAA,EACA,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,QAClB,YAAY;AAAA,MACb;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACX;AAAA,UACC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,OAAO;AAAA,YACP,cAAc;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACD;AAAA,EACA,UAAU;AAAA,EACV,MAAM;AACP;","names":[]}
|