/* * 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 { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Feedback rating indicating user satisfaction. 'thumbs_up' indicates positive feedback, 'thumbs_down' indicates negative feedback. */ export const UpdateResponseFeedbackRating = { ThumbsUp: "thumbs_up", ThumbsDown: "thumbs_down", } as const; /** * Feedback rating indicating user satisfaction. 'thumbs_up' indicates positive feedback, 'thumbs_down' indicates negative feedback. */ export type UpdateResponseFeedbackRating = ClosedEnum< typeof UpdateResponseFeedbackRating >; /** * Fields to update in the feedback. All fields are optional; only provided fields will be updated. Pass null to clear a field. */ export type UpdateResponseFeedbackRequestBody = { /** * Update the feedback rating. Pass null to clear the rating. Can be 'thumbs_up' or 'thumbs_down'. */ rating?: UpdateResponseFeedbackRating | null | undefined; /** * Update the feedback description. Pass null to clear the description. Provide text to update with new feedback comments (max 2000 characters). */ description?: string | null | undefined; }; export type UpdateResponseFeedbackRequest = { id: string; /** * Optional external end-user identifier forwarded by the API gateway. */ xOnBehalfOf?: string | undefined; requestBody: UpdateResponseFeedbackRequestBody; }; /** @internal */ export const UpdateResponseFeedbackRating$inboundSchema: z.ZodNativeEnum< typeof UpdateResponseFeedbackRating > = z.nativeEnum(UpdateResponseFeedbackRating); /** @internal */ export const UpdateResponseFeedbackRating$outboundSchema: z.ZodNativeEnum< typeof UpdateResponseFeedbackRating > = UpdateResponseFeedbackRating$inboundSchema; /** @internal */ export const UpdateResponseFeedbackRequestBody$inboundSchema: z.ZodType< UpdateResponseFeedbackRequestBody, z.ZodTypeDef, unknown > = z.object({ rating: z.nullable(UpdateResponseFeedbackRating$inboundSchema).optional(), description: z.nullable(z.string()).optional(), }); /** @internal */ export type UpdateResponseFeedbackRequestBody$Outbound = { rating?: string | null | undefined; description?: string | null | undefined; }; /** @internal */ export const UpdateResponseFeedbackRequestBody$outboundSchema: z.ZodType< UpdateResponseFeedbackRequestBody$Outbound, z.ZodTypeDef, UpdateResponseFeedbackRequestBody > = z.object({ rating: z.nullable(UpdateResponseFeedbackRating$outboundSchema).optional(), description: z.nullable(z.string()).optional(), }); export function updateResponseFeedbackRequestBodyToJSON( updateResponseFeedbackRequestBody: UpdateResponseFeedbackRequestBody, ): string { return JSON.stringify( UpdateResponseFeedbackRequestBody$outboundSchema.parse( updateResponseFeedbackRequestBody, ), ); } export function updateResponseFeedbackRequestBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => UpdateResponseFeedbackRequestBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateResponseFeedbackRequestBody' from JSON`, ); } /** @internal */ export const UpdateResponseFeedbackRequest$inboundSchema: z.ZodType< UpdateResponseFeedbackRequest, z.ZodTypeDef, unknown > = z.object({ id: z.string(), "X-On-Behalf-Of": z.string().optional(), RequestBody: z.lazy(() => UpdateResponseFeedbackRequestBody$inboundSchema), }).transform((v) => { return remap$(v, { "X-On-Behalf-Of": "xOnBehalfOf", "RequestBody": "requestBody", }); }); /** @internal */ export type UpdateResponseFeedbackRequest$Outbound = { id: string; "X-On-Behalf-Of"?: string | undefined; RequestBody: UpdateResponseFeedbackRequestBody$Outbound; }; /** @internal */ export const UpdateResponseFeedbackRequest$outboundSchema: z.ZodType< UpdateResponseFeedbackRequest$Outbound, z.ZodTypeDef, UpdateResponseFeedbackRequest > = z.object({ id: z.string(), xOnBehalfOf: z.string().optional(), requestBody: z.lazy(() => UpdateResponseFeedbackRequestBody$outboundSchema), }).transform((v) => { return remap$(v, { xOnBehalfOf: "X-On-Behalf-Of", requestBody: "RequestBody", }); }); export function updateResponseFeedbackRequestToJSON( updateResponseFeedbackRequest: UpdateResponseFeedbackRequest, ): string { return JSON.stringify( UpdateResponseFeedbackRequest$outboundSchema.parse( updateResponseFeedbackRequest, ), ); } export function updateResponseFeedbackRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => UpdateResponseFeedbackRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateResponseFeedbackRequest' from JSON`, ); }