0

Update Membership of Member on a Board

by
Published Oct 30, 2023

Update an existing board by id

Script trello Verified

The script

Submitted by hugo697 Typescript (fetch-only)
Verified 398 days ago
1
type Trello = {
2
  key: string;
3
  token: string;
4
};
5
/**
6
 * Update Membership of Member on a Board
7
 * Update an existing board by id
8
 */
9
export async function main(
10
  auth: Trello,
11
  id: string,
12
  idMembership: string,
13
  type: "admin" | "normal" | "observer" | undefined,
14
  member_fields:
15
    | "all"
16
    | "avatarHash"
17
    | "bio"
18
    | "bioData"
19
    | "confirmed"
20
    | "fullName"
21
    | "idPremOrgsAdmin"
22
    | "initials"
23
    | "memberType"
24
    | "products"
25
    | "status"
26
    | "url"
27
    | "username"
28
    | undefined
29
) {
30
  const url = new URL(
31
    `https://api.trello.com/1/boards/${id}/memberships/${idMembership}`
32
  );
33
  for (const [k, v] of [
34
    ["type", type],
35
    ["member_fields", member_fields],
36
    ["key", auth.key],
37
    ["token", auth.token],
38
  ]) {
39
    if (v !== undefined && v !== "") {
40
      url.searchParams.append(k, v);
41
    }
42
  }
43
  const response = await fetch(url, {
44
    method: "PUT",
45
    headers: {
46
      Authorization: undefined,
47
    },
48
    body: undefined,
49
  });
50
  if (!response.ok) {
51
    const text = await response.text();
52
    throw new Error(`${response.status} ${text}`);
53
  }
54
  return await response.text();
55
}
56