/* * 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 { FreshdeskCredentials, FreshdeskCredentials$inboundSchema, FreshdeskCredentials$Outbound, FreshdeskCredentials$outboundSchema, } from "./freshdeskcredentials.js"; import { FreshdeskData, FreshdeskData$inboundSchema, FreshdeskData$Outbound, FreshdeskData$outboundSchema, } from "./freshdeskdata.js"; export type PublicFreshdeskConnection = { provider: "freshdesk"; data: FreshdeskData; /** * The email the API key is associated with */ userEmail: string; credentials: FreshdeskCredentials; }; /** @internal */ export const PublicFreshdeskConnection$inboundSchema: z.ZodType< PublicFreshdeskConnection, z.ZodTypeDef, unknown > = z.object({ provider: z.literal("freshdesk"), data: FreshdeskData$inboundSchema, user_email: z.string(), credentials: FreshdeskCredentials$inboundSchema, }).transform((v) => { return remap$(v, { "user_email": "userEmail", }); }); /** @internal */ export type PublicFreshdeskConnection$Outbound = { provider: "freshdesk"; data: FreshdeskData$Outbound; user_email: string; credentials: FreshdeskCredentials$Outbound; }; /** @internal */ export const PublicFreshdeskConnection$outboundSchema: z.ZodType< PublicFreshdeskConnection$Outbound, z.ZodTypeDef, PublicFreshdeskConnection > = z.object({ provider: z.literal("freshdesk"), data: FreshdeskData$outboundSchema, userEmail: z.string(), credentials: FreshdeskCredentials$outboundSchema, }).transform((v) => { return remap$(v, { userEmail: "user_email", }); }); export function publicFreshdeskConnectionToJSON( publicFreshdeskConnection: PublicFreshdeskConnection, ): string { return JSON.stringify( PublicFreshdeskConnection$outboundSchema.parse(publicFreshdeskConnection), ); } export function publicFreshdeskConnectionFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PublicFreshdeskConnection$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PublicFreshdeskConnection' from JSON`, ); }