/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { ContractorPaymentSummary, ContractorPaymentSummary$inboundSchema, } from "../components/contractorpaymentsummary.js"; import { ContractorPaymentSummaryByDates, ContractorPaymentSummaryByDates$inboundSchema, } from "../components/contractorpaymentsummarybydates.js"; import { HTTPMetadata, HTTPMetadata$inboundSchema, } from "../components/httpmetadata.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export const GetV1CompaniesCompanyIdContractorPaymentsHeaderXGustoAPIVersion = { TwoThousandAndTwentyFiveMinus06Minus15: "2025-06-15", } as const; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export type GetV1CompaniesCompanyIdContractorPaymentsHeaderXGustoAPIVersion = ClosedEnum< typeof GetV1CompaniesCompanyIdContractorPaymentsHeaderXGustoAPIVersion >; export type GetV1CompaniesCompanyIdContractorPaymentsRequest = { /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ xGustoAPIVersion?: | GetV1CompaniesCompanyIdContractorPaymentsHeaderXGustoAPIVersion | undefined; /** * The UUID of the company */ companyId: string; /** * The time period for which to retrieve contractor payments */ startDate: string; /** * The time period for which to retrieve contractor payments. If left empty, defaults to today's date. */ endDate: string; /** * The UUID of the contractor. When specified, will load all payments for that contractor. */ contractorUuid?: string | undefined; /** * Display contractor payments results group by check date if set to true. */ groupByDate?: boolean | undefined; /** * The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. */ page?: number | undefined; /** * Number of objects per page. For majority of endpoints will default to 25 */ per?: number | undefined; }; /** * A JSON object containing contractor payments information */ export type GetV1CompaniesCompanyIdContractorPaymentsResponseBody = | ContractorPaymentSummary | ContractorPaymentSummaryByDates; export type GetV1CompaniesCompanyIdContractorPaymentsResponse = { httpMeta: HTTPMetadata; /** * A JSON object containing contractor payments information */ oneOf?: | ContractorPaymentSummary | ContractorPaymentSummaryByDates | undefined; }; /** @internal */ export const GetV1CompaniesCompanyIdContractorPaymentsHeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum< typeof GetV1CompaniesCompanyIdContractorPaymentsHeaderXGustoAPIVersion > = z.nativeEnum( GetV1CompaniesCompanyIdContractorPaymentsHeaderXGustoAPIVersion, ); /** @internal */ export type GetV1CompaniesCompanyIdContractorPaymentsRequest$Outbound = { "X-Gusto-API-Version": string; company_id: string; start_date: string; end_date: string; contractor_uuid?: string | undefined; group_by_date?: boolean | undefined; page?: number | undefined; per?: number | undefined; }; /** @internal */ export const GetV1CompaniesCompanyIdContractorPaymentsRequest$outboundSchema: z.ZodType< GetV1CompaniesCompanyIdContractorPaymentsRequest$Outbound, z.ZodTypeDef, GetV1CompaniesCompanyIdContractorPaymentsRequest > = z.object({ xGustoAPIVersion: GetV1CompaniesCompanyIdContractorPaymentsHeaderXGustoAPIVersion$outboundSchema .default("2025-06-15"), companyId: z.string(), startDate: z.string(), endDate: z.string(), contractorUuid: z.string().optional(), groupByDate: z.boolean().optional(), page: z.number().int().optional(), per: z.number().int().optional(), }).transform((v) => { return remap$(v, { xGustoAPIVersion: "X-Gusto-API-Version", companyId: "company_id", startDate: "start_date", endDate: "end_date", contractorUuid: "contractor_uuid", groupByDate: "group_by_date", }); }); export function getV1CompaniesCompanyIdContractorPaymentsRequestToJSON( getV1CompaniesCompanyIdContractorPaymentsRequest: GetV1CompaniesCompanyIdContractorPaymentsRequest, ): string { return JSON.stringify( GetV1CompaniesCompanyIdContractorPaymentsRequest$outboundSchema.parse( getV1CompaniesCompanyIdContractorPaymentsRequest, ), ); } /** @internal */ export const GetV1CompaniesCompanyIdContractorPaymentsResponseBody$inboundSchema: z.ZodType< GetV1CompaniesCompanyIdContractorPaymentsResponseBody, z.ZodTypeDef, unknown > = z.union([ ContractorPaymentSummary$inboundSchema, ContractorPaymentSummaryByDates$inboundSchema, ]); export function getV1CompaniesCompanyIdContractorPaymentsResponseBodyFromJSON( jsonString: string, ): SafeParseResult< GetV1CompaniesCompanyIdContractorPaymentsResponseBody, SDKValidationError > { return safeParse( jsonString, (x) => GetV1CompaniesCompanyIdContractorPaymentsResponseBody$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'GetV1CompaniesCompanyIdContractorPaymentsResponseBody' from JSON`, ); } /** @internal */ export const GetV1CompaniesCompanyIdContractorPaymentsResponse$inboundSchema: z.ZodType< GetV1CompaniesCompanyIdContractorPaymentsResponse, z.ZodTypeDef, unknown > = z.object({ HttpMeta: HTTPMetadata$inboundSchema, oneOf: z.union([ ContractorPaymentSummary$inboundSchema, ContractorPaymentSummaryByDates$inboundSchema, ]).optional(), }).transform((v) => { return remap$(v, { "HttpMeta": "httpMeta", }); }); export function getV1CompaniesCompanyIdContractorPaymentsResponseFromJSON( jsonString: string, ): SafeParseResult< GetV1CompaniesCompanyIdContractorPaymentsResponse, SDKValidationError > { return safeParse( jsonString, (x) => GetV1CompaniesCompanyIdContractorPaymentsResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'GetV1CompaniesCompanyIdContractorPaymentsResponse' from JSON`, ); }