/* * 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 * as openEnums from "../../types/enums.js"; import { OpenEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export const CollectionStatus = { Unspecified: "unspecified", Populating: "populating", Active: "active", Paused: "paused", Archived: "archived", } as const; export type CollectionStatus = OpenEnum; export const StatusReason = { Unspecified: "unspecified", NotEnoughCredits: "not_enough_credits", NotEntitled: "not_entitled", TooManyAssets: "too_many_assets", Manual: "manual", QueryChanged: "query_changed", Initial: "initial", } as const; export type StatusReason = OpenEnum; export type Collection = { addedAssets24Hours: number; createTime: Date; /** * The ID of a Censys user who created the collection. */ createdBy?: string | undefined; description: string; id: string; name: string; query: string; removedAssets24Hours: number; status: CollectionStatus; statusReason: StatusReason | null; totalAssets: number; }; /** @internal */ export const CollectionStatus$inboundSchema: z.ZodType< CollectionStatus, z.ZodTypeDef, unknown > = openEnums.inboundSchema(CollectionStatus); /** @internal */ export const StatusReason$inboundSchema: z.ZodType< StatusReason, z.ZodTypeDef, unknown > = openEnums.inboundSchema(StatusReason); /** @internal */ export const Collection$inboundSchema: z.ZodType< Collection, z.ZodTypeDef, unknown > = z.object({ added_assets_24_hours: z.number().int(), create_time: z.string().datetime({ offset: true }).transform(v => new Date(v) ), created_by: z.string().optional(), description: z.string(), id: z.string(), name: z.string(), query: z.string(), removed_assets_24_hours: z.number().int(), status: CollectionStatus$inboundSchema, status_reason: z.nullable(StatusReason$inboundSchema), total_assets: z.number().int(), }).transform((v) => { return remap$(v, { "added_assets_24_hours": "addedAssets24Hours", "create_time": "createTime", "created_by": "createdBy", "removed_assets_24_hours": "removedAssets24Hours", "status_reason": "statusReason", "total_assets": "totalAssets", }); }); export function collectionFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Collection$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Collection' from JSON`, ); }