// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../core/resource'; import * as BusinessPartnersAPI from './business-partners'; import * as WorkersAPI from './workers'; import { APIPromise } from '../core/api-promise'; import { PageCursorURL, PagePromise } from '../core/pagination'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; /** * Compensation bands details associated with workers */ export class CompensationBandsDetails extends APIResource { /** * A list of compensation bands details. * * - Requires: `API Tier 2` * - Filterable fields: `created_at`, `updated_at`, `internal_job_code`, * `worker_id` * - Expandable fields: `worker` * - Sortable fields: `id`, `created_at`, `updated_at` */ list( query: CompensationBandsDetailListParams | null | undefined = {}, options?: RequestOptions, ): PagePromise { return this._client.getAPIList( '/compensation-bands-details/', PageCursorURL, { query, ...options }, ); } /** * Retrieve a specific compensation bands detail */ retrieve( id: string, query: CompensationBandsDetailRetrieveParams | null | undefined = {}, options?: RequestOptions, ): APIPromise { return this._client.get(path`/compensation-bands-details/${id}/`, { query, ...options }); } } export type CompensationBandsDetailListResponsesPageCursorURL = PageCursorURL; export interface CompensationBandsDetailListResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Internal job code */ internal_job_code?: string; /** * The worker associated with compensation bands * * Expandable field */ worker?: WorkersAPI.Worker; /** * ID of the worker associated with compensation bands */ worker_id?: string; } /** * Meta information for the response. */ export interface CompensationBandsDetailRetrieveResponse extends BusinessPartnersAPI.Meta { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Internal job code */ internal_job_code?: string; /** * The worker associated with compensation bands * * Expandable field */ worker?: WorkersAPI.Worker; /** * ID of the worker associated with compensation bands */ worker_id?: string; } export interface CompensationBandsDetailListParams { cursor?: string; expand?: string; filter?: string; order_by?: string; } export interface CompensationBandsDetailRetrieveParams { expand?: string; } export declare namespace CompensationBandsDetails { export { type CompensationBandsDetailListResponse as CompensationBandsDetailListResponse, type CompensationBandsDetailRetrieveResponse as CompensationBandsDetailRetrieveResponse, type CompensationBandsDetailListResponsesPageCursorURL as CompensationBandsDetailListResponsesPageCursorURL, type CompensationBandsDetailListParams as CompensationBandsDetailListParams, type CompensationBandsDetailRetrieveParams as CompensationBandsDetailRetrieveParams, }; }