/* * 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 { NovuError } from "./novuerror.js"; export type TopicResponseDtoData = { /** * The identifier of the topic */ id: string; /** * The unique key of the topic */ key: string; /** * The name of the topic */ name?: string | undefined; /** * The date the topic was created */ createdAt?: string | undefined; /** * The date the topic was last updated */ updatedAt?: string | undefined; }; export class TopicResponseDto extends NovuError { /** * The identifier of the topic */ id: string; /** * The unique key of the topic */ key: string; /** * The date the topic was created */ createdAt?: string | undefined; /** * The date the topic was last updated */ updatedAt?: string | undefined; /** The original data that was passed to this error instance. */ data$: TopicResponseDtoData; constructor( err: TopicResponseDtoData, httpMeta: { response: Response; request: Request; body: string }, ) { const message = "message" in err && typeof err.message === "string" ? err.message : `API error occurred: ${JSON.stringify(err)}`; super(message, httpMeta); this.data$ = err; this.id = err.id; this.key = err.key; if (err.createdAt != null) this.createdAt = err.createdAt; if (err.updatedAt != null) this.updatedAt = err.updatedAt; this.name = "TopicResponseDto"; } } /** @internal */ export const TopicResponseDto$inboundSchema: z.ZodType< TopicResponseDto, z.ZodTypeDef, unknown > = z.object({ _id: z.string(), key: z.string(), name: z.string().optional(), createdAt: z.string().optional(), updatedAt: z.string().optional(), request$: z.instanceof(Request), response$: z.instanceof(Response), body$: z.string(), }) .transform((v) => { const remapped = remap$(v, { "_id": "id", }); return new TopicResponseDto(remapped, { request: v.request$, response: v.response$, body: v.body$, }); });