Edits history of script submission #20401 for ' List updated content (shutterstock)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Shutterstock = {
      token: string;
    };
    /**
     * List updated content
     * This endpoint lists editorial images that have been updated in the specified time period to update content management systems (CMS) or digital asset management (DAM) systems. In most cases, use the date_updated_start and date_updated_end parameters to specify a range updates based on when the updates happened. You can also use the date_taken_start and date_taken_end parameters to specify a range of updates based on when the image was taken.
     */
    export async function main(
      auth: Shutterstock,
      _type: "edit" | "addition" | undefined,
      date_updated_start: string | undefined,
      date_updated_end: string | undefined,
      date_taken_start: string | undefined,
      date_taken_end: string | undefined,
      cursor: string | undefined,
      sort: "newest" | "oldest" | undefined,
      supplier_code: string | undefined,
      country: string | undefined,
      per_page: string | undefined,
    ) {
      const url = new URL(
        `https://api.shutterstock.com/v2/editorial/images/updated`,
      );
      for (const [k, v] of [
        ["type", _type],
        ["date_updated_start", date_updated_start],
        ["date_updated_end", date_updated_end],
        ["date_taken_start", date_taken_start],
        ["date_taken_end", date_taken_end],
        ["cursor", cursor],
        ["sort", sort],
        ["supplier_code", supplier_code],
        ["country", country],
        ["per_page", per_page],
      ]) {
        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 235 days ago