Files
Automata/packages/nodes-base/nodes/Mattermost/v1/actions/user/create/execute.ts
Iván Ovejero b03e358a12 refactor: Integrate consistent-type-imports in nodes-base (no-changelog) (#5267)
* 👕 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
2023-01-27 12:22:44 +01:00

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