1 | |
2 | type Telnyx = { |
3 | apiKey: string |
4 | } |
5 | |
6 | * View a list of room sessions. |
7 | * |
8 | */ |
9 | export async function main( |
10 | auth: Telnyx, |
11 | room_id: string, |
12 | filter_date_created_at__eq_: string | undefined, |
13 | filter_date_created_at__gte_: string | undefined, |
14 | filter_date_created_at__lte_: string | undefined, |
15 | filter_date_updated_at__eq_: string | undefined, |
16 | filter_date_updated_at__gte_: string | undefined, |
17 | filter_date_updated_at__lte_: string | undefined, |
18 | filter_date_ended_at__eq_: string | undefined, |
19 | filter_date_ended_at__gte_: string | undefined, |
20 | filter_date_ended_at__lte_: string | undefined, |
21 | filter_active_: string | undefined, |
22 | include_participants: string | undefined, |
23 | page_size_: string | undefined, |
24 | page_number_: string | undefined |
25 | ) { |
26 | const url = new URL(`https://api.telnyx.com/v2/rooms/${room_id}/sessions`) |
27 | for (const [k, v] of [ |
28 | ['filter[date_created_at][eq]', filter_date_created_at__eq_], |
29 | ['filter[date_created_at][gte]', filter_date_created_at__gte_], |
30 | ['filter[date_created_at][lte]', filter_date_created_at__lte_], |
31 | ['filter[date_updated_at][eq]', filter_date_updated_at__eq_], |
32 | ['filter[date_updated_at][gte]', filter_date_updated_at__gte_], |
33 | ['filter[date_updated_at][lte]', filter_date_updated_at__lte_], |
34 | ['filter[date_ended_at][eq]', filter_date_ended_at__eq_], |
35 | ['filter[date_ended_at][gte]', filter_date_ended_at__gte_], |
36 | ['filter[date_ended_at][lte]', filter_date_ended_at__lte_], |
37 | ['filter[active]', filter_active_], |
38 | ['include_participants', include_participants], |
39 | ['page[size]', page_size_], |
40 | ['page[number]', page_number_] |
41 | ]) { |
42 | if (v !== undefined && v !== '' && k !== undefined) { |
43 | url.searchParams.append(k, v) |
44 | } |
45 | } |
46 | const response = await fetch(url, { |
47 | method: 'GET', |
48 | headers: { |
49 | Authorization: 'Bearer ' + auth.apiKey |
50 | }, |
51 | body: undefined |
52 | }) |
53 | if (!response.ok) { |
54 | const text = await response.text() |
55 | throw new Error(`${response.status} ${text}`) |
56 | } |
57 | return await response.json() |
58 | } |
59 |
|