UNPKG

@apideck/node

Version:
1,651 lines (1,397 loc) 68.2 kB
/* tslint:disable */ /* eslint-disable */ /** * Apideck * The Apideck OpenAPI Spec: SDK Optimized * * The version of the OpenAPI document: 10.13.0 * Contact: support@apideck.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { CreateDepartmentResponse, CreateDepartmentResponseFromJSON, CreateEmployeeResponse, CreateEmployeeResponseFromJSON, CreateHrisCompanyResponse, CreateHrisCompanyResponseFromJSON, CreateTimeOffRequestResponse, CreateTimeOffRequestResponseFromJSON, DeleteDepartmentResponse, DeleteDepartmentResponseFromJSON, DeleteEmployeeResponse, DeleteEmployeeResponseFromJSON, DeleteHrisCompanyResponse, DeleteHrisCompanyResponseFromJSON, DeleteTimeOffRequestResponse, DeleteTimeOffRequestResponseFromJSON, Department, DepartmentToJSON, Employee, EmployeesFilter, EmployeesOneFilter, EmployeesSort, EmployeeToJSON, GetDepartmentResponse, GetDepartmentResponseFromJSON, GetDepartmentsResponse, GetDepartmentsResponseFromJSON, GetEmployeePayrollResponse, GetEmployeePayrollResponseFromJSON, GetEmployeePayrollsResponse, GetEmployeePayrollsResponseFromJSON, GetEmployeeResponse, GetEmployeeResponseFromJSON, GetEmployeeSchedulesResponse, GetEmployeeSchedulesResponseFromJSON, GetEmployeesResponse, GetEmployeesResponseFromJSON, GetHrisCompaniesResponse, GetHrisCompaniesResponseFromJSON, GetHrisCompanyResponse, GetHrisCompanyResponseFromJSON, GetPayrollResponse, GetPayrollResponseFromJSON, GetPayrollsResponse, GetPayrollsResponseFromJSON, GetTimeOffRequestResponse, GetTimeOffRequestResponseFromJSON, GetTimeOffRequestsResponse, GetTimeOffRequestsResponseFromJSON, HrisCompany, HrisCompanyToJSON, PassThroughQuery, PayrollsFilter, TimeOffRequest, TimeOffRequestsFilter, TimeOffRequestToJSON, UpdateDepartmentResponse, UpdateDepartmentResponseFromJSON, UpdateEmployeeResponse, UpdateEmployeeResponseFromJSON, UpdateHrisCompanyResponse, UpdateHrisCompanyResponseFromJSON, UpdateTimeOffRequestResponse, UpdateTimeOffRequestResponseFromJSON } from '../models' import * as runtime from '../runtime' export interface HrisApiCompaniesAddRequest { company: HrisCompany raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface HrisApiCompaniesAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number passThrough?: PassThroughQuery fields?: string | null } export interface HrisApiCompaniesDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface HrisApiCompaniesOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface HrisApiCompaniesUpdateRequest { id: string company: HrisCompany consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface HrisApiDepartmentsAddRequest { department: Department raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface HrisApiDepartmentsAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number passThrough?: PassThroughQuery fields?: string | null } export interface HrisApiDepartmentsDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface HrisApiDepartmentsOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface HrisApiDepartmentsUpdateRequest { id: string department: Department consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface HrisApiEmployeePayrollsAllRequest { employeeId: string raw?: boolean consumerId?: string appId?: string serviceId?: string filter?: PayrollsFilter passThrough?: PassThroughQuery fields?: string | null } export interface HrisApiEmployeePayrollsOneRequest { payrollId: string employeeId: string raw?: boolean consumerId?: string appId?: string serviceId?: string fields?: string | null } export interface HrisApiEmployeeSchedulesAllRequest { employeeId: string raw?: boolean consumerId?: string appId?: string serviceId?: string passThrough?: PassThroughQuery fields?: string | null } export interface HrisApiEmployeesAddRequest { employee: Employee raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface HrisApiEmployeesAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number filter?: EmployeesFilter sort?: EmployeesSort passThrough?: PassThroughQuery fields?: string | null } export interface HrisApiEmployeesDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface HrisApiEmployeesOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null filter?: EmployeesOneFilter passThrough?: PassThroughQuery } export interface HrisApiEmployeesUpdateRequest { id: string employee: Employee consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface HrisApiPayrollsAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string filter?: PayrollsFilter passThrough?: PassThroughQuery fields?: string | null } export interface HrisApiPayrollsOneRequest { payrollId: string raw?: boolean consumerId?: string appId?: string serviceId?: string fields?: string | null } export interface HrisApiTimeOffRequestsAddRequest { timeOffRequest: TimeOffRequest raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface HrisApiTimeOffRequestsAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number filter?: TimeOffRequestsFilter passThrough?: PassThroughQuery fields?: string | null } export interface HrisApiTimeOffRequestsDeleteRequest { id: string employeeId: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface HrisApiTimeOffRequestsOneRequest { id: string employeeId: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface HrisApiTimeOffRequestsUpdateRequest { id: string employeeId: string timeOffRequest: TimeOffRequest consumerId?: string appId?: string serviceId?: string raw?: boolean } /** * */ export class HrisApi extends runtime.BaseAPI { /** * Create Company * Create Company */ async companiesAddRaw( requestParameters: HrisApiCompaniesAddRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<CreateHrisCompanyResponse>> { if (requestParameters.company === null || requestParameters.company === undefined) { throw new runtime.RequiredError( 'company', 'Required parameter requestParameters.company was null or undefined when calling companiesAdd.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/companies`, method: 'POST', headers: headerParameters, query: queryParameters, body: HrisCompanyToJSON(requestParameters.company) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => CreateHrisCompanyResponseFromJSON(jsonValue) ) } /** * Create Company * Create Company */ async companiesAdd( requestParameters: HrisApiCompaniesAddRequest, initOverrides?: RequestInit ): Promise<CreateHrisCompanyResponse> { const response = await this.companiesAddRaw(requestParameters, initOverrides) return await response.value() } /** * List Companies * List Companies */ async companiesAllRaw( requestParameters: HrisApiCompaniesAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetHrisCompaniesResponse>> { const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.cursor !== undefined) { queryParameters['cursor'] = requestParameters.cursor } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/companies`, method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetHrisCompaniesResponseFromJSON(jsonValue) ) } /** * List Companies * List Companies */ async companiesAll( requestParameters: HrisApiCompaniesAllRequest = {}, initOverrides?: RequestInit ): Promise<GetHrisCompaniesResponse> { const response = await this.companiesAllRaw(requestParameters, initOverrides) return await response.value() } /** * Delete Company * Delete Company */ async companiesDeleteRaw( requestParameters: HrisApiCompaniesDeleteRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<DeleteHrisCompanyResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling companiesDelete.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/companies/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'DELETE', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => DeleteHrisCompanyResponseFromJSON(jsonValue) ) } /** * Delete Company * Delete Company */ async companiesDelete( requestParameters: HrisApiCompaniesDeleteRequest, initOverrides?: RequestInit ): Promise<DeleteHrisCompanyResponse> { const response = await this.companiesDeleteRaw(requestParameters, initOverrides) return await response.value() } /** * Get Company * Get Company */ async companiesOneRaw( requestParameters: HrisApiCompaniesOneRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetHrisCompanyResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling companiesOne.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/companies/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetHrisCompanyResponseFromJSON(jsonValue) ) } /** * Get Company * Get Company */ async companiesOne( requestParameters: HrisApiCompaniesOneRequest, initOverrides?: RequestInit ): Promise<GetHrisCompanyResponse> { const response = await this.companiesOneRaw(requestParameters, initOverrides) return await response.value() } /** * Update Company * Update Company */ async companiesUpdateRaw( requestParameters: HrisApiCompaniesUpdateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<UpdateHrisCompanyResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling companiesUpdate.' ) } if (requestParameters.company === null || requestParameters.company === undefined) { throw new runtime.RequiredError( 'company', 'Required parameter requestParameters.company was null or undefined when calling companiesUpdate.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/companies/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'PATCH', headers: headerParameters, query: queryParameters, body: HrisCompanyToJSON(requestParameters.company) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => UpdateHrisCompanyResponseFromJSON(jsonValue) ) } /** * Update Company * Update Company */ async companiesUpdate( requestParameters: HrisApiCompaniesUpdateRequest, initOverrides?: RequestInit ): Promise<UpdateHrisCompanyResponse> { const response = await this.companiesUpdateRaw(requestParameters, initOverrides) return await response.value() } /** * Create Department * Create Department */ async departmentsAddRaw( requestParameters: HrisApiDepartmentsAddRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<CreateDepartmentResponse>> { if (requestParameters.department === null || requestParameters.department === undefined) { throw new runtime.RequiredError( 'department', 'Required parameter requestParameters.department was null or undefined when calling departmentsAdd.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/departments`, method: 'POST', headers: headerParameters, query: queryParameters, body: DepartmentToJSON(requestParameters.department) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => CreateDepartmentResponseFromJSON(jsonValue) ) } /** * Create Department * Create Department */ async departmentsAdd( requestParameters: HrisApiDepartmentsAddRequest, initOverrides?: RequestInit ): Promise<CreateDepartmentResponse> { const response = await this.departmentsAddRaw(requestParameters, initOverrides) return await response.value() } /** * List Departments * List Departments */ async departmentsAllRaw( requestParameters: HrisApiDepartmentsAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetDepartmentsResponse>> { const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.cursor !== undefined) { queryParameters['cursor'] = requestParameters.cursor } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/departments`, method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetDepartmentsResponseFromJSON(jsonValue) ) } /** * List Departments * List Departments */ async departmentsAll( requestParameters: HrisApiDepartmentsAllRequest = {}, initOverrides?: RequestInit ): Promise<GetDepartmentsResponse> { const response = await this.departmentsAllRaw(requestParameters, initOverrides) return await response.value() } /** * Delete Department * Delete Department */ async departmentsDeleteRaw( requestParameters: HrisApiDepartmentsDeleteRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<DeleteDepartmentResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling departmentsDelete.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/departments/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'DELETE', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => DeleteDepartmentResponseFromJSON(jsonValue) ) } /** * Delete Department * Delete Department */ async departmentsDelete( requestParameters: HrisApiDepartmentsDeleteRequest, initOverrides?: RequestInit ): Promise<DeleteDepartmentResponse> { const response = await this.departmentsDeleteRaw(requestParameters, initOverrides) return await response.value() } /** * Get Department * Get Department */ async departmentsOneRaw( requestParameters: HrisApiDepartmentsOneRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetDepartmentResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling departmentsOne.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/departments/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetDepartmentResponseFromJSON(jsonValue) ) } /** * Get Department * Get Department */ async departmentsOne( requestParameters: HrisApiDepartmentsOneRequest, initOverrides?: RequestInit ): Promise<GetDepartmentResponse> { const response = await this.departmentsOneRaw(requestParameters, initOverrides) return await response.value() } /** * Update Department * Update Department */ async departmentsUpdateRaw( requestParameters: HrisApiDepartmentsUpdateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<UpdateDepartmentResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling departmentsUpdate.' ) } if (requestParameters.department === null || requestParameters.department === undefined) { throw new runtime.RequiredError( 'department', 'Required parameter requestParameters.department was null or undefined when calling departmentsUpdate.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/departments/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'PATCH', headers: headerParameters, query: queryParameters, body: DepartmentToJSON(requestParameters.department) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => UpdateDepartmentResponseFromJSON(jsonValue) ) } /** * Update Department * Update Department */ async departmentsUpdate( requestParameters: HrisApiDepartmentsUpdateRequest, initOverrides?: RequestInit ): Promise<UpdateDepartmentResponse> { const response = await this.departmentsUpdateRaw(requestParameters, initOverrides) return await response.value() } /** * List payrolls for employee * List Employee Payrolls */ async employeePayrollsAllRaw( requestParameters: HrisApiEmployeePayrollsAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetEmployeePayrollsResponse>> { if (requestParameters.employeeId === null || requestParameters.employeeId === undefined) { throw new runtime.RequiredError( 'employeeId', 'Required parameter requestParameters.employeeId was null or undefined when calling employeePayrollsAll.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.filter !== undefined) { queryParameters['filter'] = requestParameters.filter } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/payrolls/employees/{employee_id}`.replace( `{${'employee_id'}}`, encodeURIComponent(String(requestParameters.employeeId)) ), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetEmployeePayrollsResponseFromJSON(jsonValue) ) } /** * List payrolls for employee * List Employee Payrolls */ async employeePayrollsAll( requestParameters: HrisApiEmployeePayrollsAllRequest, initOverrides?: RequestInit ): Promise<GetEmployeePayrollsResponse> { const response = await this.employeePayrollsAllRaw(requestParameters, initOverrides) return await response.value() } /** * Get payroll for employee * Get Employee Payroll */ async employeePayrollsOneRaw( requestParameters: HrisApiEmployeePayrollsOneRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetEmployeePayrollResponse>> { if (requestParameters.payrollId === null || requestParameters.payrollId === undefined) { throw new runtime.RequiredError( 'payrollId', 'Required parameter requestParameters.payrollId was null or undefined when calling employeePayrollsOne.' ) } if (requestParameters.employeeId === null || requestParameters.employeeId === undefined) { throw new runtime.RequiredError( 'employeeId', 'Required parameter requestParameters.employeeId was null or undefined when calling employeePayrollsOne.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/payrolls/employees/{employee_id}/payrolls/{payroll_id}` .replace(`{${'payroll_id'}}`, encodeURIComponent(String(requestParameters.payrollId))) .replace(`{${'employee_id'}}`, encodeURIComponent(String(requestParameters.employeeId))), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetEmployeePayrollResponseFromJSON(jsonValue) ) } /** * Get payroll for employee * Get Employee Payroll */ async employeePayrollsOne( requestParameters: HrisApiEmployeePayrollsOneRequest, initOverrides?: RequestInit ): Promise<GetEmployeePayrollResponse> { const response = await this.employeePayrollsOneRaw(requestParameters, initOverrides) return await response.value() } /** * List schedules for employee, a schedule is a work pattern, not the actual worked hours, for an employee. * List Employee Schedules */ async employeeSchedulesAllRaw( requestParameters: HrisApiEmployeeSchedulesAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetEmployeeSchedulesResponse>> { if (requestParameters.employeeId === null || requestParameters.employeeId === undefined) { throw new runtime.RequiredError( 'employeeId', 'Required parameter requestParameters.employeeId was null or undefined when calling employeeSchedulesAll.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/schedules/employees/{employee_id}`.replace( `{${'employee_id'}}`, encodeURIComponent(String(requestParameters.employeeId)) ), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetEmployeeSchedulesResponseFromJSON(jsonValue) ) } /** * List schedules for employee, a schedule is a work pattern, not the actual worked hours, for an employee. * List Employee Schedules */ async employeeSchedulesAll( requestParameters: HrisApiEmployeeSchedulesAllRequest, initOverrides?: RequestInit ): Promise<GetEmployeeSchedulesResponse> { const response = await this.employeeSchedulesAllRaw(requestParameters, initOverrides) return await response.value() } /** * Create Employee * Create Employee */ async employeesAddRaw( requestParameters: HrisApiEmployeesAddRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<CreateEmployeeResponse>> { if (requestParameters.employee === null || requestParameters.employee === undefined) { throw new runtime.RequiredError( 'employee', 'Required parameter requestParameters.employee was null or undefined when calling employeesAdd.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/employees`, method: 'POST', headers: headerParameters, query: queryParameters, body: EmployeeToJSON(requestParameters.employee) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => CreateEmployeeResponseFromJSON(jsonValue) ) } /** * Create Employee * Create Employee */ async employeesAdd( requestParameters: HrisApiEmployeesAddRequest, initOverrides?: RequestInit ): Promise<CreateEmployeeResponse> { const response = await this.employeesAddRaw(requestParameters, initOverrides) return await response.value() } /** * Apideck operates as a stateless Unified API, which means that the list endpoint only provides a portion of the employee model. This is due to the fact that most HRIS systems do not readily provide all data in every call. However, you can access the complete employee model through an employee detail call. * List Employees */ async employeesAllRaw( requestParameters: HrisApiEmployeesAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetEmployeesResponse>> { const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.cursor !== undefined) { queryParameters['cursor'] = requestParameters.cursor } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit } if (requestParameters.filter !== undefined) { queryParameters['filter'] = requestParameters.filter } if (requestParameters.sort !== undefined) { queryParameters['sort'] = requestParameters.sort } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/employees`, method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetEmployeesResponseFromJSON(jsonValue) ) } /** * Apideck operates as a stateless Unified API, which means that the list endpoint only provides a portion of the employee model. This is due to the fact that most HRIS systems do not readily provide all data in every call. However, you can access the complete employee model through an employee detail call. * List Employees */ async employeesAll( requestParameters: HrisApiEmployeesAllRequest = {}, initOverrides?: RequestInit ): Promise<GetEmployeesResponse> { const response = await this.employeesAllRaw(requestParameters, initOverrides) return await response.value() } /** * Delete Employee * Delete Employee */ async employeesDeleteRaw( requestParameters: HrisApiEmployeesDeleteRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<DeleteEmployeeResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling employeesDelete.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/employees/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'DELETE', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => DeleteEmployeeResponseFromJSON(jsonValue) ) } /** * Delete Employee * Delete Employee */ async employeesDelete( requestParameters: HrisApiEmployeesDeleteRequest, initOverrides?: RequestInit ): Promise<DeleteEmployeeResponse> { const response = await this.employeesDeleteRaw(requestParameters, initOverrides) return await response.value() } /** * Get Employee * Get Employee */ async employeesOneRaw( requestParameters: HrisApiEmployeesOneRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetEmployeeResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling employeesOne.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } if (requestParameters.filter !== undefined) { queryParameters['filter'] = requestParameters.filter } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/employees/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetEmployeeResponseFromJSON(jsonValue) ) } /** * Get Employee * Get Employee */ async employeesOne( requestParameters: HrisApiEmployeesOneRequest, initOverrides?: RequestInit ): Promise<GetEmployeeResponse> { const response = await this.employeesOneRaw(requestParameters, initOverrides) return await response.value() } /** * Update Employee * Update Employee */ async employeesUpdateRaw( requestParameters: HrisApiEmployeesUpdateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<UpdateEmployeeResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling employeesUpdate.' ) } if (requestParameters.employee === null || requestParameters.employee === undefined) { throw new runtime.RequiredError( 'employee', 'Required parameter requestParameters.employee was null or undefined when calling employeesUpdate.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/hris/employees/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'PATCH', headers: headerParameters, query: queryParameters, body: EmployeeToJSON(requ