/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { subscribersNotificationsArchive } from "../funcs/subscribersNotificationsArchive.js"; import { subscribersNotificationsArchiveAll } from "../funcs/subscribersNotificationsArchiveAll.js"; import { subscribersNotificationsArchiveAllRead } from "../funcs/subscribersNotificationsArchiveAllRead.js"; import { subscribersNotificationsCompleteAction } from "../funcs/subscribersNotificationsCompleteAction.js"; import { subscribersNotificationsCount } from "../funcs/subscribersNotificationsCount.js"; import { subscribersNotificationsDelete } from "../funcs/subscribersNotificationsDelete.js"; import { subscribersNotificationsDeleteAll } from "../funcs/subscribersNotificationsDeleteAll.js"; import { subscribersNotificationsFeed } from "../funcs/subscribersNotificationsFeed.js"; import { subscribersNotificationsList } from "../funcs/subscribersNotificationsList.js"; import { subscribersNotificationsMarkAllAsRead } from "../funcs/subscribersNotificationsMarkAllAsRead.js"; import { subscribersNotificationsMarkAsRead } from "../funcs/subscribersNotificationsMarkAsRead.js"; import { subscribersNotificationsMarkAsSeen } from "../funcs/subscribersNotificationsMarkAsSeen.js"; import { subscribersNotificationsMarkAsUnread } from "../funcs/subscribersNotificationsMarkAsUnread.js"; import { subscribersNotificationsRevertAction } from "../funcs/subscribersNotificationsRevertAction.js"; import { subscribersNotificationsSnooze } from "../funcs/subscribersNotificationsSnooze.js"; import { subscribersNotificationsUnarchive } from "../funcs/subscribersNotificationsUnarchive.js"; import { subscribersNotificationsUnseenCount } from "../funcs/subscribersNotificationsUnseenCount.js"; import { subscribersNotificationsUnsnooze } from "../funcs/subscribersNotificationsUnsnooze.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 NovuNotifications extends ClientSDK { /** * Retrieve subscriber notifications * * @remarks * Retrieve in-app (inbox) notifications for a subscriber by its unique key identifier **subscriberId**. * Supports filtering by tags, read/archived/snoozed/seen state, data attributes, severity, date range, and context keys. */ async list( request: operations.SubscribersControllerGetSubscriberNotificationsRequest, options?: RequestOptions, ): Promise< operations.SubscribersControllerGetSubscriberNotificationsResponse > { return unwrapAsync(subscribersNotificationsList( this, request, options, )); } /** * Delete a notification * * @remarks * Delete a specific in-app (inbox) notification permanently by its unique identifier **notificationId**. */ async delete( request: operations.SubscribersControllerDeleteNotificationRequest, options?: RequestOptions, ): Promise< operations.SubscribersControllerDeleteNotificationResponse | undefined > { return unwrapAsync(subscribersNotificationsDelete( this, request, options, )); } /** * Complete a notification action * * @remarks * Mark a single in-app (inbox) notification's action (primary or secondary) as completed by its unique identifier **notificationId** and action type **actionType**. */ async completeAction( request: operations.SubscribersControllerCompleteNotificationActionRequest, options?: RequestOptions, ): Promise< operations.SubscribersControllerCompleteNotificationActionResponse > { return unwrapAsync(subscribersNotificationsCompleteAction( this, request, options, )); } /** * Revert a notification action * * @remarks * Revert a single in-app (inbox) notification's action (primary or secondary) to pending state by its unique identifier **notificationId** and action type **actionType**. */ async revertAction( request: operations.SubscribersControllerRevertNotificationActionRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsRevertAction( this, request, options, )); } /** * Archive a notification * * @remarks * Archive a specific in-app (inbox) notification by its unique identifier **notificationId**. */ async archive( request: operations.SubscribersControllerArchiveNotificationRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsArchive( this, request, options, )); } /** * Mark a notification as read * * @remarks * Mark a specific in-app (inbox) notification as read by its unique identifier **notificationId**. */ async markAsRead( request: operations.SubscribersControllerMarkNotificationAsReadRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsMarkAsRead( this, request, options, )); } /** * Snooze a notification * * @remarks * Snooze a specific in-app (inbox) notification by its unique identifier **notificationId** until a specified time. */ async snooze( request: operations.SubscribersControllerSnoozeNotificationRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsSnooze( this, request, options, )); } /** * Unarchive a notification * * @remarks * Unarchive a specific in-app (inbox) notification by its unique identifier **notificationId**. */ async unarchive( request: operations.SubscribersControllerUnarchiveNotificationRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsUnarchive( this, request, options, )); } /** * Mark a notification as unread * * @remarks * Mark a specific in-app (inbox) notification as unread by its unique identifier **notificationId**. */ async markAsUnread( request: operations.SubscribersControllerMarkNotificationAsUnreadRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsMarkAsUnread( this, request, options, )); } /** * Unsnooze a notification * * @remarks * Unsnooze a specific in-app (inbox) notification by its unique identifier **notificationId**. */ async unsnooze( request: operations.SubscribersControllerUnsnoozeNotificationRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsUnsnooze( this, request, options, )); } /** * Archive all notifications * * @remarks * Archive all in-app (inbox) notifications matching the specified filters. Supports context-based filtering. */ async archiveAll( updateAllSubscriberNotificationsDto: components.UpdateAllSubscriberNotificationsDto, subscriberId: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise< operations.SubscribersControllerArchiveAllNotificationsResponse | undefined > { return unwrapAsync(subscribersNotificationsArchiveAll( this, updateAllSubscriberNotificationsDto, subscriberId, idempotencyKey, options, )); } /** * Retrieve subscriber notifications count * * @remarks * Retrieve count of in-app (inbox) notifications for a subscriber by its unique key identifier **subscriberId**. * Supports multiple filters to count in-app (inbox) notifications by different criteria, including context keys. */ async count( subscriberId: string, filters: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise< operations.SubscribersControllerGetSubscriberNotificationsCountResponse > { return unwrapAsync(subscribersNotificationsCount( this, subscriberId, filters, idempotencyKey, options, )); } /** * Delete all notifications * * @remarks * Permanently delete all in-app (inbox) notifications matching the specified filters. Supports context-based filtering. */ async deleteAll( updateAllSubscriberNotificationsDto: components.UpdateAllSubscriberNotificationsDto, subscriberId: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise< operations.SubscribersControllerDeleteAllNotificationsResponse | undefined > { return unwrapAsync(subscribersNotificationsDeleteAll( this, updateAllSubscriberNotificationsDto, subscriberId, idempotencyKey, options, )); } /** * Mark all notifications as read * * @remarks * Mark all in-app (inbox) notifications matching the specified filters as read. Supports context-based filtering. */ async markAllAsRead( updateAllSubscriberNotificationsDto: components.UpdateAllSubscriberNotificationsDto, subscriberId: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise< | operations.SubscribersControllerMarkAllNotificationsAsReadResponse | undefined > { return unwrapAsync(subscribersNotificationsMarkAllAsRead( this, updateAllSubscriberNotificationsDto, subscriberId, idempotencyKey, options, )); } /** * Archive all read notifications * * @remarks * Archive all read in-app (inbox) notifications matching the specified filters. Supports context-based filtering. */ async archiveAllRead( updateAllSubscriberNotificationsDto: components.UpdateAllSubscriberNotificationsDto, subscriberId: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise< | operations.SubscribersControllerArchiveAllReadNotificationsResponse | undefined > { return unwrapAsync(subscribersNotificationsArchiveAllRead( this, updateAllSubscriberNotificationsDto, subscriberId, idempotencyKey, options, )); } /** * Mark notifications as seen * * @remarks * Mark specific and multiple in-app (inbox) notifications as seen. Supports context-based filtering. */ async markAsSeen( markSubscriberNotificationsAsSeenDto: components.MarkSubscriberNotificationsAsSeenDto, subscriberId: string, idempotencyKey?: string | undefined, options?: RequestOptions, ): Promise< operations.SubscribersControllerMarkNotificationsAsSeenResponse | undefined > { return unwrapAsync(subscribersNotificationsMarkAsSeen( this, markSubscriberNotificationsAsSeenDto, subscriberId, idempotencyKey, options, )); } /** * Retrieve subscriber notifications * * @remarks * Retrieve subscriber in-app (inbox) notifications by its unique key identifier **subscriberId**. */ async feed( request: operations.SubscribersV1ControllerGetNotificationsFeedRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsFeed( this, request, options, )); } /** * Retrieve unseen notifications count * * @remarks * Retrieve unseen in-app (inbox) notifications count for a subscriber by its unique key identifier **subscriberId**. */ async unseenCount( request: operations.SubscribersV1ControllerGetUnseenCountRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscribersNotificationsUnseenCount( this, request, options, )); } }