1 | |
2 | type Zuplo = { |
3 | apiKey: string |
4 | } |
5 | |
6 | * Gets a consumer |
7 | * Gets a consumer given a bucket name and consumer name. |
8 | */ |
9 | export async function main( |
10 | auth: Zuplo, |
11 | accountName: string, |
12 | bucketName: string, |
13 | consumerName: string, |
14 | include_api_keys: string | undefined, |
15 | key_format: 'none' | 'visible' | 'masked' | undefined, |
16 | include_managers: string | undefined, |
17 | include_manager_invites: string | undefined, |
18 | tag: string | undefined, |
19 | Authorization: string |
20 | ) { |
21 | const url = new URL( |
22 | `https://dev.zuplo.com/v1/accounts/${accountName}/key-buckets/${bucketName}/consumers/${consumerName}` |
23 | ) |
24 | for (const [k, v] of [ |
25 | ['include-api-keys', include_api_keys], |
26 | ['key-format', key_format], |
27 | ['include-managers', include_managers], |
28 | ['include-manager-invites', include_manager_invites], |
29 | ['tag', tag] |
30 | ]) { |
31 | if (v !== undefined && v !== '' && k !== undefined) { |
32 | url.searchParams.append(k, v) |
33 | } |
34 | } |
35 | const response = await fetch(url, { |
36 | method: 'GET', |
37 | headers: { |
38 | Authorization: 'Bearer ' + auth.apiKey |
39 | }, |
40 | body: undefined |
41 | }) |
42 | if (!response.ok) { |
43 | const text = await response.text() |
44 | throw new Error(`${response.status} ${text}`) |
45 | } |
46 | return await response.json() |
47 | } |
48 |
|