mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 01:56:46 +00:00
⚡ Improvements to ClickUp-Node (#921)
This commit is contained in:
@@ -99,7 +99,7 @@ export class ClickUp implements INodeType {
|
||||
{
|
||||
name: 'clickUpApi',
|
||||
required: true,
|
||||
}
|
||||
},
|
||||
],
|
||||
properties: [
|
||||
{
|
||||
@@ -296,7 +296,7 @@ export class ClickUp implements INodeType {
|
||||
const { tags } = await clickupApiRequest.call(this, 'GET', `/space/${spaceId}/tag`);
|
||||
for (const tag of tags) {
|
||||
const tagName = tag.name;
|
||||
const tagId = tag.id;
|
||||
const tagId = tag.name;
|
||||
returnData.push({
|
||||
name: tagName,
|
||||
value: tagId,
|
||||
@@ -320,6 +320,23 @@ export class ClickUp implements INodeType {
|
||||
}
|
||||
return returnData;
|
||||
},
|
||||
|
||||
// Get all the custom fields to display them to user so that he can
|
||||
// select them easily
|
||||
async getCustomFields(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||
const listId = this.getCurrentNodeParameter('list') as string;
|
||||
const returnData: INodePropertyOptions[] = [];
|
||||
const { fields } = await clickupApiRequest.call(this, 'GET', `/list/${listId}/field`);
|
||||
for (const field of fields) {
|
||||
const fieldName = field.name;
|
||||
const fieldId = field.id;
|
||||
returnData.push({
|
||||
name: fieldName,
|
||||
value: fieldId,
|
||||
});
|
||||
}
|
||||
return returnData;
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -846,6 +863,22 @@ export class ClickUp implements INodeType {
|
||||
if (filters.dateUpdatedLt) {
|
||||
qs.date_updated_lt = new Date(filters.dateUpdatedLt as string).getTime();
|
||||
}
|
||||
if (filters.customFieldsUi) {
|
||||
const customFieldsValues = (filters.customFieldsUi as IDataObject).customFieldsValues as IDataObject[];
|
||||
if (customFieldsValues) {
|
||||
const customFields: IDataObject[] = [];
|
||||
for (const customFieldValue of customFieldsValues) {
|
||||
customFields.push({
|
||||
field_id: customFieldValue.fieldId,
|
||||
operator: (customFieldValue.operator === 'equal') ? '=' : customFieldValue.operator,
|
||||
value: customFieldValue.value as string,
|
||||
});
|
||||
}
|
||||
|
||||
qs.custom_fields = JSON.stringify(customFields);
|
||||
}
|
||||
}
|
||||
|
||||
const listId = this.getNodeParameter('list', i) as string;
|
||||
if (returnAll === true) {
|
||||
responseData = await clickupApiRequestAllItems.call(this, 'tasks', 'GET', `/list/${listId}/task`, {}, qs);
|
||||
@@ -855,6 +888,19 @@ export class ClickUp implements INodeType {
|
||||
responseData = responseData.splice(0, qs.limit);
|
||||
}
|
||||
}
|
||||
if (operation === 'member') {
|
||||
const taskId = this.getNodeParameter('id', i) as string;
|
||||
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
|
||||
if (returnAll === true) {
|
||||
responseData = await clickupApiRequest.call(this, 'GET', `/task/${taskId}/member`, {}, qs);
|
||||
responseData = responseData.members;
|
||||
} else {
|
||||
qs.limit = this.getNodeParameter('limit', i) as number;
|
||||
responseData = await clickupApiRequest.call(this, 'GET', `/task/${taskId}/member`, {}, qs);
|
||||
responseData = responseData.members;
|
||||
responseData = responseData.splice(0, qs.limit);
|
||||
}
|
||||
}
|
||||
if (operation === 'setCustomField') {
|
||||
const taskId = this.getNodeParameter('task', i) as string;
|
||||
const fieldId = this.getNodeParameter('field', i) as string;
|
||||
@@ -984,6 +1030,19 @@ export class ClickUp implements INodeType {
|
||||
responseData = await clickupApiRequest.call(this, 'POST', `/folder/${folderId}/list`, body);
|
||||
}
|
||||
}
|
||||
if (operation === 'member') {
|
||||
const listId = this.getNodeParameter('id', i) as string;
|
||||
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
|
||||
if (returnAll === true) {
|
||||
responseData = await clickupApiRequest.call(this, 'GET', `/list/${listId}/member`, {}, qs);
|
||||
responseData = responseData.members;
|
||||
} else {
|
||||
qs.limit = this.getNodeParameter('limit', i) as number;
|
||||
responseData = await clickupApiRequest.call(this, 'GET', `/list/${listId}/member`, {}, qs);
|
||||
responseData = responseData.members;
|
||||
responseData = responseData.splice(0, qs.limit);
|
||||
}
|
||||
}
|
||||
if (operation === 'customFields') {
|
||||
const listId = this.getNodeParameter('list', i) as string;
|
||||
responseData = await clickupApiRequest.call(this, 'GET', `/list/${listId}/field`);
|
||||
|
||||
Reference in New Issue
Block a user