n8n/packages/nodes-base/nodes/Beeminder/Beeminder.node.functions.ts
Michael Kret 61e26804ba
refactor(core): Remove linting exceptions in nodes-base (#4794)
*  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>
2022-12-02 21:54:28 +01:00

54 lines
1.8 KiB
TypeScript

import { IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-core';
import { IDataObject, IHookFunctions, IWebhookFunctions } from 'n8n-workflow';
import { beeminderApiRequest, beeminderApiRequestAllItems } from './GenericFunctions';
export async function createDatapoint(
this: IExecuteFunctions | IWebhookFunctions | IHookFunctions | ILoadOptionsFunctions,
data: IDataObject,
) {
const credentials = await this.getCredentials('beeminderApi');
const endpoint = `/users/${credentials.user}/goals/${data.goalName}/datapoints.json`;
return beeminderApiRequest.call(this, 'POST', endpoint, data);
}
export async function getAllDatapoints(
this: IExecuteFunctions | IHookFunctions | ILoadOptionsFunctions,
data: IDataObject,
) {
const credentials = await this.getCredentials('beeminderApi');
const endpoint = `/users/${credentials.user}/goals/${data.goalName}/datapoints.json`;
if (data.count !== undefined) {
return beeminderApiRequest.call(this, 'GET', endpoint, {}, data);
}
return beeminderApiRequestAllItems.call(this, 'GET', endpoint, {}, data);
}
export async function updateDatapoint(
this: IExecuteFunctions | IWebhookFunctions | IHookFunctions | ILoadOptionsFunctions,
data: IDataObject,
) {
const credentials = await this.getCredentials('beeminderApi');
const endpoint = `/users/${credentials.user}/goals/${data.goalName}/datapoints/${data.datapointId}.json`;
return beeminderApiRequest.call(this, 'PUT', endpoint, data);
}
export async function deleteDatapoint(
this: IExecuteFunctions | IWebhookFunctions | IHookFunctions | ILoadOptionsFunctions,
data: IDataObject,
) {
const credentials = await this.getCredentials('beeminderApi');
const endpoint = `/users/${credentials.user}/goals/${data.goalName}/datapoints/${data.datapointId}.json`;
return beeminderApiRequest.call(this, 'DELETE', endpoint);
}