Add Harvest update task operations (#1603)

* Add create/update task in Harvest node

*  Small improvements

Co-authored-by: dali <servfrdali@yahoo.fr>
This commit is contained in:
Ricardo Espinoza
2021-04-02 11:56:45 -04:00
committed by GitHub
parent aab6946e9e
commit 7995bd610d
11 changed files with 158 additions and 66 deletions

View File

@@ -54,6 +54,7 @@ import {
taskFields,
taskOperations,
} from './TaskDescription';
import {
timeEntryFields,
timeEntryOperations,
@@ -693,6 +694,37 @@ export class Harvest implements INodeType {
const responseData: IDataObject[] = await getAllResource.call(this, 'tasks', i);
returnData.push.apply(returnData, responseData);
} else if (operation === 'create') {
// ----------------------------------
// create
// ----------------------------------
requestMethod = 'POST';
endpoint = 'tasks';
body.name = this.getNodeParameter('name', i) as string;
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
Object.assign(body, additionalFields);
const responseData = await harvestApiRequest.call(this, requestMethod, qs, endpoint, body);
returnData.push(responseData);
} else if (operation === 'update') {
// ----------------------------------
// update
// ----------------------------------
requestMethod = 'PATCH';
const id = this.getNodeParameter('id', i) as string;
endpoint = `tasks/${id}`;
const updateFields = this.getNodeParameter('updateFields', i) as IDataObject;
Object.assign(qs, updateFields);
const responseData = await harvestApiRequest.call(this, requestMethod, qs, endpoint, body);
returnData.push(responseData);
} else if (operation === 'delete') {
// ----------------------------------
// delete