Replaces all labels in a Source.
1
//native
2
type Segment = {
3
token: string;
4
baseUrl: string;
5
};
6
/**
7
* Replace Labels in Source
8
* Replaces all labels in a Source.
9
*/
10
export async function main(
11
auth: Segment,
12
sourceId: string,
13
body: { labels: { key: string; value: string; description?: string }[] },
14
) {
15
const url = new URL(`${auth.baseUrl}/sources/${sourceId}/labels`);
16
17
const response = await fetch(url, {
18
method: "PUT",
19
headers: {
20
"Content-Type": "application/json",
21
Authorization: "Bearer " + auth.token,
22
},
23
body: JSON.stringify(body),
24
});
25
if (!response.ok) {
26
const text = await response.text();
27
throw new Error(`${response.status} ${text}`);
28
}
29
return await response.json();
30
31