콘텐츠로 이동

NotificationRelayTransaction — @gj-kit/nest-notifications

@gj-kit/nest-notifications/core에서 공개하는 interface입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.

import { NotificationRelayTransaction } from '@gj-kit/nest-notifications/core';
interface NotificationRelayTransaction {
/** Re-read the locked source row. `null` means it is gone (recipient purge). */
readCommand(): Promise<ClaimedNotificationCommand | null>;
/** Category preference gate. Absent rows mean enabled. */
isCategoryEnabled(input: {
readonly recipientRef: string;
readonly category: string;
}): Promise<boolean>;
/** Idempotency probe for this source row (G2). */
findDeliveryBySource(): Promise<{
readonly deliveryId: string;
} | null>;
findOpenBatch(key: BatchIdentity): Promise<OpenBatchDelivery | null>;
/** Conditional merge. `false` means the batch closed between read and write (R6). */
mergeIntoBatch(input: MergeBatchInput): Promise<boolean>;
/** Conflict-safe. Never throws on the batch-identity unique constraint (R11). */
createDelivery(input: CreateDeliveryInput): Promise<CreateDeliveryResult>;
/** `false` means an item for this source row already existed (R4). */
appendItem(input: AppendItemInput): Promise<boolean>;
}

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/nest-notifications
  • 버전: 0.1.1
  • 공개 entry: ./core
  • 소스: GitHub