/* * 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 { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { BulkReportItemResult, BulkReportItemResult$inboundSchema, } from "./bulkreportitemresult.js"; /** * This company's overall status across its `reports`: * * @remarks * - `success`: every report succeeded * - `partial_success`: some succeeded, some failed * - `failed`: every report failed * - `pending`: at least one report is still being generated */ export const BulkReportCompanyStatus = { Pending: "pending", Success: "success", PartialSuccess: "partial_success", Failed: "failed", } as const; /** * This company's overall status across its `reports`: * * @remarks * - `success`: every report succeeded * - `partial_success`: some succeeded, some failed * - `failed`: every report failed * - `pending`: at least one report is still being generated */ export type BulkReportCompanyStatus = ClosedEnum< typeof BulkReportCompanyStatus >; /** * Results for a single company in a bulk report batch. */ export type BulkReportCompany = { /** * UUID of the company. */ companyUuid: string; /** * This company's overall status across its `reports`: * * @remarks * - `success`: every report succeeded * - `partial_success`: some succeeded, some failed * - `failed`: every report failed * - `pending`: at least one report is still being generated */ status: BulkReportCompanyStatus; reports: Array; }; /** @internal */ export const BulkReportCompanyStatus$inboundSchema: z.ZodNativeEnum< typeof BulkReportCompanyStatus > = z.nativeEnum(BulkReportCompanyStatus); /** @internal */ export const BulkReportCompany$inboundSchema: z.ZodType< BulkReportCompany, z.ZodTypeDef, unknown > = z.object({ company_uuid: z.string(), status: BulkReportCompanyStatus$inboundSchema, reports: z.array(BulkReportItemResult$inboundSchema), }).transform((v) => { return remap$(v, { "company_uuid": "companyUuid", }); }); export function bulkReportCompanyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => BulkReportCompany$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BulkReportCompany' from JSON`, ); }