Restore a package for an organization
One script reply has been approved by the moderators Verified

Restores an entire package in an organization.

Created by hugo697 807 days ago
Submitted by hugo697 Typescript (fetch-only)
Verified 247 days ago
1
type Github = {
2
  token: string;
3
};
4
/**
5
 * Restore a package for an organization
6
 * Restores an entire package in an organization.
7
 */
8
export async function main(
9
  auth: Github,
10
  package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container",
11
  package_name: string,
12
  org: string,
13
  token: string | undefined
14
) {
15
  const url = new URL(
16
    `https://api.github.com/orgs/${org}/packages/${package_type}/${package_name}/restore`
17
  );
18
  for (const [k, v] of [["token", token]]) {
19
    if (v !== undefined && v !== "") {
20
      url.searchParams.append(k, v);
21
    }
22
  }
23
  const response = await fetch(url, {
24
    method: "POST",
25
    headers: {
26
      Authorization: "Bearer " + auth.token,
27
    },
28
    body: undefined,
29
  });
30
  if (!response.ok) {
31
    const text = await response.text();
32
    throw new Error(`${response.status} ${text}`);
33
  }
34
  return await response.text();
35
}
36