export type WorkingPatternHourly = {workingPatternType?: string | undefined, days?: ({sunday?: number | undefined, monday?: number | undefined, tuesday?: number | undefined, wednesday?: number | undefined, thursday?: number | undefined, friday?: number | undefined, saturday?: number | undefined}) | undefined, hoursPerDay?: number | undefined, workingPatternId?: number | undefined}; export type WorkingPatternBiWeekly = {workingPatternType?: string | undefined, firstWeek?: ({sunday?: number | undefined, monday?: number | undefined, tuesday?: number | undefined, wednesday?: number | undefined, thursday?: number | undefined, friday?: number | undefined, saturday?: number | undefined}) | undefined, secondWeek?: ({sunday?: number | undefined, monday?: number | undefined, tuesday?: number | undefined, wednesday?: number | undefined, thursday?: number | undefined, friday?: number | undefined, saturday?: number | undefined}) | undefined, hoursPerDay?: number | undefined, workingPatternId?: number | undefined}; export type WorkingPatternFlexible = {workingPatternType?: string | undefined, weeklyWorkPercentage?: number | undefined}; export type WorkingPatternEntry = WorkingPatternHourly | WorkingPatternBiWeekly | WorkingPatternFlexible; export type EmploymentEntry = {id?: number | undefined, reason?: string | undefined, effectiveDate: string, personalWorkingPatternType?: string | undefined, actualWorkingPattern?: WorkingPatternEntry | undefined, standardWorkingPattern?: Record | undefined, standardWorkingPatternId?: number | undefined, workingPattern?: Record | undefined, siteWorkingPattern?: WorkingPatternHourly | undefined, hoursInDayNotWorked?: number | undefined, weeklyHours?: number | undefined, fte?: number | undefined, calendarName?: string | undefined, calendarId?: number | undefined, contract?: string | undefined, type?: string | undefined, salaryPayType?: string | undefined, endEffectiveDate?: string | undefined, activeEffectiveDate?: string | undefined, isCurrent?: boolean | undefined, canBeDeleted?: boolean | undefined, modificationDate?: string | undefined, CreationDate?: string | undefined, flsaCode?: string | undefined, change?: ({reason?: string | undefined, changedBy?: string | undefined, changedById?: string | undefined}) | undefined}; export type UpdateApiPeopleIdEmploymentEntryIdArgs = {id: string, entry_id: number, body: EmploymentEntry}; export type UpdateApiPeopleIdEmploymentEntryIdOptions = {baseUrl?: string | undefined, Basic?: {username: string, password: string} | undefined, fetch?: typeof fetch | undefined}; /** * Update an employment entry from a given employee's employment history. * * PUT /people/{id}/employment/{entry_id} * * Also accepts auth: Bearer */ export const updateApiPeopleIdEmploymentEntryId = async (args: UpdateApiPeopleIdEmploymentEntryIdArgs, options?: UpdateApiPeopleIdEmploymentEntryIdOptions) => { const {baseUrl = "https://api.hibob.com/v1", fetch: fetchFn = fetch, Basic} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (Basic !== undefined) headers.set('authorization', `Basic ${btoa(`${Basic.username}:${Basic.password}`)}`) const url = `${baseUrl.replace(/\/+$/, '')}/people/${encodeURIComponent(String(args.id))}/employment/${encodeURIComponent(String(args.entry_id))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };