/* * 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 ListApiKeyBudgetEventsRequest = { apiKeyId: string; }; export const ListApiKeyBudgetEventsType = { ThresholdAlert: "threshold_alert", Blocked: "blocked", } as const; export type ListApiKeyBudgetEventsType = ClosedEnum< typeof ListApiKeyBudgetEventsType >; export type ListApiKeyBudgetEventsData = { id: string; budgetId: string; type: ListApiKeyBudgetEventsType; pct: number | null; periodKey: string; targetId: string; spendSnapshot: number; limitSnapshot: number; createdAt: string; }; /** * OK */ export type ListApiKeyBudgetEventsResponseBody = { object: "list"; data: Array; }; /** @internal */ export const ListApiKeyBudgetEventsRequest$inboundSchema: z.ZodType< ListApiKeyBudgetEventsRequest, z.ZodTypeDef, unknown > = z.object({ apiKeyId: z.string(), }); /** @internal */ export type ListApiKeyBudgetEventsRequest$Outbound = { apiKeyId: string; }; /** @internal */ export const ListApiKeyBudgetEventsRequest$outboundSchema: z.ZodType< ListApiKeyBudgetEventsRequest$Outbound, z.ZodTypeDef, ListApiKeyBudgetEventsRequest > = z.object({ apiKeyId: z.string(), }); export function listApiKeyBudgetEventsRequestToJSON( listApiKeyBudgetEventsRequest: ListApiKeyBudgetEventsRequest, ): string { return JSON.stringify( ListApiKeyBudgetEventsRequest$outboundSchema.parse( listApiKeyBudgetEventsRequest, ), ); } export function listApiKeyBudgetEventsRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ListApiKeyBudgetEventsRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListApiKeyBudgetEventsRequest' from JSON`, ); } /** @internal */ export const ListApiKeyBudgetEventsType$inboundSchema: z.ZodNativeEnum< typeof ListApiKeyBudgetEventsType > = z.nativeEnum(ListApiKeyBudgetEventsType); /** @internal */ export const ListApiKeyBudgetEventsType$outboundSchema: z.ZodNativeEnum< typeof ListApiKeyBudgetEventsType > = ListApiKeyBudgetEventsType$inboundSchema; /** @internal */ export const ListApiKeyBudgetEventsData$inboundSchema: z.ZodType< ListApiKeyBudgetEventsData, z.ZodTypeDef, unknown > = z.object({ id: z.string(), budget_id: z.string(), type: ListApiKeyBudgetEventsType$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 ListApiKeyBudgetEventsData$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 ListApiKeyBudgetEventsData$outboundSchema: z.ZodType< ListApiKeyBudgetEventsData$Outbound, z.ZodTypeDef, ListApiKeyBudgetEventsData > = z.object({ id: z.string(), budgetId: z.string(), type: ListApiKeyBudgetEventsType$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 listApiKeyBudgetEventsDataToJSON( listApiKeyBudgetEventsData: ListApiKeyBudgetEventsData, ): string { return JSON.stringify( ListApiKeyBudgetEventsData$outboundSchema.parse(listApiKeyBudgetEventsData), ); } export function listApiKeyBudgetEventsDataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ListApiKeyBudgetEventsData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListApiKeyBudgetEventsData' from JSON`, ); } /** @internal */ export const ListApiKeyBudgetEventsResponseBody$inboundSchema: z.ZodType< ListApiKeyBudgetEventsResponseBody, z.ZodTypeDef, unknown > = z.object({ object: z.literal("list"), data: z.array(z.lazy(() => ListApiKeyBudgetEventsData$inboundSchema)), }); /** @internal */ export type ListApiKeyBudgetEventsResponseBody$Outbound = { object: "list"; data: Array; }; /** @internal */ export const ListApiKeyBudgetEventsResponseBody$outboundSchema: z.ZodType< ListApiKeyBudgetEventsResponseBody$Outbound, z.ZodTypeDef, ListApiKeyBudgetEventsResponseBody > = z.object({ object: z.literal("list"), data: z.array(z.lazy(() => ListApiKeyBudgetEventsData$outboundSchema)), }); export function listApiKeyBudgetEventsResponseBodyToJSON( listApiKeyBudgetEventsResponseBody: ListApiKeyBudgetEventsResponseBody, ): string { return JSON.stringify( ListApiKeyBudgetEventsResponseBody$outboundSchema.parse( listApiKeyBudgetEventsResponseBody, ), ); } export function listApiKeyBudgetEventsResponseBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ListApiKeyBudgetEventsResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListApiKeyBudgetEventsResponseBody' from JSON`, ); }