MCPcopy Create free account
hub / github.com/triggerdotdev/trigger.dev / all

Method all

integrations/typeform/src/responses.ts:36–79  ·  view source on GitHub ↗
(key: IntegrationTaskKey, params: GetAllResponsesParams)

Source from the content-addressed store, hash-verified

34 }
35
36 all(key: IntegrationTaskKey, params: GetAllResponsesParams): Promise<GetAllResponsesResponse> {
37 const pageSize = 50;
38
39 const listResponsesForPage = (before?: string) => {
40 const pageParams = {
41 ...params,
42 submitted_at: "desc",
43 before,
44 pageSize: pageSize,
45 };
46
47 return this.list(`page${before ? `-before-${before}` : ""}`, pageParams);
48 };
49
50 return this.runTask(
51 key,
52 async (client, task) => {
53 // We're going to create a subtask for each page of responses
54 const firstPage = await listResponsesForPage();
55 let token = firstPage.items[firstPage.items.length - 1].token;
56
57 const totalPages = Math.ceil(firstPage.total_items / pageSize);
58 const allResponses = firstPage.items;
59
60 for (let i = 1; i < totalPages; i++) {
61 const page = await listResponsesForPage(token);
62 token = page.items[page.items.length - 1].token;
63 allResponses.push(...page.items);
64 }
65
66 return allResponses;
67 },
68 {
69 name: "Get All Responses",
70 params,
71 properties: [
72 {
73 label: "Form ID",
74 text: params.uid,
75 },
76 ],
77 }
78 );
79 }
80}

Callers

nothing calls this directly

Calls 1

runTaskMethod · 0.45

Tested by

no test coverage detected