//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