/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { validateWebhook } from "../funcs/validateWebhook.js"; import { ClientSDK } from "../lib/sdks.js"; import { WebhookBenefitCreatedPayload } from "../models/components/webhookbenefitcreatedpayload.js"; import { WebhookBenefitGrantCreatedPayload } from "../models/components/webhookbenefitgrantcreatedpayload.js"; import { WebhookBenefitGrantCycledPayload } from "../models/components/webhookbenefitgrantcycledpayload.js"; import { WebhookBenefitGrantRevokedPayload } from "../models/components/webhookbenefitgrantrevokedpayload.js"; import { WebhookBenefitGrantUpdatedPayload } from "../models/components/webhookbenefitgrantupdatedpayload.js"; import { WebhookBenefitUpdatedPayload } from "../models/components/webhookbenefitupdatedpayload.js"; import { WebhookCheckoutCreatedPayload } from "../models/components/webhookcheckoutcreatedpayload.js"; import { WebhookCheckoutExpiredPayload } from "../models/components/webhookcheckoutexpiredpayload.js"; import { WebhookCheckoutUpdatedPayload } from "../models/components/webhookcheckoutupdatedpayload.js"; import { WebhookCustomerCreatedPayload } from "../models/components/webhookcustomercreatedpayload.js"; import { WebhookCustomerDeletedPayload } from "../models/components/webhookcustomerdeletedpayload.js"; import { WebhookCustomerSeatAssignedPayload } from "../models/components/webhookcustomerseatassignedpayload.js"; import { WebhookCustomerSeatClaimedPayload } from "../models/components/webhookcustomerseatclaimedpayload.js"; import { WebhookCustomerSeatRevokedPayload } from "../models/components/webhookcustomerseatrevokedpayload.js"; import { WebhookCustomerStateChangedPayload } from "../models/components/webhookcustomerstatechangedpayload.js"; import { WebhookCustomerUpdatedPayload } from "../models/components/webhookcustomerupdatedpayload.js"; import { WebhookMemberCreatedPayload } from "../models/components/webhookmembercreatedpayload.js"; import { WebhookMemberDeletedPayload } from "../models/components/webhookmemberdeletedpayload.js"; import { WebhookMemberUpdatedPayload } from "../models/components/webhookmemberupdatedpayload.js"; import { WebhookOrderCreatedPayload } from "../models/components/webhookordercreatedpayload.js"; import { WebhookOrderPaidPayload } from "../models/components/webhookorderpaidpayload.js"; import { WebhookOrderRefundedPayload } from "../models/components/webhookorderrefundedpayload.js"; import { WebhookOrderUpdatedPayload } from "../models/components/webhookorderupdatedpayload.js"; import { WebhookOrganizationUpdatedPayload } from "../models/components/webhookorganizationupdatedpayload.js"; import { WebhookProductCreatedPayload } from "../models/components/webhookproductcreatedpayload.js"; import { WebhookProductUpdatedPayload } from "../models/components/webhookproductupdatedpayload.js"; import { WebhookRefundCreatedPayload } from "../models/components/webhookrefundcreatedpayload.js"; import { WebhookRefundUpdatedPayload } from "../models/components/webhookrefundupdatedpayload.js"; import { WebhookSubscriptionActivePayload } from "../models/components/webhooksubscriptionactivepayload.js"; import { WebhookSubscriptionCanceledPayload } from "../models/components/webhooksubscriptioncanceledpayload.js"; import { WebhookSubscriptionCreatedPayload } from "../models/components/webhooksubscriptioncreatedpayload.js"; import { WebhookSubscriptionPastDuePayload } from "../models/components/webhooksubscriptionpastduepayload.js"; import { WebhookSubscriptionRevokedPayload } from "../models/components/webhooksubscriptionrevokedpayload.js"; import { WebhookSubscriptionUncanceledPayload } from "../models/components/webhooksubscriptionuncanceledpayload.js"; import { WebhookSubscriptionUpdatedPayload } from "../models/components/webhooksubscriptionupdatedpayload.js"; import { unwrapAsync } from "../types/fp.js"; import { BenefitGrants } from "./benefitgrants.js"; import { Benefits } from "./benefits.js"; import { CheckoutLinks } from "./checkoutlinks.js"; import { Checkouts } from "./checkouts.js"; import { CustomerMeters } from "./customermeters.js"; import { CustomerPortal } from "./customerportal.js"; import { Customers } from "./customers.js"; import { CustomerSeats } from "./customerseats.js"; import { CustomerSessions } from "./customersessions.js"; import { CustomFields } from "./customfields.js"; import { Discounts } from "./discounts.js"; import { Disputes } from "./disputes.js"; import { Events } from "./events.js"; import { EventTypes } from "./eventtypes.js"; import { Files } from "./files.js"; import { LicenseKeys } from "./licensekeys.js"; import { Members } from "./members.js"; import { Meters } from "./meters.js"; import { Metrics } from "./metrics.js"; import { Oauth2 } from "./oauth2.js"; import { Orders } from "./orders.js"; import { OrganizationAccessTokens } from "./organizationaccesstokens.js"; import { Organizations } from "./organizations.js"; import { Payments } from "./payments.js"; import { Products } from "./products.js"; import { Refunds } from "./refunds.js"; import { Subscriptions } from "./subscriptions.js"; import { Webhooks } from "./webhooks.js"; export class Polar extends ClientSDK { private _organizations?: Organizations; get organizations(): Organizations { return (this._organizations ??= new Organizations(this._options)); } private _subscriptions?: Subscriptions; get subscriptions(): Subscriptions { return (this._subscriptions ??= new Subscriptions(this._options)); } private _oauth2?: Oauth2; get oauth2(): Oauth2 { return (this._oauth2 ??= new Oauth2(this._options)); } private _benefits?: Benefits; get benefits(): Benefits { return (this._benefits ??= new Benefits(this._options)); } private _benefitGrants?: BenefitGrants; get benefitGrants(): BenefitGrants { return (this._benefitGrants ??= new BenefitGrants(this._options)); } private _webhooks?: Webhooks; get webhooks(): Webhooks { return (this._webhooks ??= new Webhooks(this._options)); } private _products?: Products; get products(): Products { return (this._products ??= new Products(this._options)); } private _orders?: Orders; get orders(): Orders { return (this._orders ??= new Orders(this._options)); } private _refunds?: Refunds; get refunds(): Refunds { return (this._refunds ??= new Refunds(this._options)); } private _disputes?: Disputes; get disputes(): Disputes { return (this._disputes ??= new Disputes(this._options)); } private _checkouts?: Checkouts; get checkouts(): Checkouts { return (this._checkouts ??= new Checkouts(this._options)); } private _files?: Files; get files(): Files { return (this._files ??= new Files(this._options)); } private _metrics?: Metrics; get metrics(): Metrics { return (this._metrics ??= new Metrics(this._options)); } private _licenseKeys?: LicenseKeys; get licenseKeys(): LicenseKeys { return (this._licenseKeys ??= new LicenseKeys(this._options)); } private _checkoutLinks?: CheckoutLinks; get checkoutLinks(): CheckoutLinks { return (this._checkoutLinks ??= new CheckoutLinks(this._options)); } private _customFields?: CustomFields; get customFields(): CustomFields { return (this._customFields ??= new CustomFields(this._options)); } private _discounts?: Discounts; get discounts(): Discounts { return (this._discounts ??= new Discounts(this._options)); } private _customers?: Customers; get customers(): Customers { return (this._customers ??= new Customers(this._options)); } private _members?: Members; get members(): Members { return (this._members ??= new Members(this._options)); } private _customerPortal?: CustomerPortal; get customerPortal(): CustomerPortal { return (this._customerPortal ??= new CustomerPortal(this._options)); } private _customerSeats?: CustomerSeats; get customerSeats(): CustomerSeats { return (this._customerSeats ??= new CustomerSeats(this._options)); } private _customerSessions?: CustomerSessions; get customerSessions(): CustomerSessions { return (this._customerSessions ??= new CustomerSessions(this._options)); } private _events?: Events; get events(): Events { return (this._events ??= new Events(this._options)); } private _eventTypes?: EventTypes; get eventTypes(): EventTypes { return (this._eventTypes ??= new EventTypes(this._options)); } private _meters?: Meters; get meters(): Meters { return (this._meters ??= new Meters(this._options)); } private _organizationAccessTokens?: OrganizationAccessTokens; get organizationAccessTokens(): OrganizationAccessTokens { return (this._organizationAccessTokens ??= new OrganizationAccessTokens( this._options, )); } private _customerMeters?: CustomerMeters; get customerMeters(): CustomerMeters { return (this._customerMeters ??= new CustomerMeters(this._options)); } private _payments?: Payments; get payments(): Payments { return (this._payments ??= new Payments(this._options)); } async validateWebhook({ request, }: { request: { body: string; headers: Record | Headers; url: string; method: string; } | Request; }): Promise< | WebhookCheckoutCreatedPayload | WebhookCheckoutUpdatedPayload | WebhookCheckoutExpiredPayload | WebhookCustomerCreatedPayload | WebhookCustomerUpdatedPayload | WebhookCustomerDeletedPayload | WebhookCustomerStateChangedPayload | WebhookCustomerSeatAssignedPayload | WebhookCustomerSeatClaimedPayload | WebhookCustomerSeatRevokedPayload | WebhookMemberCreatedPayload | WebhookMemberUpdatedPayload | WebhookMemberDeletedPayload | WebhookOrderCreatedPayload | WebhookOrderUpdatedPayload | WebhookOrderPaidPayload | WebhookOrderRefundedPayload | WebhookSubscriptionCreatedPayload | WebhookSubscriptionUpdatedPayload | WebhookSubscriptionActivePayload | WebhookSubscriptionCanceledPayload | WebhookSubscriptionUncanceledPayload | WebhookSubscriptionRevokedPayload | WebhookSubscriptionPastDuePayload | WebhookRefundCreatedPayload | WebhookRefundUpdatedPayload | WebhookProductCreatedPayload | WebhookProductUpdatedPayload | WebhookOrganizationUpdatedPayload | WebhookBenefitCreatedPayload | WebhookBenefitUpdatedPayload | WebhookBenefitGrantCreatedPayload | WebhookBenefitGrantUpdatedPayload | WebhookBenefitGrantCycledPayload | WebhookBenefitGrantRevokedPayload > { return unwrapAsync(validateWebhook( this, { request }, )); } }