Edits history of script submission #13842 for ' Retrieve project domains by project by id or name (vercel)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Vercel = {
      token: string;
    };
    /**
     * Retrieve project domains by project by id or name
     * Retrieve the domains associated with a given project by passing either the project `id` or `name` in the URL.
     */
    export async function main(
      auth: Vercel,
      idOrName: string,
      production: "true" | "false" | undefined,
      target: "production" | "preview" | undefined,
      customEnvironmentId: string | undefined,
      gitBranch: string | undefined,
      redirects: "true" | "false" | undefined,
      redirect: string | undefined,
      verified: "true" | "false" | undefined,
      limit: string | undefined,
      since: string | undefined,
      until: string | undefined,
      order: "ASC" | "DESC" | undefined,
      teamId: string | undefined,
      slug: string | undefined,
    ) {
      const url = new URL(`https://api.vercel.com/v9/projects/${idOrName}/domains`);
      for (const [k, v] of [
        ["production", production],
        ["target", target],
        ["customEnvironmentId", customEnvironmentId],
        ["gitBranch", gitBranch],
        ["redirects", redirects],
        ["redirect", redirect],
        ["verified", verified],
        ["limit", limit],
        ["since", since],
        ["until", until],
        ["order", order],
        ["teamId", teamId],
        ["slug", slug],
      ]) {
        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 428 days ago