Edits history of script submission #10856 for ' List All Actions (digitalocean)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Digitalocean = {
      token: string;
    };
    /**
     * List All Actions
     * This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default.
     */
    export async function main(
      auth: Digitalocean,
      per_page: string | undefined,
      page: string | undefined,
    ) {
      const url = new URL(`https://api.digitalocean.com/v2/actions`);
      for (const [k, v] of [
        ["per_page", per_page],
        ["page", page],
      ]) {
        if (v !== undefined && v !== "" && k !== undefined) {
          url.searchParams.append(k, v);
        }
      }
      const response = await fetch(url, {
        method: "GET",
        headers: {
          Authorization: "Bearer " + auth.token,
        },
        body: undefined,
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 536 days ago