콘텐츠로 이동

NotificationPublisher — @gj-kit/nest-notifications

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

import { NotificationPublisher } from '@gj-kit/nest-notifications/core';
/**
* The only port source-domain code needs. `Transaction` stays generic because
* staging happens inside the host's own source transaction — this is the one
* port in this package that takes a host transaction object (design 3.4.1).
*
* Implementations owe obligations I1-I3 (design 3.3.6): conflict-safe insert,
* a liveness gate acquired before the insert, and a staging timestamp written
* exactly once.
*/
interface NotificationPublisher<Transaction = unknown> {
stage(transaction: Transaction, command: NotificationCommand): Promise<NotificationStageResult>;
}

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

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

The only port source-domain code needs. Transaction stays generic because staging happens inside the host’s own source transaction — this is the one port in this package that takes a host transaction object (design 3.4.1).

Implementations owe obligations I1-I3 (design 3.3.6): conflict-safe insert, a liveness gate acquired before the insert, and a staging timestamp written exactly once.