/* * 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"; export type ListTeamBudgetEventsRequest = { id: string; orgId?: string | undefined; }; export const ListTeamBudgetEventsType = { ThresholdAlert: "threshold_alert", Blocked: "blocked", } as const; export type ListTeamBudgetEventsType = ClosedEnum< typeof ListTeamBudgetEventsType >; export type ListTeamBudgetEventsData = { id: string; budgetId: string; type: ListTeamBudgetEventsType; pct: number | null; periodKey: string; targetId: string; spendSnapshot: number; limitSnapshot: number; createdAt: string; }; /** * OK */ export type ListTeamBudgetEventsResponseBody = { object: "list"; data: Array; }; /** @internal */ export const ListTeamBudgetEventsRequest$inboundSchema: z.ZodType< ListTeamBudgetEventsRequest, z.ZodTypeDef, unknown > = z.object({ id: z.string(), org_id: z.string().optional(), }).transform((v) => { return remap$(v, { "org_id": "orgId", }); }); /** @internal */ export type ListTeamBudgetEventsRequest$Outbound = { id: string; org_id?: string | undefined; }; /** @internal */ export const ListTeamBudgetEventsRequest$outboundSchema: z.ZodType< ListTeamBudgetEventsRequest$Outbound, z.ZodTypeDef, ListTeamBudgetEventsRequest > = z.object({ id: z.string(), orgId: z.string().optional(), }).transform((v) => { return remap$(v, { orgId: "org_id", }); }); export function listTeamBudgetEventsRequestToJSON( listTeamBudgetEventsRequest: ListTeamBudgetEventsRequest, ): string { return JSON.stringify( ListTeamBudgetEventsRequest$outboundSchema.parse( listTeamBudgetEventsRequest, ), ); } export function listTeamBudgetEventsRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ListTeamBudgetEventsRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListTeamBudgetEventsRequest' from JSON`, ); } /** @internal */ export const ListTeamBudgetEventsType$inboundSchema: z.ZodNativeEnum< typeof ListTeamBudgetEventsType > = z.nativeEnum(ListTeamBudgetEventsType); /** @internal */ export const ListTeamBudgetEventsType$outboundSchema: z.ZodNativeEnum< typeof ListTeamBudgetEventsType > = ListTeamBudgetEventsType$inboundSchema; /** @internal */ export const ListTeamBudgetEventsData$inboundSchema: z.ZodType< ListTeamBudgetEventsData, z.ZodTypeDef, unknown > = z.object({ id: z.string(), budget_id: z.string(), type: ListTeamBudgetEventsType$inboundSchema, pct: z.nullable(z.number()), period_key: z.string(), target_id: z.string(), spend_snapshot: z.number(), limit_snapshot: z.number(), created_at: z.string(), }).transform((v) => { return remap$(v, { "budget_id": "budgetId", "period_key": "periodKey", "target_id": "targetId", "spend_snapshot": "spendSnapshot", "limit_snapshot": "limitSnapshot", "created_at": "createdAt", }); }); /** @internal */ export type ListTeamBudgetEventsData$Outbound = { id: string; budget_id: string; type: string; pct: number | null; period_key: string; target_id: string; spend_snapshot: number; limit_snapshot: number; created_at: string; }; /** @internal */ export const ListTeamBudgetEventsData$outboundSchema: z.ZodType< ListTeamBudgetEventsData$Outbound, z.ZodTypeDef, ListTeamBudgetEventsData > = z.object({ id: z.string(), budgetId: z.string(), type: ListTeamBudgetEventsType$outboundSchema, pct: z.nullable(z.number()), periodKey: z.string(), targetId: z.string(), spendSnapshot: z.number(), limitSnapshot: z.number(), createdAt: z.string(), }).transform((v) => { return remap$(v, { budgetId: "budget_id", periodKey: "period_key", targetId: "target_id", spendSnapshot: "spend_snapshot", limitSnapshot: "limit_snapshot", createdAt: "created_at", }); }); export function listTeamBudgetEventsDataToJSON( listTeamBudgetEventsData: ListTeamBudgetEventsData, ): string { return JSON.stringify( ListTeamBudgetEventsData$outboundSchema.parse(listTeamBudgetEventsData), ); } export function listTeamBudgetEventsDataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ListTeamBudgetEventsData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListTeamBudgetEventsData' from JSON`, ); } /** @internal */ export const ListTeamBudgetEventsResponseBody$inboundSchema: z.ZodType< ListTeamBudgetEventsResponseBody, z.ZodTypeDef, unknown > = z.object({ object: z.literal("list"), data: z.array(z.lazy(() => ListTeamBudgetEventsData$inboundSchema)), }); /** @internal */ export type ListTeamBudgetEventsResponseBody$Outbound = { object: "list"; data: Array; }; /** @internal */ export const ListTeamBudgetEventsResponseBody$outboundSchema: z.ZodType< ListTeamBudgetEventsResponseBody$Outbound, z.ZodTypeDef, ListTeamBudgetEventsResponseBody > = z.object({ object: z.literal("list"), data: z.array(z.lazy(() => ListTeamBudgetEventsData$outboundSchema)), }); export function listTeamBudgetEventsResponseBodyToJSON( listTeamBudgetEventsResponseBody: ListTeamBudgetEventsResponseBody, ): string { return JSON.stringify( ListTeamBudgetEventsResponseBody$outboundSchema.parse( listTeamBudgetEventsResponseBody, ), ); } export function listTeamBudgetEventsResponseBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ListTeamBudgetEventsResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListTeamBudgetEventsResponseBody' from JSON`, ); }