Files
n8n_Demo/n8n-n8n-1.109.2/packages/nodes-base/nodes/SyncroMSP/v1/methods/loadOptions.ts
2025-09-08 04:48:28 +08:00

36 lines
873 B
TypeScript
Executable File

import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
import { NodeOperationError } from 'n8n-workflow';
import { apiRequestAllItems } from '../transport';
// Get all the available channels
export async function getCustomers(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
const endpoint = 'customers';
const responseData = await apiRequestAllItems.call(this, 'GET', endpoint, {});
if (responseData === undefined) {
throw new NodeOperationError(this.getNode(), 'No data got returned');
}
const returnData: INodePropertyOptions[] = [];
for (const data of responseData) {
returnData.push({
name: data.fullname as string,
value: data.id as number,
});
}
returnData.sort((a, b) => {
if (a.name < b.name) {
return -1;
}
if (a.name > b.name) {
return 1;
}
return 0;
});
return returnData;
}