/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { topicsSubscriptionsCreate } from "../funcs/topicsSubscriptionsCreate.js"; import { topicsSubscriptionsDelete } from "../funcs/topicsSubscriptionsDelete.js"; import { topicsSubscriptionsGetSubscription } from "../funcs/topicsSubscriptionsGetSubscription.js"; import { topicsSubscriptionsList } from "../funcs/topicsSubscriptionsList.js"; import { topicsSubscriptionsUpdate } from "../funcs/topicsSubscriptionsUpdate.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"; export class Subscriptions extends ClientSDK { /** * List topic subscriptions * * @remarks * List all subscriptions of subscribers for a topic. * Checkout all available filters in the query section. */ async list( request: operations.TopicsControllerListTopicSubscriptionsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(topicsSubscriptionsList( this, request, options, )); } /** * Create topic subscriptions * * @remarks * This api will create subscription for subscriberIds for a topic. * Its like subscribing to a common interest group. if topic does not exist, it will be created. */ async create( createTopicSubscriptionsRequestDto: components.CreateTopicSubscriptionsRequestDto, topicKey: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(topicsSubscriptionsCreate( this, createTopicSubscriptionsRequestDto, topicKey, idempotencyKey, options, )); } /** * Delete topic subscriptions * * @remarks * Delete subscriptions for subscriberIds for a topic. */ async delete( deleteTopicSubscriptionsRequestDto: components.DeleteTopicSubscriptionsRequestDto, topicKey: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(topicsSubscriptionsDelete( this, deleteTopicSubscriptionsRequestDto, topicKey, idempotencyKey, options, )); } /** * Retrieve a topic subscription * * @remarks * Retrieve a subscription by its unique identifier for a topic. */ async getSubscription( topicKey: string, identifier: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(topicsSubscriptionsGetSubscription( this, topicKey, identifier, idempotencyKey, options, )); } /** * Update a topic subscription * * @remarks * Update a subscription by its unique identifier for a topic. You can update the preferences and name associated with the subscription. */ async update( request: operations.TopicsControllerUpdateTopicSubscriptionRequest, options?: RequestOptions, ): Promise { return unwrapAsync(topicsSubscriptionsUpdate( this, request, options, )); } }