/* * 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 { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { CatalogActivationState, CatalogActivationState$inboundSchema, CatalogActivationState$outboundSchema, } from "./catalogactivationstate.js"; import { RegistrySource, RegistrySource$inboundSchema, RegistrySource$outboundSchema, } from "./registrysource.js"; export type AccessEntry = { orgId: string; modelId: string; grantedBy: string; grantedAt: Date; activationState: CatalogActivationState; blockerSource: RegistrySource | null; activatedBy: string | null; activatedAt: Date | null; }; /** @internal */ export const AccessEntry$inboundSchema: z.ZodType< AccessEntry, z.ZodTypeDef, unknown > = z.object({ org_id: z.string(), model_id: z.string(), granted_by: z.string(), granted_at: z.string().datetime({ offset: true }).transform(v => new Date(v)), activation_state: CatalogActivationState$inboundSchema, blocker_source: z.nullable(RegistrySource$inboundSchema), activated_by: z.nullable(z.string()), activated_at: z.nullable( z.string().datetime({ offset: true }).transform(v => new Date(v)), ), }).transform((v) => { return remap$(v, { "org_id": "orgId", "model_id": "modelId", "granted_by": "grantedBy", "granted_at": "grantedAt", "activation_state": "activationState", "blocker_source": "blockerSource", "activated_by": "activatedBy", "activated_at": "activatedAt", }); }); /** @internal */ export type AccessEntry$Outbound = { org_id: string; model_id: string; granted_by: string; granted_at: string; activation_state: string; blocker_source: string | null; activated_by: string | null; activated_at: string | null; }; /** @internal */ export const AccessEntry$outboundSchema: z.ZodType< AccessEntry$Outbound, z.ZodTypeDef, AccessEntry > = z.object({ orgId: z.string(), modelId: z.string(), grantedBy: z.string(), grantedAt: z.date().transform(v => v.toISOString()), activationState: CatalogActivationState$outboundSchema, blockerSource: z.nullable(RegistrySource$outboundSchema), activatedBy: z.nullable(z.string()), activatedAt: z.nullable(z.date().transform(v => v.toISOString())), }).transform((v) => { return remap$(v, { orgId: "org_id", modelId: "model_id", grantedBy: "granted_by", grantedAt: "granted_at", activationState: "activation_state", blockerSource: "blocker_source", activatedBy: "activated_by", activatedAt: "activated_at", }); }); export function accessEntryToJSON(accessEntry: AccessEntry): string { return JSON.stringify(AccessEntry$outboundSchema.parse(accessEntry)); } export function accessEntryFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => AccessEntry$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AccessEntry' from JSON`, ); }