( apiBase: string, headers: Record<string, string>, params: Record<string, unknown>, signal?: AbortSignal )
| 589 | } |
| 590 | |
| 591 | async function handleListTemplates( |
| 592 | apiBase: string, |
| 593 | headers: Record<string, string>, |
| 594 | params: Record<string, unknown>, |
| 595 | signal?: AbortSignal |
| 596 | ) { |
| 597 | const queryParams = new URLSearchParams() |
| 598 | if (params.searchText) queryParams.append('search_text', params.searchText as string) |
| 599 | if (params.count) queryParams.append('count', params.count as string) |
| 600 | |
| 601 | const queryString = queryParams.toString() |
| 602 | const url = queryString ? `${apiBase}/templates?${queryString}` : `${apiBase}/templates` |
| 603 | |
| 604 | const response = await fetchDocusign(url, { headers }, signal) |
| 605 | const data = await readDocusignJson(response, 'DocuSign template list response') |
| 606 | |
| 607 | if (!response.ok) { |
| 608 | return NextResponse.json( |
| 609 | { success: false, error: docusignError(data, 'Failed to list templates') }, |
| 610 | { status: response.status } |
| 611 | ) |
| 612 | } |
| 613 | |
| 614 | return NextResponse.json(data) |
| 615 | } |
| 616 | |
| 617 | async function handleListRecipients( |
| 618 | apiBase: string, |
no test coverage detected