mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-14 16:44:07 -08:00
55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
|
import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
|
||
|
import { getSubfolders, microsoftApiRequestAllItems } from '../transport';
|
||
|
|
||
|
export async function getCategoriesNames(
|
||
|
this: ILoadOptionsFunctions,
|
||
|
): Promise<INodePropertyOptions[]> {
|
||
|
const returnData: INodePropertyOptions[] = [];
|
||
|
const categories = await microsoftApiRequestAllItems.call(
|
||
|
this,
|
||
|
'value',
|
||
|
'GET',
|
||
|
'/outlook/masterCategories',
|
||
|
);
|
||
|
for (const category of categories) {
|
||
|
returnData.push({
|
||
|
name: category.displayName as string,
|
||
|
value: category.displayName as string,
|
||
|
});
|
||
|
}
|
||
|
return returnData;
|
||
|
}
|
||
|
|
||
|
export async function getFolders(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||
|
const returnData: INodePropertyOptions[] = [];
|
||
|
const response = await microsoftApiRequestAllItems.call(this, 'value', 'GET', '/mailFolders', {});
|
||
|
const folders = await getSubfolders.call(this, response);
|
||
|
for (const folder of folders) {
|
||
|
returnData.push({
|
||
|
name: folder.displayName as string,
|
||
|
value: folder.id as string,
|
||
|
});
|
||
|
}
|
||
|
return returnData;
|
||
|
}
|
||
|
|
||
|
export async function getCalendarGroups(
|
||
|
this: ILoadOptionsFunctions,
|
||
|
): Promise<INodePropertyOptions[]> {
|
||
|
const returnData: INodePropertyOptions[] = [];
|
||
|
const calendars = await microsoftApiRequestAllItems.call(
|
||
|
this,
|
||
|
'value',
|
||
|
'GET',
|
||
|
'/calendarGroups',
|
||
|
{},
|
||
|
);
|
||
|
for (const calendar of calendars) {
|
||
|
returnData.push({
|
||
|
name: calendar.name as string,
|
||
|
value: calendar.id as string,
|
||
|
});
|
||
|
}
|
||
|
return returnData;
|
||
|
}
|