콘텐츠로 이동

NotificationStoreSuite — @gj-kit/nest-notifications

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

import { NotificationStoreSuite } from '@gj-kit/nest-notifications/testing';
/**
* What the contract cases drive. A host implements it by wiring its own three
* stores plus thin adapters over its publisher and account lifecycle, so the
* obligations that live outside `NotificationRelayStore` — I1-I3 (ingress) and
* L1-L4 (lifecycle) — are checkable against a real implementation rather than
* only against ours.
*/
interface NotificationStoreSuite {
readonly relayStore: NotificationRelayStore;
readonly deliveryStore: NotificationDeliveryStore;
readonly endpointStore: NotificationEndpointStore;
/** Runs the host's publisher inside its own transaction. Checks I1-I3, and so G1. */
stage(command: NotificationCommand): Promise<NotificationStageResult>;
/** Runs the host's account lifecycle for one recipient. Checks L1-L4, and so G7. */
tombstoneRecipient(input: {
readonly applicationKey: string;
readonly recipientRef: string;
}): Promise<void>;
/** Registers or refreshes an endpoint and returns what `listEnabled` would observe. */
registerEndpoint(input: {
readonly applicationKey: string;
readonly recipientRef: string;
readonly provider: string;
readonly address: string;
}): Promise<ObservedNotificationEndpoint>;
setCategoryEnabled(input: {
readonly applicationKey: string;
readonly recipientRef: string;
readonly category: string;
readonly enabled: boolean;
}): Promise<void>;
}

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

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

What the contract cases drive. A host implements it by wiring its own three stores plus thin adapters over its publisher and account lifecycle, so the obligations that live outside NotificationRelayStore — I1-I3 (ingress) and L1-L4 (lifecycle) — are checkable against a real implementation rather than only against ours.