/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { subscriberCreatePushSubscription } from "../funcs/subscriberCreatePushSubscription.js"; import { subscriberDeletePushSubscription } from "../funcs/subscriberDeletePushSubscription.js"; import { subscriberGetPushSubscription } from "../funcs/subscriberGetPushSubscription.js"; import { subscriberGetPushSubscriptionDelivery } from "../funcs/subscriberGetPushSubscriptionDelivery.js"; import { subscriberListPushSubscriptionDeliveries } from "../funcs/subscriberListPushSubscriptionDeliveries.js"; import { subscriberListPushSubscriptions } from "../funcs/subscriberListPushSubscriptions.js"; import { subscriberUpdatePushSubscription } from "../funcs/subscriberUpdatePushSubscription.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as components from "../models/components/index.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; import { PageIterator, unwrapResultIterator } from "../types/operations.js"; export class Subscriber extends ClientSDK { /** * Create Push Subscription * * @remarks * Creates a new push subscription for event notifications. */ async createPushSubscription( request: components.PushSubscriptionCreate, options?: RequestOptions, ): Promise { return unwrapAsync(subscriberCreatePushSubscription( this, request, options, )); } /** * List Push Subscriptions * * @remarks * Gets a list of push subscriptions. */ async listPushSubscriptions( filter?: string | undefined, pageSize?: number | undefined, pageToken?: string | undefined, options?: RequestOptions, ): Promise< PageIterator< operations.SubscriberListPushSubscriptionsResponse, { cursor: string } > > { return unwrapResultIterator(subscriberListPushSubscriptions( this, filter, pageSize, pageToken, options, )); } /** * Get Push Subscription * * @remarks * Gets the details of a specific push subscription. */ async getPushSubscription( subscriptionId: string, options?: RequestOptions, ): Promise { return unwrapAsync(subscriberGetPushSubscription( this, subscriptionId, options, )); } /** * Update Subscription * * @remarks * Updates the details of a push subscription. */ async updatePushSubscription( pushSubscriptionUpdate: components.PushSubscriptionUpdate, subscriptionId: string, updateMask?: string | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(subscriberUpdatePushSubscription( this, pushSubscriptionUpdate, subscriptionId, updateMask, options, )); } /** * Delete Subscription * * @remarks * Stops receiving events from a push subscription, and then deletes it. */ async deletePushSubscription( subscriptionId: string, options?: RequestOptions, ): Promise { return unwrapAsync(subscriberDeletePushSubscription( this, subscriptionId, options, )); } /** * Get Subscription Event Delivery * * @remarks * Gets the details of a specific push subscription delivery. */ async getPushSubscriptionDelivery( subscriptionId: string, deliveryId: string, options?: RequestOptions, ): Promise { return unwrapAsync(subscriberGetPushSubscriptionDelivery( this, subscriptionId, deliveryId, options, )); } /** * List Push Subscription Event Deliveries * * @remarks * Gets a list of a push subscription's event deliveries. */ async listPushSubscriptionDeliveries( subscriptionId: string, filter?: string | undefined, pageSize?: number | undefined, pageToken?: string | undefined, options?: RequestOptions, ): Promise< PageIterator< operations.SubscriberListPushSubscriptionDeliveriesResponse, { cursor: string } > > { return unwrapResultIterator(subscriberListPushSubscriptionDeliveries( this, subscriptionId, filter, pageSize, pageToken, options, )); } }