1
//native
2
type Buttondown = {
3
token: string;
4
};
5
/**
6
* Update Tag
7
*
8
*/
9
export async function main(
10
auth: Buttondown,
11
id: string,
12
body: {
13
name?: string;
14
color?: string;
15
description?: string;
16
secondary_id?: number;
17
},
18
) {
19
const url = new URL(`https://api.buttondown.com/v1/tags/${id}`);
20
21
const response = await fetch(url, {
22
method: "PATCH",
23
headers: {
24
"Content-Type": "application/json",
25
Authorization: "Token " + auth.token,
26
27
body: JSON.stringify(body),
28
});
29
if (!response.ok) {
30
const text = await response.text();
31
throw new Error(`${response.status} ${text}`);
32
}
33
return await response.json();
34
35