Files
Agent-n8n/n8n-n8n-1.109.2/packages/nodes-base/nodes/Microsoft/AzureCosmosDb/transport/index.ts
2025-09-08 04:48:28 +08:00

36 lines
985 B
TypeScript
Executable File

import type {
IDataObject,
IHttpRequestOptions,
IHttpRequestMethods,
ILoadOptionsFunctions,
IExecuteSingleFunctions,
} from 'n8n-workflow';
import type { ICosmosDbCredentials } from '../helpers/interfaces';
export async function azureCosmosDbApiRequest(
this: IExecuteSingleFunctions | ILoadOptionsFunctions,
method: IHttpRequestMethods,
endpoint: string,
body: IDataObject = {},
qs?: IDataObject,
headers?: IDataObject,
returnFullResponse: boolean = false,
): Promise<any> {
const credentialsType = 'microsoftAzureCosmosDbSharedKeyApi';
const credentials = await this.getCredentials<ICosmosDbCredentials>(credentialsType);
const baseUrl = `https://${credentials.account}.documents.azure.com/dbs/${credentials.database}`;
const options: IHttpRequestOptions = {
method,
url: `${baseUrl}${endpoint}`,
json: true,
headers,
body,
qs,
returnFullResponse,
};
return await this.helpers.httpRequestWithAuthentication.call(this, credentialsType, options);
}