/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { SubscriberPreferenceChannels, SubscriberPreferenceChannels$inboundSchema, } from "./subscriberpreferencechannels.js"; import { SubscriberPreferenceOverrideDto, SubscriberPreferenceOverrideDto$inboundSchema, } from "./subscriberpreferenceoverridedto.js"; import { SubscriberPreferencesWorkflowInfoDto, SubscriberPreferencesWorkflowInfoDto$inboundSchema, } from "./subscriberpreferencesworkflowinfodto.js"; export type SubscriberWorkflowPreferenceDto = { /** * Whether notifications are enabled for this workflow */ enabled: boolean; /** * Channel-specific preference settings for this workflow */ channels: SubscriberPreferenceChannels; /** * List of preference overrides */ overrides: Array; /** * Workflow information */ workflow: SubscriberPreferencesWorkflowInfoDto; /** * Timestamp when the subscriber last updated their preference. Only present if subscriber explicitly set preferences. */ updatedAt?: string | undefined; }; /** @internal */ export const SubscriberWorkflowPreferenceDto$inboundSchema: z.ZodType< SubscriberWorkflowPreferenceDto, z.ZodTypeDef, unknown > = z.object({ enabled: z.boolean(), channels: SubscriberPreferenceChannels$inboundSchema, overrides: z.array(SubscriberPreferenceOverrideDto$inboundSchema), workflow: SubscriberPreferencesWorkflowInfoDto$inboundSchema, updatedAt: z.string().optional(), }); export function subscriberWorkflowPreferenceDtoFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => SubscriberWorkflowPreferenceDto$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SubscriberWorkflowPreferenceDto' from JSON`, ); }