mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-20 19:32:15 +00:00
* ⚡ enabled array-type * ⚡ await-thenable on * ⚡ ban-types on * ⚡ default-param-last on * ⚡ dot-notation on * ⚡ member-delimiter-style on * ⚡ no-duplicate-imports on * ⚡ no-empty-interface on * ⚡ no-floating-promises on * ⚡ no-for-in-array on * ⚡ no-invalid-void-type on * ⚡ no-loop-func on * ⚡ no-shadow on * ⚡ ban-ts-comment re enabled * ⚡ @typescript-eslint/lines-between-class-members on * address my own comment * @typescript-eslint/return-await on * @typescript-eslint/promise-function-async on * @typescript-eslint/no-unnecessary-boolean-literal-compare on * @typescript-eslint/no-unnecessary-type-assertion on * prefer-const on * @typescript-eslint/prefer-optional-chain on Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import { IExecuteFunctions } from 'n8n-core';
|
|
|
|
import { IDataObject, INodeExecutionData, NodeOperationError } from 'n8n-workflow';
|
|
|
|
import { apiRequest } from '../../../transport';
|
|
|
|
export async function updateTicket(
|
|
this: IExecuteFunctions,
|
|
index: number,
|
|
): Promise<INodeExecutionData[]> {
|
|
const id = this.getNodeParameter('ticketId', index) as IDataObject;
|
|
const { assetId, customerId, dueDate, issueType, status, subject, ticketType, contactId } =
|
|
this.getNodeParameter('updateFields', index);
|
|
|
|
const qs = {} as IDataObject;
|
|
const requestMethod = 'PUT';
|
|
const endpoint = `tickets/${id}`;
|
|
let body = {} as IDataObject;
|
|
|
|
body = {
|
|
...(assetId && { asset_id: assetId }),
|
|
...(customerId && { customer_id: customerId }),
|
|
...(dueDate && { due_date: dueDate }),
|
|
...(issueType && { problem_type: issueType }),
|
|
...(status && { status }),
|
|
...(subject && { subject }),
|
|
...(ticketType && { ticket_type: ticketType }),
|
|
...(contactId && { contact_id: contactId }),
|
|
};
|
|
|
|
if (!Object.keys(body).length) {
|
|
throw new NodeOperationError(this.getNode(), 'At least one update fields has to be defined', {
|
|
itemIndex: index,
|
|
});
|
|
}
|
|
|
|
const responseData = await apiRequest.call(this, requestMethod, endpoint, body, qs);
|
|
|
|
return this.helpers.returnJsonArray(responseData.ticket);
|
|
}
|