Edits history of script submission #20834 for ' UpdateWageSetting (square)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Square = {
      token: string;
    };
    /**
     * UpdateWageSetting
     * Creates or updates a `WageSetting` object.
     */
    export async function main(
      auth: Square,
      team_member_id: string,
      body: {
        wage_setting: {
          team_member_id?: string;
          job_assignments?: {
            job_title?: string;
            pay_type: "NONE" | "HOURLY" | "SALARY";
            hourly_rate?: {
              amount?: number;
              currency?:
                | "UNKNOWN_CURRENCY"
                | "AED"
                | "AFN"
                | "ALL"
                | "AMD"
                | "ANG"
                | "AOA"
                | "ARS"
                | "AUD"
                | "AWG"
                | "AZN"
                | "BAM"
                | "BBD"
                | "BDT"
                | "BGN"
                | "BHD"
                | "BIF"
                | "BMD"
                | "BND"
                | "BOB"
                | "BOV"
                | "BRL"
                | "BSD"
                | "BTN"
                | "BWP"
                | "BYR"
                | "BZD"
                | "CAD"
                | "CDF"
                | "CHE"
                | "CHF"
                | "CHW"
                | "CLF"
                | "CLP"
                | "CNY"
                | "COP"
                | "COU"
                | "CRC"
                | "CUC"
                | "CUP"
                | "CVE"
                | "CZK"
                | "DJF"
                | "DKK"
                | "DOP"
                | "DZD"
                | "EGP"
                | "ERN"
                | "ETB"
                | "EUR"
                | "FJD"
                | "FKP"
                | "GBP"
                | "GEL"
                | "GHS"
                | "GIP"
                | "GMD"
                | "GNF"
                | "GTQ"
                | "GYD"
                | "HKD"
                | "HNL"
                | "HRK"
                | "HTG"
                | "HUF"
                | "IDR"
                | "ILS"
                | "INR"
                | "IQD"
                | "IRR"
                | "ISK"
                | "JMD"
                | "JOD"
                | "JPY"
                | "KES"
                | "KGS"
                | "KHR"
                | "KMF"
                | "KPW"
                | "KRW"
                | "KWD"
                | "KYD"
                | "KZT"
                | "LAK"
                | "LBP"
                | "LKR"
                | "LRD"
                | "LSL"
                | "LTL"
                | "LVL"
                | "LYD"
                | "MAD"
                | "MDL"
                | "MGA"
                | "MKD"
                | "MMK"
                | "MNT"
                | "MOP"
                | "MRO"
                | "MUR"
                | "MVR"
                | "MWK"
                | "MXN"
                | "MXV"
                | "MYR"
                | "MZN"
                | "NAD"
                | "NGN"
                | "NIO"
                | "NOK"
                | "NPR"
                | "NZD"
                | "OMR"
                | "PAB"
                | "PEN"
                | "PGK"
                | "PHP"
                | "PKR"
                | "PLN"
                | "PYG"
                | "QAR"
                | "RON"
                | "RSD"
                | "RUB"
                | "RWF"
                | "SAR"
                | "SBD"
                | "SCR"
                | "SDG"
                | "SEK"
                | "SGD"
                | "SHP"
                | "SLL"
                | "SLE"
                | "SOS"
                | "SRD"
                | "SSP"
                | "STD"
                | "SVC"
                | "SYP"
                | "SZL"
                | "THB"
                | "TJS"
                | "TMT"
                | "TND"
                | "TOP"
                | "TRY"
                | "TTD"
                | "TWD"
                | "TZS"
                | "UAH"
                | "UGX"
                | "USD"
                | "USN"
                | "USS"
                | "UYI"
                | "UYU"
                | "UZS"
                | "VEF"
                | "VND"
                | "VUV"
                | "WST"
                | "XAF"
                | "XAG"
                | "XAU"
                | "XBA"
                | "XBB"
                | "XBC"
                | "XBD"
                | "XCD"
                | "XDR"
                | "XOF"
                | "XPD"
                | "XPF"
                | "XPT"
                | "XTS"
                | "XXX"
                | "YER"
                | "ZAR"
                | "ZMK"
                | "ZMW"
                | "BTC"
                | "XUS";
            };
            annual_rate?: {
              amount?: number;
              currency?:
                | "UNKNOWN_CURRENCY"
                | "AED"
                | "AFN"
                | "ALL"
                | "AMD"
                | "ANG"
                | "AOA"
                | "ARS"
                | "AUD"
                | "AWG"
                | "AZN"
                | "BAM"
                | "BBD"
                | "BDT"
                | "BGN"
                | "BHD"
                | "BIF"
                | "BMD"
                | "BND"
                | "BOB"
                | "BOV"
                | "BRL"
                | "BSD"
                | "BTN"
                | "BWP"
                | "BYR"
                | "BZD"
                | "CAD"
                | "CDF"
                | "CHE"
                | "CHF"
                | "CHW"
                | "CLF"
                | "CLP"
                | "CNY"
                | "COP"
                | "COU"
                | "CRC"
                | "CUC"
                | "CUP"
                | "CVE"
                | "CZK"
                | "DJF"
                | "DKK"
                | "DOP"
                | "DZD"
                | "EGP"
                | "ERN"
                | "ETB"
                | "EUR"
                | "FJD"
                | "FKP"
                | "GBP"
                | "GEL"
                | "GHS"
                | "GIP"
                | "GMD"
                | "GNF"
                | "GTQ"
                | "GYD"
                | "HKD"
                | "HNL"
                | "HRK"
                | "HTG"
                | "HUF"
                | "IDR"
                | "ILS"
                | "INR"
                | "IQD"
                | "IRR"
                | "ISK"
                | "JMD"
                | "JOD"
                | "JPY"
                | "KES"
                | "KGS"
                | "KHR"
                | "KMF"
                | "KPW"
                | "KRW"
                | "KWD"
                | "KYD"
                | "KZT"
                | "LAK"
                | "LBP"
                | "LKR"
                | "LRD"
                | "LSL"
                | "LTL"
                | "LVL"
                | "LYD"
                | "MAD"
                | "MDL"
                | "MGA"
                | "MKD"
                | "MMK"
                | "MNT"
                | "MOP"
                | "MRO"
                | "MUR"
                | "MVR"
                | "MWK"
                | "MXN"
                | "MXV"
                | "MYR"
                | "MZN"
                | "NAD"
                | "NGN"
                | "NIO"
                | "NOK"
                | "NPR"
                | "NZD"
                | "OMR"
                | "PAB"
                | "PEN"
                | "PGK"
                | "PHP"
                | "PKR"
                | "PLN"
                | "PYG"
                | "QAR"
                | "RON"
                | "RSD"
                | "RUB"
                | "RWF"
                | "SAR"
                | "SBD"
                | "SCR"
                | "SDG"
                | "SEK"
                | "SGD"
                | "SHP"
                | "SLL"
                | "SLE"
                | "SOS"
                | "SRD"
                | "SSP"
                | "STD"
                | "SVC"
                | "SYP"
                | "SZL"
                | "THB"
                | "TJS"
                | "TMT"
                | "TND"
                | "TOP"
                | "TRY"
                | "TTD"
                | "TWD"
                | "TZS"
                | "UAH"
                | "UGX"
                | "USD"
                | "USN"
                | "USS"
                | "UYI"
                | "UYU"
                | "UZS"
                | "VEF"
                | "VND"
                | "VUV"
                | "WST"
                | "XAF"
                | "XAG"
                | "XAU"
                | "XBA"
                | "XBB"
                | "XBC"
                | "XBD"
                | "XCD"
                | "XDR"
                | "XOF"
                | "XPD"
                | "XPF"
                | "XPT"
                | "XTS"
                | "XXX"
                | "YER"
                | "ZAR"
                | "ZMK"
                | "ZMW"
                | "BTC"
                | "XUS";
            };
            weekly_hours?: number;
            job_id?: string;
          }[];
          is_overtime_exempt?: false | true;
          version?: number;
          created_at?: string;
          updated_at?: string;
        };
      },
    ) {
      const url = new URL(
        `https://connect.squareup.com/v2/team-members/${team_member_id}/wage-setting`,
      );
    
      const response = await fetch(url, {
        method: "PUT",
        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