UNPKG

svix

Version:

Svix webhooks API client and webhook verification library

501 lines (456 loc) 15 kB
// this file is @generated import { type AdobeSignConfigOut, AdobeSignConfigOutSerializer, } from "./adobeSignConfigOut"; import { type AirwallexConfigOut, AirwallexConfigOutSerializer, } from "./airwallexConfigOut"; import { type CheckbookConfigOut, CheckbookConfigOutSerializer, } from "./checkbookConfigOut"; import { type CronConfig, CronConfigSerializer } from "./cronConfig"; import { type DocusignConfigOut, DocusignConfigOutSerializer } from "./docusignConfigOut"; import { type EasypostConfigOut, EasypostConfigOutSerializer } from "./easypostConfigOut"; import { type GithubConfigOut, GithubConfigOutSerializer } from "./githubConfigOut"; import { type HubspotConfigOut, HubspotConfigOutSerializer } from "./hubspotConfigOut"; import { type OrumIoConfigOut, OrumIoConfigOutSerializer } from "./orumIoConfigOut"; import { type PandaDocConfigOut, PandaDocConfigOutSerializer } from "./pandaDocConfigOut"; import { type PortIoConfigOut, PortIoConfigOutSerializer } from "./portIoConfigOut"; import { type RutterConfigOut, RutterConfigOutSerializer } from "./rutterConfigOut"; import { type SegmentConfigOut, SegmentConfigOutSerializer } from "./segmentConfigOut"; import { type ShopifyConfigOut, ShopifyConfigOutSerializer } from "./shopifyConfigOut"; import { type SlackConfigOut, SlackConfigOutSerializer } from "./slackConfigOut"; import { type StripeConfigOut, StripeConfigOutSerializer } from "./stripeConfigOut"; import { type SvixConfigOut, SvixConfigOutSerializer } from "./svixConfigOut"; import { type TelnyxConfigOut, TelnyxConfigOutSerializer } from "./telnyxConfigOut"; import { type VapiConfigOut, VapiConfigOutSerializer } from "./vapiConfigOut"; import { type VeriffConfigOut, VeriffConfigOutSerializer } from "./veriffConfigOut"; import { type ZoomConfigOut, ZoomConfigOutSerializer } from "./zoomConfigOut"; interface _IngestSourceOutFields { createdAt: Date; /** The Source's ID. */ id: string; ingestUrl?: string | null; metadata: { [key: string]: string }; name: string; /** The Source's UID. */ uid?: string | null; updatedAt: Date; } // biome-ignore lint/suspicious/noEmptyInterface: backwards compat interface IngestSourceOutGenericWebhookConfig {} interface IngestSourceOutGenericWebhook { type: "generic-webhook"; config?: IngestSourceOutGenericWebhookConfig; } interface IngestSourceOutCron { type: "cron"; config: CronConfig; } interface IngestSourceOutAdobeSign { type: "adobe-sign"; config: AdobeSignConfigOut; } interface IngestSourceOutBeehiiv { type: "beehiiv"; config: SvixConfigOut; } interface IngestSourceOutBrex { type: "brex"; config: SvixConfigOut; } interface IngestSourceOutCheckbook { type: "checkbook"; config: CheckbookConfigOut; } interface IngestSourceOutClerk { type: "clerk"; config: SvixConfigOut; } interface IngestSourceOutDocusign { type: "docusign"; config: DocusignConfigOut; } interface IngestSourceOutEasypost { type: "easypost"; config: EasypostConfigOut; } interface IngestSourceOutGithub { type: "github"; config: GithubConfigOut; } interface IngestSourceOutGuesty { type: "guesty"; config: SvixConfigOut; } interface IngestSourceOutHubspot { type: "hubspot"; config: HubspotConfigOut; } interface IngestSourceOutIncidentIo { type: "incident-io"; config: SvixConfigOut; } interface IngestSourceOutLithic { type: "lithic"; config: SvixConfigOut; } interface IngestSourceOutNash { type: "nash"; config: SvixConfigOut; } interface IngestSourceOutOrumIo { type: "orum-io"; config: OrumIoConfigOut; } interface IngestSourceOutPandaDoc { type: "panda-doc"; config: PandaDocConfigOut; } interface IngestSourceOutPortIo { type: "port-io"; config: PortIoConfigOut; } interface IngestSourceOutPleo { type: "pleo"; config: SvixConfigOut; } interface IngestSourceOutReplicate { type: "replicate"; config: SvixConfigOut; } interface IngestSourceOutResend { type: "resend"; config: SvixConfigOut; } interface IngestSourceOutRutter { type: "rutter"; config: RutterConfigOut; } interface IngestSourceOutSafebase { type: "safebase"; config: SvixConfigOut; } interface IngestSourceOutSardine { type: "sardine"; config: SvixConfigOut; } interface IngestSourceOutSegment { type: "segment"; config: SegmentConfigOut; } interface IngestSourceOutShopify { type: "shopify"; config: ShopifyConfigOut; } interface IngestSourceOutSlack { type: "slack"; config: SlackConfigOut; } interface IngestSourceOutStripe { type: "stripe"; config: StripeConfigOut; } interface IngestSourceOutStych { type: "stych"; config: SvixConfigOut; } interface IngestSourceOutSvix { type: "svix"; config: SvixConfigOut; } interface IngestSourceOutZoom { type: "zoom"; config: ZoomConfigOut; } interface IngestSourceOutTelnyx { type: "telnyx"; config: TelnyxConfigOut; } interface IngestSourceOutVapi { type: "vapi"; config: VapiConfigOut; } interface IngestSourceOutOpenAi { type: "open-ai"; config: SvixConfigOut; } interface IngestSourceOutRender { type: "render"; config: SvixConfigOut; } interface IngestSourceOutVeriff { type: "veriff"; config: VeriffConfigOut; } interface IngestSourceOutAirwallex { type: "airwallex"; config: AirwallexConfigOut; } export type IngestSourceOut = _IngestSourceOutFields & ( | IngestSourceOutGenericWebhook | IngestSourceOutCron | IngestSourceOutAdobeSign | IngestSourceOutBeehiiv | IngestSourceOutBrex | IngestSourceOutCheckbook | IngestSourceOutClerk | IngestSourceOutDocusign | IngestSourceOutEasypost | IngestSourceOutGithub | IngestSourceOutGuesty | IngestSourceOutHubspot | IngestSourceOutIncidentIo | IngestSourceOutLithic | IngestSourceOutNash | IngestSourceOutOrumIo | IngestSourceOutPandaDoc | IngestSourceOutPortIo | IngestSourceOutPleo | IngestSourceOutReplicate | IngestSourceOutResend | IngestSourceOutRutter | IngestSourceOutSafebase | IngestSourceOutSardine | IngestSourceOutSegment | IngestSourceOutShopify | IngestSourceOutSlack | IngestSourceOutStripe | IngestSourceOutStych | IngestSourceOutSvix | IngestSourceOutZoom | IngestSourceOutTelnyx | IngestSourceOutVapi | IngestSourceOutOpenAi | IngestSourceOutRender | IngestSourceOutVeriff | IngestSourceOutAirwallex ); export const IngestSourceOutSerializer = { _fromJsonObject(object: any): IngestSourceOut { const type = object["type"]; function getConfig(type: string): any { switch (type) { case "generic-webhook": return {}; case "cron": return CronConfigSerializer._fromJsonObject(object["config"]); case "adobe-sign": return AdobeSignConfigOutSerializer._fromJsonObject(object["config"]); case "beehiiv": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "brex": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "checkbook": return CheckbookConfigOutSerializer._fromJsonObject(object["config"]); case "clerk": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "docusign": return DocusignConfigOutSerializer._fromJsonObject(object["config"]); case "easypost": return EasypostConfigOutSerializer._fromJsonObject(object["config"]); case "github": return GithubConfigOutSerializer._fromJsonObject(object["config"]); case "guesty": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "hubspot": return HubspotConfigOutSerializer._fromJsonObject(object["config"]); case "incident-io": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "lithic": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "nash": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "orum-io": return OrumIoConfigOutSerializer._fromJsonObject(object["config"]); case "panda-doc": return PandaDocConfigOutSerializer._fromJsonObject(object["config"]); case "port-io": return PortIoConfigOutSerializer._fromJsonObject(object["config"]); case "pleo": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "replicate": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "resend": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "rutter": return RutterConfigOutSerializer._fromJsonObject(object["config"]); case "safebase": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "sardine": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "segment": return SegmentConfigOutSerializer._fromJsonObject(object["config"]); case "shopify": return ShopifyConfigOutSerializer._fromJsonObject(object["config"]); case "slack": return SlackConfigOutSerializer._fromJsonObject(object["config"]); case "stripe": return StripeConfigOutSerializer._fromJsonObject(object["config"]); case "stych": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "svix": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "zoom": return ZoomConfigOutSerializer._fromJsonObject(object["config"]); case "telnyx": return TelnyxConfigOutSerializer._fromJsonObject(object["config"]); case "vapi": return VapiConfigOutSerializer._fromJsonObject(object["config"]); case "open-ai": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "render": return SvixConfigOutSerializer._fromJsonObject(object["config"]); case "veriff": return VeriffConfigOutSerializer._fromJsonObject(object["config"]); case "airwallex": return AirwallexConfigOutSerializer._fromJsonObject(object["config"]); default: throw new Error(`Unexpected type: ${type}`); } } return { type, config: getConfig(type), createdAt: new Date(object["createdAt"]), id: object["id"], ingestUrl: object["ingestUrl"], metadata: object["metadata"], name: object["name"], uid: object["uid"], updatedAt: new Date(object["updatedAt"]), }; }, _toJsonObject(self: IngestSourceOut): any { // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any let config; switch (self.type) { case "generic-webhook": config = {}; break; case "cron": config = CronConfigSerializer._toJsonObject(self.config); break; case "adobe-sign": config = AdobeSignConfigOutSerializer._toJsonObject(self.config); break; case "beehiiv": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "brex": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "checkbook": config = CheckbookConfigOutSerializer._toJsonObject(self.config); break; case "clerk": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "docusign": config = DocusignConfigOutSerializer._toJsonObject(self.config); break; case "easypost": config = EasypostConfigOutSerializer._toJsonObject(self.config); break; case "github": config = GithubConfigOutSerializer._toJsonObject(self.config); break; case "guesty": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "hubspot": config = HubspotConfigOutSerializer._toJsonObject(self.config); break; case "incident-io": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "lithic": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "nash": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "orum-io": config = OrumIoConfigOutSerializer._toJsonObject(self.config); break; case "panda-doc": config = PandaDocConfigOutSerializer._toJsonObject(self.config); break; case "port-io": config = PortIoConfigOutSerializer._toJsonObject(self.config); break; case "pleo": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "replicate": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "resend": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "rutter": config = RutterConfigOutSerializer._toJsonObject(self.config); break; case "safebase": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "sardine": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "segment": config = SegmentConfigOutSerializer._toJsonObject(self.config); break; case "shopify": config = ShopifyConfigOutSerializer._toJsonObject(self.config); break; case "slack": config = SlackConfigOutSerializer._toJsonObject(self.config); break; case "stripe": config = StripeConfigOutSerializer._toJsonObject(self.config); break; case "stych": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "svix": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "zoom": config = ZoomConfigOutSerializer._toJsonObject(self.config); break; case "telnyx": config = TelnyxConfigOutSerializer._toJsonObject(self.config); break; case "vapi": config = VapiConfigOutSerializer._toJsonObject(self.config); break; case "open-ai": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "render": config = SvixConfigOutSerializer._toJsonObject(self.config); break; case "veriff": config = VeriffConfigOutSerializer._toJsonObject(self.config); break; case "airwallex": config = AirwallexConfigOutSerializer._toJsonObject(self.config); break; } return { type: self.type, config: config, createdAt: self.createdAt, id: self.id, ingestUrl: self.ingestUrl, metadata: self.metadata, name: self.name, uid: self.uid, updatedAt: self.updatedAt, }; }, };