Files
n8n-enterprise-unlocked/packages/nodes-base/nodes/Microsoft/AzureCosmosDb/transport/index.ts
AdinaTotorean b52f9f0f6c feat(Azure Cosmos DB Node): New node (#14156)
Co-authored-by: feelgood-interface <feelgood.interface@gmail.com>
2025-04-09 15:05:33 +01:00

36 lines
985 B
TypeScript

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);
}