/* * 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"; export type WebhookCredentials = { /** * The secret used for signing webhook requests. Auto-generated if omitted on creation by admin. Read-only for tenants unless rotating. */ secret?: string | undefined; /** * The previous secret used during rotation. Valid for 24 hours by default. Read-only. */ previousSecret?: string | undefined; /** * ISO timestamp when the previous secret becomes invalid. Read-only. */ previousSecretInvalidAt?: Date | undefined; }; /** @internal */ export const WebhookCredentials$inboundSchema: z.ZodType< WebhookCredentials, z.ZodTypeDef, unknown > = z.object({ secret: z.string().optional(), previous_secret: z.string().optional(), previous_secret_invalid_at: z.string().datetime({ offset: true }).transform( v => new Date(v) ).optional(), }).transform((v) => { return remap$(v, { "previous_secret": "previousSecret", "previous_secret_invalid_at": "previousSecretInvalidAt", }); }); /** @internal */ export type WebhookCredentials$Outbound = { secret?: string | undefined; previous_secret?: string | undefined; previous_secret_invalid_at?: string | undefined; }; /** @internal */ export const WebhookCredentials$outboundSchema: z.ZodType< WebhookCredentials$Outbound, z.ZodTypeDef, WebhookCredentials > = z.object({ secret: z.string().optional(), previousSecret: z.string().optional(), previousSecretInvalidAt: z.date().transform(v => v.toISOString()).optional(), }).transform((v) => { return remap$(v, { previousSecret: "previous_secret", previousSecretInvalidAt: "previous_secret_invalid_at", }); }); export function webhookCredentialsToJSON( webhookCredentials: WebhookCredentials, ): string { return JSON.stringify( WebhookCredentials$outboundSchema.parse(webhookCredentials), ); } export function webhookCredentialsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => WebhookCredentials$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'WebhookCredentials' from JSON`, ); }