Files
alighasami 3d5eaf9445
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
first commit
2026-03-17 16:22:57 +03:30

44 lines
1.3 KiB
TypeScript

import type { ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
import { facebookFormList, facebookPageList } from '../GenericFunctions';
const filterMatches = (name: string, filter?: string): boolean =>
!filter || name?.toLowerCase().includes(filter.toLowerCase());
export async function pageList(
this: ILoadOptionsFunctions,
filter?: string,
paginationToken?: string,
): Promise<INodeListSearchResult> {
const { data: pages, paging } = await facebookPageList.call(this, paginationToken);
return {
results: pages
.filter((page) => filterMatches(page.name, filter))
.map((page) => ({
name: page.name,
value: page.id,
url: `https://facebook.com/${page.id}`,
})),
paginationToken: paging?.next ? paging?.cursors?.after : undefined,
};
}
export async function formList(
this: ILoadOptionsFunctions,
filter?: string,
paginationToken?: string,
): Promise<INodeListSearchResult> {
const pageId = this.getNodeParameter('page', '', { extractValue: true }) as string;
const { data: forms, paging } = await facebookFormList.call(this, pageId, paginationToken);
return {
results: forms
.filter((form) => filterMatches(form.name, filter))
.map((form) => ({
name: form.name,
value: form.id,
})),
paginationToken: paging?.next ? paging?.cursors?.after : undefined,
};
}