* 👕 Enable `consistent-type-imports` for nodes-base * 👕 Apply to nodes-base * ⏪ Undo unrelated changes * 🚚 Move to `.eslintrc.js` in nodes-base * ⏪ Revert "Enable `consistent-type-imports` for nodes-base" This reverts commit 529ad72b051478fa1633aaf84b2864f2fdc7613c. * 👕 Fix severity
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import type { IExecuteFunctions } from 'n8n-core';
|
|
|
|
import type { IDataObject, INodeExecutionData } from 'n8n-workflow';
|
|
|
|
import { apiRequest } from '../../../transport';
|
|
|
|
export async function create(
|
|
this: IExecuteFunctions,
|
|
index: number,
|
|
): Promise<INodeExecutionData[]> {
|
|
const username = this.getNodeParameter('username', index) as string;
|
|
const authService = this.getNodeParameter('authService', index) as string;
|
|
const additionalFields = this.getNodeParameter('additionalFields', index);
|
|
|
|
const qs = {} as IDataObject;
|
|
const requestMethod = 'POST';
|
|
const endpoint = 'users';
|
|
const body = {} as IDataObject;
|
|
|
|
body.auth_service = authService;
|
|
|
|
body.username = username;
|
|
Object.assign(body, additionalFields);
|
|
|
|
if (body.notificationUi) {
|
|
body.notify_props = (body.notificationUi as IDataObject).notificationValues;
|
|
}
|
|
|
|
if (authService === 'email') {
|
|
body.email = this.getNodeParameter('email', index) as string;
|
|
body.password = this.getNodeParameter('password', index) as string;
|
|
} else {
|
|
body.auth_data = this.getNodeParameter('authData', index) as string;
|
|
}
|
|
|
|
const responseData = await apiRequest.call(this, requestMethod, endpoint, body, qs);
|
|
|
|
return this.helpers.returnJsonArray(responseData);
|
|
}
|