mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 01:56:46 +00:00
* add Beeminder node * clean up unused def * add crud ops * update additional properties * support options in methods * ⚡ Improvements to ##1320 * ⚡ Minor improvements to Beeminder Co-authored-by: mutdmour <mutdmour@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
69 lines
2.1 KiB
TypeScript
69 lines
2.1 KiB
TypeScript
import {
|
|
IExecuteFunctions,
|
|
ILoadOptionsFunctions
|
|
} from 'n8n-core';
|
|
|
|
import {
|
|
IDataObject,
|
|
IHookFunctions,
|
|
IWebhookFunctions,
|
|
} from 'n8n-workflow';
|
|
|
|
import {
|
|
beeminderApiRequest,
|
|
beeminderpiRequestAllItems,
|
|
} from './GenericFunctions';
|
|
|
|
export async function createDatapoint(this: IExecuteFunctions | IWebhookFunctions | IHookFunctions | ILoadOptionsFunctions, data: IDataObject) {
|
|
const credentials = this.getCredentials('beeminderApi');
|
|
|
|
if (credentials === undefined) {
|
|
throw new Error('No credentials got returned!');
|
|
}
|
|
|
|
const endpoint = `/users/${credentials.user}/goals/${data.goalName}/datapoints.json`;
|
|
|
|
return await beeminderApiRequest.call(this, 'POST', endpoint, data);
|
|
}
|
|
|
|
export async function getAllDatapoints(this: IExecuteFunctions | IHookFunctions | ILoadOptionsFunctions, data: IDataObject) {
|
|
const credentials = this.getCredentials('beeminderApi');
|
|
|
|
if (credentials === undefined) {
|
|
throw new Error('No credentials got returned!');
|
|
}
|
|
|
|
const endpoint = `/users/${credentials.user}/goals/${data.goalName}/datapoints.json`;
|
|
|
|
if (data.count !== undefined) {
|
|
return beeminderApiRequest.call(this, 'GET', endpoint, {}, data);
|
|
}
|
|
|
|
return await beeminderpiRequestAllItems.call(this, 'GET', endpoint, {}, data);
|
|
}
|
|
|
|
export async function updateDatapoint(this: IExecuteFunctions | IWebhookFunctions | IHookFunctions | ILoadOptionsFunctions, data: IDataObject) {
|
|
const credentials = this.getCredentials('beeminderApi');
|
|
|
|
if (credentials === undefined) {
|
|
throw new Error('No credentials got returned!');
|
|
}
|
|
|
|
const endpoint = `/users/${credentials.user}/goals/${data.goalName}/datapoints/${data.datapointId}.json`;
|
|
|
|
return await beeminderApiRequest.call(this, 'PUT', endpoint, data);
|
|
}
|
|
|
|
export async function deleteDatapoint(this: IExecuteFunctions | IWebhookFunctions | IHookFunctions | ILoadOptionsFunctions, data: IDataObject) {
|
|
const credentials = this.getCredentials('beeminderApi');
|
|
|
|
if (credentials === undefined) {
|
|
throw new Error('No credentials got returned!');
|
|
}
|
|
|
|
const endpoint = `/users/${credentials.user}/goals/${data.goalName}/datapoints/${data.datapointId}.json`;
|
|
|
|
return await beeminderApiRequest.call(this, 'DELETE', endpoint);
|
|
}
|
|
|