Edits history of script submission #5631 for ' Patch Script Settings (cloudflare)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Cloudflare = {
      token: string;
      email: string;
      key: string;
    };
    /**
     * Patch Script Settings
     * Patch script metadata, such as bindings
     */
    export async function main(
      auth: Cloudflare,
      account_identifier: string,
      dispatch_namespace: string,
      script_name: string,
      body: {
        bindings?: (
          | {
              name: string;
              namespace_id: string;
              type: "kv_namespace";
              [k: string]: unknown;
            }
          | {
              environment: string;
              name: string;
              service: string;
              type: "service";
              [k: string]: unknown;
            }
          | {
              class_name: string;
              environment?: string;
              name: string;
              namespace_id?: string;
              script_name?: string;
              type: "durable_object_namespace";
              [k: string]: unknown;
            }
          | {
              bucket_name: string;
              name: string;
              type: "r2_bucket";
              [k: string]: unknown;
            }
          | {
              name: string;
              queue_name: string;
              type: "queue";
              [k: string]: unknown;
            }
          | {
              binding: string;
              id: string;
              name: string;
              type: "d1";
              [k: string]: unknown;
            }
          | {
              name: string;
              namespace: string;
              outbound?: {
                params?: string[];
                worker?: {
                  environment?: string;
                  service?: string;
                  [k: string]: unknown;
                };
                [k: string]: unknown;
              };
              type: "dispatch_namespace";
              [k: string]: unknown;
            }
          | {
              certificate_id?: string;
              name: string;
              type: "mtls_certificate";
              [k: string]: unknown;
            }
        )[];
        compatibility_date?: string;
        compatibility_flags?: string[];
        logpush?: boolean;
        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?: string;
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/accounts/${account_identifier}/workers/dispatch/namespaces/${dispatch_namespace}/scripts/${script_name}/settings`
      );
    
      const response = await fetch(url, {
        method: "PATCH",
        headers: {
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      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;
    };
    /**
     * Patch Script Settings
     * Patch script metadata, such as bindings
     */
    export async function main(
      auth: Cloudflare,
      account_identifier: string,
      dispatch_namespace: string,
      script_name: string,
      body: {
        bindings?: (
          | {
              name: string;
              namespace_id: string;
              type: "kv_namespace";
              [k: string]: unknown;
            }
          | {
              environment: string;
              name: string;
              service: string;
              type: "service";
              [k: string]: unknown;
            }
          | {
              class_name: string;
              environment?: string;
              name: string;
              namespace_id?: string;
              script_name?: string;
              type: "durable_object_namespace";
              [k: string]: unknown;
            }
          | {
              bucket_name: string;
              name: string;
              type: "r2_bucket";
              [k: string]: unknown;
            }
          | {
              name: string;
              queue_name: string;
              type: "queue";
              [k: string]: unknown;
            }
          | {
              binding: string;
              id: string;
              name: string;
              type: "d1";
              [k: string]: unknown;
            }
          | {
              name: string;
              namespace: string;
              outbound?: {
                params?: string[];
                worker?: {
                  environment?: string;
                  service?: string;
                  [k: string]: unknown;
                };
                [k: string]: unknown;
              };
              type: "dispatch_namespace";
              [k: string]: unknown;
            }
          | {
              certificate_id?: string;
              name: string;
              type: "mtls_certificate";
              [k: string]: unknown;
            }
        )[];
        compatibility_date?: string;
        compatibility_flags?: string[];
        logpush?: boolean;
        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?: string;
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/accounts/${account_identifier}/workers/dispatch/namespaces/${dispatch_namespace}/scripts/${script_name}/settings`
      );
    
      const response = await fetch(url, {
        method: "PATCH",
        headers: {
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 920 days ago