Edits history of script submission #20457 for ' Create an Update Request (smartsheet)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Smartsheet = {
      token: string;
      baseUrl: string;
    };
    /**
     * Create an Update Request
     * Creates an update request for the specified rows within the sheet.
     */
    export async function main(
      auth: Smartsheet,
      sheetId: string,
      body: {
        ccMe?: false | true;
        message?: string;
        sendTo?: { email?: string } | { groupId?: number }[];
        subject?: string;
      } & {
        id?: number;
        createdAt?: string | number;
        modifiedAt?: string | number;
        schedule?: {
          type?: "ONCE" | "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY";
          dayDescriptors?:
            | "DAY"
            | "WEEKDAY"
            | "WEEKEND"
            | "SUNDAY"
            | "MONDAY"
            | "TUESDAY"
            | "WEDNESDAY"
            | "THURSDAY"
            | "FRIDAY"
            | "SATURDAY"[];
          dayOfMonth?: number;
          dayOrdinal?: "FIRST" | "LAST" | "SECOND" | "THIRD" | "FOURTH";
          repeatEvery?: number;
          endAt?: ({} & string) | ({} & number);
          lastSentAt?: ({} & string) | ({} & number);
          nextSendAt?: ({} & string) | ({} & number);
          startAt?: ({} & string) | ({} & number);
        };
        sentBy?: { email?: string; name?: string };
      },
    ) {
      const url = new URL(
        `${auth.baseUrl}/sheets/${sheetId}/updaterequests`,
      );
    
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "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 235 days ago