Edits history of script submission #5667 for ' Upload Worker Module (cloudflare)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Cloudflare = {
      token: string;
      email: string;
      key: string;
    };
    /**
     * Upload Worker Module
     * Upload a worker module.
     */
    export async function main(
      auth: Cloudflare,
      script_name: string,
      account_identifier: string,
      rollback_to: string | undefined,
      body:
        | {
            "<any part name>"?: string[];
            metadata?: {
              bindings?: { [k: string]: unknown }[];
              body_part?: string;
              compatibility_date?: string;
              compatibility_flags?: string[];
              keep_bindings?: string[];
              logpush?: boolean;
              main_module?: string;
              migrations?:
                | ({ new_tag?: string; old_tag?: string; [k: string]: unknown } & {
                    deleted_classes?: string[];
                    new_classes?: string[];
                    renamed_classes?: {
                      from?: string;
                      to?: string;
                      [k: string]: unknown;
                    }[];
                    transferred_classes?: {
                      from?: string;
                      from_script?: string;
                      to?: string;
                      [k: string]: unknown;
                    }[];
                    [k: string]: unknown;
                  })
                | ({ new_tag?: string; old_tag?: string; [k: string]: unknown } & {
                    steps?: {
                      deleted_classes?: string[];
                      new_classes?: string[];
                      renamed_classes?: {
                        from?: string;
                        to?: string;
                        [k: string]: unknown;
                      }[];
                      transferred_classes?: {
                        from?: string;
                        from_script?: string;
                        to?: string;
                        [k: string]: unknown;
                      }[];
                      [k: string]: unknown;
                    }[];
                    [k: string]: unknown;
                  });
              placement?: { mode?: "smart"; [k: string]: unknown };
              tags?: string[];
              tail_consumers?: {
                environment?: string;
                namespace?: string;
                service: string;
                [k: string]: unknown;
              }[];
              usage_model?: "bundled" | "unbound";
              version_tags?: { [k: string]: unknown };
              [k: string]: unknown;
            };
            [k: string]: unknown;
          }
        | { message?: string; [k: string]: unknown }
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/accounts/${account_identifier}/workers/scripts/${script_name}`
      );
      for (const [k, v] of [["rollback_to", rollback_to]]) {
        if (v !== undefined && v !== "") {
          url.searchParams.append(k, v);
        }
      }
      const formData = new FormData();
      for (const [k, v] of Object.entries(body)) {
        if (v !== undefined && v !== "") {
          formData.append(k, String(v));
        }
      }
      const response = await fetch(url, {
        method: "PUT",
        headers: {
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          Authorization: "Bearer " + auth.token,
        },
        body: formData,
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 383 days ago

  • nativets
    type Cloudflare = {
      token: string;
      email: string;
      key: string;
    };
    /**
     * Upload Worker Module
     * Upload a worker module.
     */
    export async function main(
      auth: Cloudflare,
      script_name: string,
      account_identifier: string,
      rollback_to: string | undefined,
      body:
        | {
            "<any part name>"?: string[];
            metadata?: {
              bindings?: { [k: string]: unknown }[];
              body_part?: string;
              compatibility_date?: string;
              compatibility_flags?: string[];
              keep_bindings?: string[];
              logpush?: boolean;
              main_module?: string;
              migrations?:
                | ({ new_tag?: string; old_tag?: string; [k: string]: unknown } & {
                    deleted_classes?: string[];
                    new_classes?: string[];
                    renamed_classes?: {
                      from?: string;
                      to?: string;
                      [k: string]: unknown;
                    }[];
                    transferred_classes?: {
                      from?: string;
                      from_script?: string;
                      to?: string;
                      [k: string]: unknown;
                    }[];
                    [k: string]: unknown;
                  })
                | ({ new_tag?: string; old_tag?: string; [k: string]: unknown } & {
                    steps?: {
                      deleted_classes?: string[];
                      new_classes?: string[];
                      renamed_classes?: {
                        from?: string;
                        to?: string;
                        [k: string]: unknown;
                      }[];
                      transferred_classes?: {
                        from?: string;
                        from_script?: string;
                        to?: string;
                        [k: string]: unknown;
                      }[];
                      [k: string]: unknown;
                    }[];
                    [k: string]: unknown;
                  });
              placement?: { mode?: "smart"; [k: string]: unknown };
              tags?: string[];
              tail_consumers?: {
                environment?: string;
                namespace?: string;
                service: string;
                [k: string]: unknown;
              }[];
              usage_model?: "bundled" | "unbound";
              version_tags?: { [k: string]: unknown };
              [k: string]: unknown;
            };
            [k: string]: unknown;
          }
        | { message?: string; [k: string]: unknown }
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/accounts/${account_identifier}/workers/scripts/${script_name}`
      );
      for (const [k, v] of [["rollback_to", rollback_to]]) {
        if (v !== undefined && v !== "") {
          url.searchParams.append(k, v);
        }
      }
      const formData = new FormData();
      for (const [k, v] of Object.entries(body)) {
        if (v !== undefined && v !== "") {
          formData.append(k, String(v));
        }
      }
      const response = await fetch(url, {
        method: "PUT",
        headers: {
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          Authorization: "Bearer " + auth.token,
        },
        body: formData,
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 810 days ago

  • nativets
    type Cloudflare = {
      token: string;
      email: string;
      key: string;
    };
    /**
     * Upload Worker Module
     * Upload a worker module.
     */
    export async function main(
      auth: Cloudflare,
      script_name: string,
      account_identifier: string,
      rollback_to: string | undefined
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/accounts/${account_identifier}/workers/scripts/${script_name}`
      );
      for (const [k, v] of [["rollback_to", rollback_to]]) {
        if (v !== undefined && v !== "") {
          url.searchParams.append(k, v);
        }
      }
      const response = await fetch(url, {
        method: "PUT",
        headers: {
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          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 920 days ago