mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
user interface, user data handling logic
This commit is contained in:
@@ -25,6 +25,7 @@ import { streamFields, streamOperations } from './StreamDescription';
|
||||
import { userOperations, userFields } from './UserDescription';
|
||||
import { IStream } from './StreamInterface';
|
||||
import { validateJSON } from './GenericFunctions';
|
||||
import { IUser } from './UserInterface';
|
||||
|
||||
export class Zulip implements INodeType {
|
||||
description: INodeTypeDescription = {
|
||||
@@ -311,7 +312,7 @@ export class Zulip implements INodeType {
|
||||
if (operation === 'delete') {
|
||||
const streamId = this.getNodeParameter('streamId', i) as string;
|
||||
|
||||
responseData = await zulipApiRequest.call(this, 'POST', `streams/${streamId}`, {});
|
||||
responseData = await zulipApiRequest.call(this, 'POST', `/streams/${streamId}`, {});
|
||||
}
|
||||
|
||||
if (operation === 'update') {
|
||||
@@ -361,6 +362,74 @@ export class Zulip implements INodeType {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (resource === 'user') {
|
||||
const body : IUser = {};
|
||||
|
||||
if (operation === 'get') {
|
||||
const userId = this.getNodeParameter('userId', i) as string;
|
||||
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||
|
||||
if (additionalFields.clientGravatar) {
|
||||
body.client_gravatar = additionalFields.client_gravatar as boolean;
|
||||
}
|
||||
if (additionalFields.includeCustomProfileFields) {
|
||||
body.include_custom_profile_fields = additionalFields.includeCustomProfileFields as boolean;
|
||||
}
|
||||
|
||||
responseData = await zulipApiRequest.call(this, 'GET', `/users/${userId}`, body);
|
||||
|
||||
}
|
||||
|
||||
if (operation === 'getAll') {
|
||||
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||
|
||||
if (additionalFields.clientGravatar) {
|
||||
body.client_gravatar = additionalFields.client_gravatar as boolean;
|
||||
}
|
||||
if (additionalFields.includeCustomProfileFields) {
|
||||
body.include_custom_profile_fields = additionalFields.includeCustomProfileFields as boolean;
|
||||
}
|
||||
|
||||
responseData = await zulipApiRequest.call(this, 'GET', `/users`, body);
|
||||
}
|
||||
|
||||
if (operation === 'create') {
|
||||
body.email = this.getNodeParameter('email', i) as string;
|
||||
body.password = this.getNodeParameter('password', i) as string;
|
||||
body.full_name = this.getNodeParameter('fullName', i) as string;
|
||||
body.short_name = this.getNodeParameter('shortName', i) as string;
|
||||
|
||||
responseData = await zulipApiRequest.call(this, 'POST', `/users`, body);
|
||||
}
|
||||
|
||||
if (operation === 'update') {
|
||||
const userId = this.getNodeParameter('userId', i) as string;
|
||||
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||
|
||||
if (additionalFields.fullName) {
|
||||
body.full_name = additionalFields.fullName as string;
|
||||
}
|
||||
if (additionalFields.isAdmin) {
|
||||
body.is_admin = additionalFields.isAdmin as boolean;
|
||||
}
|
||||
if (additionalFields.isGuest) {
|
||||
body.is_guest = additionalFields.isGuest as boolean;
|
||||
}
|
||||
if (additionalFields.profileData) {
|
||||
//@ts-ignore
|
||||
body.profile_data = additionalFields.profileData.properties as [{}];
|
||||
}
|
||||
|
||||
responseData = await zulipApiRequest.call(this, 'PATCH', `/users/${userId}`, body);
|
||||
}
|
||||
|
||||
if (operation === 'deactivate') {
|
||||
const userId = this.getNodeParameter('userId', i) as string;
|
||||
|
||||
responseData = await zulipApiRequest.call(this, 'DELETE', `/users/${userId}`, body);
|
||||
}
|
||||
}
|
||||
if (Array.isArray(responseData)) {
|
||||
returnData.push.apply(returnData, responseData as IDataObject[]);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user