/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { holidayPayPoliciesAddEmployees } from "../funcs/holidayPayPoliciesAddEmployees.js"; import { holidayPayPoliciesCreate } from "../funcs/holidayPayPoliciesCreate.js"; import { holidayPayPoliciesDelete } from "../funcs/holidayPayPoliciesDelete.js"; import { holidayPayPoliciesGet } from "../funcs/holidayPayPoliciesGet.js"; import { holidayPayPoliciesPreviewPaidHolidays } from "../funcs/holidayPayPoliciesPreviewPaidHolidays.js"; import { holidayPayPoliciesRemoveEmployees } from "../funcs/holidayPayPoliciesRemoveEmployees.js"; import { holidayPayPoliciesUpdate } from "../funcs/holidayPayPoliciesUpdate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { DeleteV1CompaniesCompanyUuidHolidayPayPolicyRequest, DeleteV1CompaniesCompanyUuidHolidayPayPolicyResponse, } from "../models/operations/deletev1companiescompanyuuidholidaypaypolicy.js"; import { GetCompaniesCompanyUuidPaidHolidaysRequest, GetCompaniesCompanyUuidPaidHolidaysResponse, } from "../models/operations/getcompaniescompanyuuidpaidholidays.js"; import { GetV1CompaniesCompanyUuidHolidayPayPolicyRequest, GetV1CompaniesCompanyUuidHolidayPayPolicyResponse, } from "../models/operations/getv1companiescompanyuuidholidaypaypolicy.js"; import { PostV1CompaniesCompanyUuidHolidayPayPolicyRequest, PostV1CompaniesCompanyUuidHolidayPayPolicyResponse, } from "../models/operations/postv1companiescompanyuuidholidaypaypolicy.js"; import { PutV1CompaniesCompanyUuidHolidayPayPolicyRequest, PutV1CompaniesCompanyUuidHolidayPayPolicyResponse, } from "../models/operations/putv1companiescompanyuuidholidaypaypolicy.js"; import { PutV1CompaniesCompanyUuidHolidayPayPolicyAddRequest, PutV1CompaniesCompanyUuidHolidayPayPolicyAddResponse, } from "../models/operations/putv1companiescompanyuuidholidaypaypolicyadd.js"; import { PutV1CompaniesCompanyUuidHolidayPayPolicyRemoveRequest, PutV1CompaniesCompanyUuidHolidayPayPolicyRemoveResponse, } from "../models/operations/putv1companiescompanyuuidholidaypaypolicyremove.js"; import { unwrapAsync } from "../types/fp.js"; export class HolidayPayPolicies extends ClientSDK { /** * Get a company's holiday pay policy * * @remarks * Get a company's holiday pay policy * * scope: `holiday_pay_policies:read` */ async get( request: GetV1CompaniesCompanyUuidHolidayPayPolicyRequest, options?: RequestOptions, ): Promise { return unwrapAsync(holidayPayPoliciesGet( this, request, options, )); } /** * Create a holiday pay policy for a company * * @remarks * Create a holiday pay policy for a company * * scope: `holiday_pay_policies:write` */ async create( request: PostV1CompaniesCompanyUuidHolidayPayPolicyRequest, options?: RequestOptions, ): Promise { return unwrapAsync(holidayPayPoliciesCreate( this, request, options, )); } /** * Update a company's holiday pay policy * * @remarks * Update a company's holiday pay policy * * scope: `holiday_pay_policies:write` */ async update( request: PutV1CompaniesCompanyUuidHolidayPayPolicyRequest, options?: RequestOptions, ): Promise { return unwrapAsync(holidayPayPoliciesUpdate( this, request, options, )); } /** * Delete a company's holiday pay policy * * @remarks * Delete a company's holiday pay policy * * scope: `holiday_pay_policies:write` */ async delete( request: DeleteV1CompaniesCompanyUuidHolidayPayPolicyRequest, options?: RequestOptions, ): Promise { return unwrapAsync(holidayPayPoliciesDelete( this, request, options, )); } /** * Add employees to a company's holiday pay policy * * @remarks * Add employees to a company's holiday pay policy * * scope: `holiday_pay_policies:write` */ async addEmployees( request: PutV1CompaniesCompanyUuidHolidayPayPolicyAddRequest, options?: RequestOptions, ): Promise { return unwrapAsync(holidayPayPoliciesAddEmployees( this, request, options, )); } /** * Remove employees from a company's holiday pay policy * * @remarks * Remove employees from a company's holiday pay policy * * scope: `holiday_pay_policies:write` */ async removeEmployees( request: PutV1CompaniesCompanyUuidHolidayPayPolicyRemoveRequest, options?: RequestOptions, ): Promise { return unwrapAsync(holidayPayPoliciesRemoveEmployees( this, request, options, )); } /** * Preview a company's paid holidays * * @remarks * Preview a company's paid holidays * * If a year is passed, paid holidays for that year will be returned. Otherwise, paid holidays for the next three years will be returned. * * scope: `holiday_pay_policies:read` */ async previewPaidHolidays( request: GetCompaniesCompanyUuidPaidHolidaysRequest, options?: RequestOptions, ): Promise { return unwrapAsync(holidayPayPoliciesPreviewPaidHolidays( this, request, options, )); } }