Skip to content

NotificationDeliveryStore — @gj-kit/nest-notifications

A public interface from @gj-kit/nest-notifications/core. The signature below is taken directly from the 0.1.1 release declaration.

import { NotificationDeliveryStore } from '@gj-kit/nest-notifications/core';
interface NotificationDeliveryStore {
/**
* Atomically claim due deliveries. The claim MUST also stamp the presentation
* lock in the same statement (D1): split into two statements, a relay can merge
* an item in between and the user never sees it.
*/
claimDue(request: DispatchClaimRequest): Promise<readonly ClaimedNotificationDelivery[]>;
materializeInTransaction<T>(request: DispatchTransactionRequest, work: (tx: NotificationDispatchTransaction) => Promise<T>): Promise<T | null>;
/** `false` means the claim was lost; `deliveredAt` is unchanged (D3). */
complete(request: DispatchCompleteRequest): Promise<boolean>;
/**
* Release a failed claim. The presentation lock is NOT released: the inbox
* sentence may already have been shown to the user (D1).
*/
releaseClaim(request: DispatchReleaseRequest): Promise<void>;
}

This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.

  • Package: @gj-kit/nest-notifications
  • Version: 0.1.1
  • Public entry: ./core
  • Source: GitHub