UNPKG

svix

Version:

Svix webhooks API client and webhook verification library

479 lines (434 loc) 14.1 kB
// this file is @generated import { type AdobeSignConfig, AdobeSignConfigSerializer } from "./adobeSignConfig"; import { type AirwallexConfig, AirwallexConfigSerializer } from "./airwallexConfig"; import { type CheckbookConfig, CheckbookConfigSerializer } from "./checkbookConfig"; import { type CronConfig, CronConfigSerializer } from "./cronConfig"; import { type DocusignConfig, DocusignConfigSerializer } from "./docusignConfig"; import { type EasypostConfig, EasypostConfigSerializer } from "./easypostConfig"; import { type GithubConfig, GithubConfigSerializer } from "./githubConfig"; import { type HubspotConfig, HubspotConfigSerializer } from "./hubspotConfig"; import { type OrumIoConfig, OrumIoConfigSerializer } from "./orumIoConfig"; import { type PandaDocConfig, PandaDocConfigSerializer } from "./pandaDocConfig"; import { type PortIoConfig, PortIoConfigSerializer } from "./portIoConfig"; import { type RutterConfig, RutterConfigSerializer } from "./rutterConfig"; import { type SegmentConfig, SegmentConfigSerializer } from "./segmentConfig"; import { type ShopifyConfig, ShopifyConfigSerializer } from "./shopifyConfig"; import { type SlackConfig, SlackConfigSerializer } from "./slackConfig"; import { type StripeConfig, StripeConfigSerializer } from "./stripeConfig"; import { type SvixConfig, SvixConfigSerializer } from "./svixConfig"; import { type TelnyxConfig, TelnyxConfigSerializer } from "./telnyxConfig"; import { type VapiConfig, VapiConfigSerializer } from "./vapiConfig"; import { type VeriffConfig, VeriffConfigSerializer } from "./veriffConfig"; import { type ZoomConfig, ZoomConfigSerializer } from "./zoomConfig"; interface _IngestSourceInFields { metadata?: { [key: string]: string }; name: string; /** The Source's UID. */ uid?: string | null; } // biome-ignore lint/suspicious/noEmptyInterface: backwards compat interface IngestSourceInGenericWebhookConfig {} interface IngestSourceInGenericWebhook { type: "generic-webhook"; config?: IngestSourceInGenericWebhookConfig; } interface IngestSourceInCron { type: "cron"; config: CronConfig; } interface IngestSourceInAdobeSign { type: "adobe-sign"; config: AdobeSignConfig; } interface IngestSourceInBeehiiv { type: "beehiiv"; config: SvixConfig; } interface IngestSourceInBrex { type: "brex"; config: SvixConfig; } interface IngestSourceInCheckbook { type: "checkbook"; config: CheckbookConfig; } interface IngestSourceInClerk { type: "clerk"; config: SvixConfig; } interface IngestSourceInDocusign { type: "docusign"; config: DocusignConfig; } interface IngestSourceInEasypost { type: "easypost"; config: EasypostConfig; } interface IngestSourceInGithub { type: "github"; config: GithubConfig; } interface IngestSourceInGuesty { type: "guesty"; config: SvixConfig; } interface IngestSourceInHubspot { type: "hubspot"; config: HubspotConfig; } interface IngestSourceInIncidentIo { type: "incident-io"; config: SvixConfig; } interface IngestSourceInLithic { type: "lithic"; config: SvixConfig; } interface IngestSourceInNash { type: "nash"; config: SvixConfig; } interface IngestSourceInOrumIo { type: "orum-io"; config: OrumIoConfig; } interface IngestSourceInPandaDoc { type: "panda-doc"; config: PandaDocConfig; } interface IngestSourceInPortIo { type: "port-io"; config: PortIoConfig; } interface IngestSourceInPleo { type: "pleo"; config: SvixConfig; } interface IngestSourceInReplicate { type: "replicate"; config: SvixConfig; } interface IngestSourceInResend { type: "resend"; config: SvixConfig; } interface IngestSourceInRutter { type: "rutter"; config: RutterConfig; } interface IngestSourceInSafebase { type: "safebase"; config: SvixConfig; } interface IngestSourceInSardine { type: "sardine"; config: SvixConfig; } interface IngestSourceInSegment { type: "segment"; config: SegmentConfig; } interface IngestSourceInShopify { type: "shopify"; config: ShopifyConfig; } interface IngestSourceInSlack { type: "slack"; config: SlackConfig; } interface IngestSourceInStripe { type: "stripe"; config: StripeConfig; } interface IngestSourceInStych { type: "stych"; config: SvixConfig; } interface IngestSourceInSvix { type: "svix"; config: SvixConfig; } interface IngestSourceInZoom { type: "zoom"; config: ZoomConfig; } interface IngestSourceInTelnyx { type: "telnyx"; config: TelnyxConfig; } interface IngestSourceInVapi { type: "vapi"; config: VapiConfig; } interface IngestSourceInOpenAi { type: "open-ai"; config: SvixConfig; } interface IngestSourceInRender { type: "render"; config: SvixConfig; } interface IngestSourceInVeriff { type: "veriff"; config: VeriffConfig; } interface IngestSourceInAirwallex { type: "airwallex"; config: AirwallexConfig; } export type IngestSourceIn = _IngestSourceInFields & ( | IngestSourceInGenericWebhook | IngestSourceInCron | IngestSourceInAdobeSign | IngestSourceInBeehiiv | IngestSourceInBrex | IngestSourceInCheckbook | IngestSourceInClerk | IngestSourceInDocusign | IngestSourceInEasypost | IngestSourceInGithub | IngestSourceInGuesty | IngestSourceInHubspot | IngestSourceInIncidentIo | IngestSourceInLithic | IngestSourceInNash | IngestSourceInOrumIo | IngestSourceInPandaDoc | IngestSourceInPortIo | IngestSourceInPleo | IngestSourceInReplicate | IngestSourceInResend | IngestSourceInRutter | IngestSourceInSafebase | IngestSourceInSardine | IngestSourceInSegment | IngestSourceInShopify | IngestSourceInSlack | IngestSourceInStripe | IngestSourceInStych | IngestSourceInSvix | IngestSourceInZoom | IngestSourceInTelnyx | IngestSourceInVapi | IngestSourceInOpenAi | IngestSourceInRender | IngestSourceInVeriff | IngestSourceInAirwallex ); export const IngestSourceInSerializer = { _fromJsonObject(object: any): IngestSourceIn { 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 AdobeSignConfigSerializer._fromJsonObject(object["config"]); case "beehiiv": return SvixConfigSerializer._fromJsonObject(object["config"]); case "brex": return SvixConfigSerializer._fromJsonObject(object["config"]); case "checkbook": return CheckbookConfigSerializer._fromJsonObject(object["config"]); case "clerk": return SvixConfigSerializer._fromJsonObject(object["config"]); case "docusign": return DocusignConfigSerializer._fromJsonObject(object["config"]); case "easypost": return EasypostConfigSerializer._fromJsonObject(object["config"]); case "github": return GithubConfigSerializer._fromJsonObject(object["config"]); case "guesty": return SvixConfigSerializer._fromJsonObject(object["config"]); case "hubspot": return HubspotConfigSerializer._fromJsonObject(object["config"]); case "incident-io": return SvixConfigSerializer._fromJsonObject(object["config"]); case "lithic": return SvixConfigSerializer._fromJsonObject(object["config"]); case "nash": return SvixConfigSerializer._fromJsonObject(object["config"]); case "orum-io": return OrumIoConfigSerializer._fromJsonObject(object["config"]); case "panda-doc": return PandaDocConfigSerializer._fromJsonObject(object["config"]); case "port-io": return PortIoConfigSerializer._fromJsonObject(object["config"]); case "pleo": return SvixConfigSerializer._fromJsonObject(object["config"]); case "replicate": return SvixConfigSerializer._fromJsonObject(object["config"]); case "resend": return SvixConfigSerializer._fromJsonObject(object["config"]); case "rutter": return RutterConfigSerializer._fromJsonObject(object["config"]); case "safebase": return SvixConfigSerializer._fromJsonObject(object["config"]); case "sardine": return SvixConfigSerializer._fromJsonObject(object["config"]); case "segment": return SegmentConfigSerializer._fromJsonObject(object["config"]); case "shopify": return ShopifyConfigSerializer._fromJsonObject(object["config"]); case "slack": return SlackConfigSerializer._fromJsonObject(object["config"]); case "stripe": return StripeConfigSerializer._fromJsonObject(object["config"]); case "stych": return SvixConfigSerializer._fromJsonObject(object["config"]); case "svix": return SvixConfigSerializer._fromJsonObject(object["config"]); case "zoom": return ZoomConfigSerializer._fromJsonObject(object["config"]); case "telnyx": return TelnyxConfigSerializer._fromJsonObject(object["config"]); case "vapi": return VapiConfigSerializer._fromJsonObject(object["config"]); case "open-ai": return SvixConfigSerializer._fromJsonObject(object["config"]); case "render": return SvixConfigSerializer._fromJsonObject(object["config"]); case "veriff": return VeriffConfigSerializer._fromJsonObject(object["config"]); case "airwallex": return AirwallexConfigSerializer._fromJsonObject(object["config"]); default: throw new Error(`Unexpected type: ${type}`); } } return { type, config: getConfig(type), metadata: object["metadata"], name: object["name"], uid: object["uid"], }; }, _toJsonObject(self: IngestSourceIn): 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 = AdobeSignConfigSerializer._toJsonObject(self.config); break; case "beehiiv": config = SvixConfigSerializer._toJsonObject(self.config); break; case "brex": config = SvixConfigSerializer._toJsonObject(self.config); break; case "checkbook": config = CheckbookConfigSerializer._toJsonObject(self.config); break; case "clerk": config = SvixConfigSerializer._toJsonObject(self.config); break; case "docusign": config = DocusignConfigSerializer._toJsonObject(self.config); break; case "easypost": config = EasypostConfigSerializer._toJsonObject(self.config); break; case "github": config = GithubConfigSerializer._toJsonObject(self.config); break; case "guesty": config = SvixConfigSerializer._toJsonObject(self.config); break; case "hubspot": config = HubspotConfigSerializer._toJsonObject(self.config); break; case "incident-io": config = SvixConfigSerializer._toJsonObject(self.config); break; case "lithic": config = SvixConfigSerializer._toJsonObject(self.config); break; case "nash": config = SvixConfigSerializer._toJsonObject(self.config); break; case "orum-io": config = OrumIoConfigSerializer._toJsonObject(self.config); break; case "panda-doc": config = PandaDocConfigSerializer._toJsonObject(self.config); break; case "port-io": config = PortIoConfigSerializer._toJsonObject(self.config); break; case "pleo": config = SvixConfigSerializer._toJsonObject(self.config); break; case "replicate": config = SvixConfigSerializer._toJsonObject(self.config); break; case "resend": config = SvixConfigSerializer._toJsonObject(self.config); break; case "rutter": config = RutterConfigSerializer._toJsonObject(self.config); break; case "safebase": config = SvixConfigSerializer._toJsonObject(self.config); break; case "sardine": config = SvixConfigSerializer._toJsonObject(self.config); break; case "segment": config = SegmentConfigSerializer._toJsonObject(self.config); break; case "shopify": config = ShopifyConfigSerializer._toJsonObject(self.config); break; case "slack": config = SlackConfigSerializer._toJsonObject(self.config); break; case "stripe": config = StripeConfigSerializer._toJsonObject(self.config); break; case "stych": config = SvixConfigSerializer._toJsonObject(self.config); break; case "svix": config = SvixConfigSerializer._toJsonObject(self.config); break; case "zoom": config = ZoomConfigSerializer._toJsonObject(self.config); break; case "telnyx": config = TelnyxConfigSerializer._toJsonObject(self.config); break; case "vapi": config = VapiConfigSerializer._toJsonObject(self.config); break; case "open-ai": config = SvixConfigSerializer._toJsonObject(self.config); break; case "render": config = SvixConfigSerializer._toJsonObject(self.config); break; case "veriff": config = VeriffConfigSerializer._toJsonObject(self.config); break; case "airwallex": config = AirwallexConfigSerializer._toJsonObject(self.config); break; } return { type: self.type, config: config, metadata: self.metadata, name: self.name, uid: self.uid, }; }, };