1 | |
2 | type Telnyx = { |
3 | apiKey: string |
4 | } |
5 | |
6 | * List all porting orders |
7 | * Returns a list of your porting order. |
8 | */ |
9 | export async function main( |
10 | auth: Telnyx, |
11 | page_number_: string | undefined, |
12 | page_size_: string | undefined, |
13 | include_phone_numbers: string | undefined, |
14 | filter_status_: |
15 | | 'draft' |
16 | | 'in-process' |
17 | | 'submitted' |
18 | | 'exception' |
19 | | 'foc-date-confirmed' |
20 | | 'cancel-pending' |
21 | | 'ported' |
22 | | 'cancelled' |
23 | | undefined, |
24 | filter_status__in___: |
25 | | 'draft' |
26 | | 'in-process' |
27 | | 'submitted' |
28 | | 'exception' |
29 | | 'foc-date-confirmed' |
30 | | 'cancel-pending' |
31 | | 'ported' |
32 | | 'cancelled' |
33 | | undefined, |
34 | filter_customer_reference_: string | undefined, |
35 | filter_parent_support_key_: string | undefined, |
36 | filter_phone_numbers_country_code_: string | undefined, |
37 | filter_phone_numbers_carrier_name_: string | undefined, |
38 | filter_misc_type_: 'full' | 'partial' | undefined, |
39 | filter_end_user_admin_entity_name_: string | undefined, |
40 | filter_end_user_admin_auth_person_name_: string | undefined, |
41 | filter_activation_settings_fast_port_eligible_: string | undefined, |
42 | filter_activation_settings_foc_datetime_requested__gt_: string | undefined, |
43 | filter_activation_settings_foc_datetime_requested__lt_: string | undefined, |
44 | filter_phone_numbers_phone_number__contains_: string | undefined, |
45 | sort__: |
46 | | 'created_at' |
47 | | '-created_at' |
48 | | 'activation_settings.foc_datetime_requested' |
49 | | '-activation_settings.foc_datetime_requested' |
50 | | undefined |
51 | ) { |
52 | const url = new URL(`https://api.telnyx.com/v2/porting_orders`) |
53 | for (const [k, v] of [ |
54 | ['page[number]', page_number_], |
55 | ['page[size]', page_size_], |
56 | ['include_phone_numbers', include_phone_numbers], |
57 | ['filter[status]', filter_status_], |
58 | ['filter[status][in][]', filter_status__in___], |
59 | ['filter[customer_reference]', filter_customer_reference_], |
60 | ['filter[parent_support_key]', filter_parent_support_key_], |
61 | ['filter[phone_numbers.country_code]', filter_phone_numbers_country_code_], |
62 | ['filter[phone_numbers.carrier_name]', filter_phone_numbers_carrier_name_], |
63 | ['filter[misc.type]', filter_misc_type_], |
64 | ['filter[end_user.admin.entity_name]', filter_end_user_admin_entity_name_], |
65 | ['filter[end_user.admin.auth_person_name]', filter_end_user_admin_auth_person_name_], |
66 | [ |
67 | 'filter[activation_settings.fast_port_eligible]', |
68 | filter_activation_settings_fast_port_eligible_ |
69 | ], |
70 | [ |
71 | 'filter[activation_settings.foc_datetime_requested][gt]', |
72 | filter_activation_settings_foc_datetime_requested__gt_ |
73 | ], |
74 | [ |
75 | 'filter[activation_settings.foc_datetime_requested][lt]', |
76 | filter_activation_settings_foc_datetime_requested__lt_ |
77 | ], |
78 | ['filter[phone_numbers.phone_number][contains]', filter_phone_numbers_phone_number__contains_], |
79 | ['sort[]', sort__] |
80 | ]) { |
81 | if (v !== undefined && v !== '' && k !== undefined) { |
82 | url.searchParams.append(k, v) |
83 | } |
84 | } |
85 | const response = await fetch(url, { |
86 | method: 'GET', |
87 | headers: { |
88 | Authorization: 'Bearer ' + auth.apiKey |
89 | }, |
90 | body: undefined |
91 | }) |
92 | if (!response.ok) { |
93 | const text = await response.text() |
94 | throw new Error(`${response.status} ${text}`) |
95 | } |
96 | return await response.json() |
97 | } |
98 |
|