Edits history of script submission #12230 for ' Modify columns of a table (grist)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Grist = {
      apiKey: string;
      host: string;
    };
    /**
     * Modify columns of a table
     *
     */
    export async function main(
      auth: Grist,
      docId: string,
      tableId: string,
      body: {
        columns: {
          id: string;
          fields: {
            type?:
              | "Any"
              | "Text"
              | "Numeric"
              | "Int"
              | "Bool"
              | "Date"
              | "DateTime:<timezone>"
              | "Choice"
              | "ChoiceList"
              | "Ref:<tableId>"
              | "RefList:<tableId>"
              | "Attachments";
            label?: string;
            formula?: string;
            isFormula?: false | true;
            widgetOptions?: string;
            untieColIdFromLabel?: false | true;
            recalcWhen?: number;
            visibleCol?: number;
          } & { recalcDeps?: string } & { colId?: string };
        }[];
      },
    ) {
      const url = new URL(
        `https://${auth.host}/api/docs/${docId}/tables/${tableId}/columns`,
      );
    
      const response = await fetch(url, {
        method: "PATCH",
        headers: {
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.apiKey,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.text();
    }
    

    Submitted by hugo697 428 days ago