콘텐츠로 이동

TossPaymentsPostgres — @gj-kit/toss-payments-postgresql

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

import { TossPaymentsPostgres } from '@gj-kit/toss-payments-postgresql/testing';
interface TossPaymentsPostgres {
readonly orders: OrderStore;
readonly depositSecrets: DepositSecretStore;
/**
* 코어 BillingKeyStore + PostgreSQL conditional compare-and-mutate 확장.
*
* `deleteIfBillingKeyMatches`/`replaceIfBillingKeyMatches`는 stale BILLING_DELETED와
* projection 보상 경합에서 무조건 delete/save 대신 사용하는 원자적 API다.
*/
readonly billingKeys: PgBillingKeyStore;
readonly cancelRetries: CancelRetryStore;
readonly webhookDedupe: WebhookDedupeStore;
readonly audit: AuditSink & {
flush(): Promise<void>;
};
readonly inbox: WebhookInboxStore;
/**
* 앱이 만든 nonsecret HMAC/blind-index key로 짧은 host lifecycle을 인스턴스 간
* 순서화하는 PostgreSQL advisory transaction lock facility.
*
* 이 API는 다른 ORM connection의 transaction과 2PC 원자성을 만들지 않는다. provider
* network I/O가 아니라 local durable finalization만 callback에 넣어야 한다.
*/
readonly opaqueLocks: PgOpaqueAdvisoryLocks;
/** 명시 호출 전용 — 부팅 시 자동 실행 없음. `app.listen` 전에 await하는 것이 골든 패스. */
migrate(): Promise<MigrationResult>;
/**
* TTL 행 정리 — 명시 호출 전용(자동 타이머 없음). audit_entries·webhook_inbox·
* orders·deposit_secrets는 지우지 않는다 — 보관 정책은 소비자 책임.
*/
cleanup(): Promise<CleanupResult>;
}

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

  • 패키지: @gj-kit/toss-payments-postgresql
  • 버전: 0.5.1
  • 공개 entry: ./testing
  • 소스: GitHub