@yolo-croket-dev/amqp-access 0.7.387 → 0.7.389

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -63,12 +63,15 @@ export declare class BuymaOrderCommandPayload {
63
63
  expectedRevision: number;
64
64
  /** Gateway가 인증된 관리자에서 채운다. HTTP body의 값은 사용하지 않는다. */
65
65
  actorId: string;
66
- reason: string;
66
+ /** 상태 선택은 서버가 변경 내용을 자동 기록한다. 다른 업무의 근거 요구는 서비스가 검증한다. */
67
+ reason?: string;
67
68
  }
68
69
  export declare class UpdateBuymaOrderPayload extends BuymaOrderCommandPayload {
69
70
  fields: BuymaManualFieldsPayload;
70
71
  }
71
72
  export declare class ConfirmBuymaPaymentPayload extends BuymaOrderCommandPayload {
73
+ operation?: 'CONFIRM' | 'REVOKE';
74
+ confirmationEventId?: string;
72
75
  paidAt?: string | null;
73
76
  }
74
77
  export declare class ConnectBuymaProcurementPayload extends BuymaOrderCommandPayload {
@@ -84,7 +87,8 @@ export declare class ConnectBuymaProcurementPayload extends BuymaOrderCommandPay
84
87
  purchaseCost?: BuymaMoneyPayload | null;
85
88
  }
86
89
  export declare class ChangeBuymaOrderStatusPayload extends BuymaOrderCommandPayload {
87
- orderStatus: Exclude<BuymaOrderStatus, 'REFUNDED'>;
90
+ orderStatus: BuymaOrderStatus;
91
+ /** 이전 클라이언트 호환용. 상태 선택은 별도 수량 확인 없이 기록한다. */
88
92
  fullQuantityDelivered?: boolean;
89
93
  deliveredAt?: string | null;
90
94
  }
@@ -324,6 +324,7 @@ __decorate([
324
324
  __metadata("design:type", String)
325
325
  ], BuymaOrderCommandPayload.prototype, "actorId", void 0);
326
326
  __decorate([
327
+ (0, class_validator_1.IsOptional)(),
327
328
  (0, class_validator_1.IsString)(),
328
329
  (0, class_validator_1.MaxLength)(2000),
329
330
  __metadata("design:type", String)
@@ -340,6 +341,19 @@ __decorate([
340
341
  class ConfirmBuymaPaymentPayload extends BuymaOrderCommandPayload {
341
342
  }
342
343
  exports.ConfirmBuymaPaymentPayload = ConfirmBuymaPaymentPayload;
344
+ __decorate([
345
+ (0, class_validator_1.IsOptional)(),
346
+ (0, class_validator_1.IsIn)([
347
+ 'CONFIRM',
348
+ 'REVOKE',
349
+ ]),
350
+ __metadata("design:type", String)
351
+ ], ConfirmBuymaPaymentPayload.prototype, "operation", void 0);
352
+ __decorate([
353
+ (0, class_validator_1.IsOptional)(),
354
+ (0, class_validator_1.IsMongoId)(),
355
+ __metadata("design:type", String)
356
+ ], ConfirmBuymaPaymentPayload.prototype, "confirmationEventId", void 0);
343
357
  __decorate([
344
358
  (0, class_validator_1.IsOptional)(),
345
359
  (0, class_validator_1.IsString)(),
@@ -411,8 +425,8 @@ class ChangeBuymaOrderStatusPayload extends BuymaOrderCommandPayload {
411
425
  }
412
426
  exports.ChangeBuymaOrderStatusPayload = ChangeBuymaOrderStatusPayload;
413
427
  __decorate([
414
- (0, class_validator_1.IsIn)(entity_v2_1.BUYMA_ORDER_STATUSES.filter((value) => value !== 'REFUNDED')),
415
- __metadata("design:type", Object)
428
+ (0, class_validator_1.IsIn)(entity_v2_1.BUYMA_ORDER_STATUSES),
429
+ __metadata("design:type", String)
416
430
  ], ChangeBuymaOrderStatusPayload.prototype, "orderStatus", void 0);
417
431
  __decorate([
418
432
  (0, class_validator_1.IsOptional)(),
@@ -63,6 +63,13 @@ export interface BuymaSharedProcurementOrder extends Pick<BuymaOrderEntity, '_id
63
63
  procurement: Pick<NonNullable<BuymaOrderEntity['procurement']>, 'allocationStatus' | 'croketOptionName'> | null;
64
64
  }
65
65
  export interface GetBuymaOrderResult {
66
+ /** 수기 확인 전후 기록으로 계산하는 취소 가능 여부. 주문에 저장하지 않는다. */
67
+ paymentConfirmationReversal?: {
68
+ eventId: string | null;
69
+ previousStatus: 'PENDING_PAYMENT' | 'UNVERIFIED' | null;
70
+ canRevoke: boolean;
71
+ blockedReason: string | null;
72
+ } | null;
66
73
  /** 조회 시 연결된 Croket 구매 건에서 읽은 process. 주문에 저장하지 않는다. */
67
74
  croketPurchaseProcess?: string | null;
68
75
  /** 활성 크로켓 연결이 없으면 null. 연결 원천이 없으면 객체의 각 값이 null이다. */
@@ -5,3 +5,4 @@ export * from './cancel-reservation-by-admin-bulk.dto';
5
5
  export * from './change-reservation-card-quota.dto';
6
6
  export * from './change-reservation-billing-card.dto';
7
7
  export * from './retry-reservation-billing-payment.dto';
8
+ export * from './send-reservation-period-changed-notification.dto';
@@ -21,3 +21,4 @@ __exportStar(require("./cancel-reservation-by-admin-bulk.dto"), exports);
21
21
  __exportStar(require("./change-reservation-card-quota.dto"), exports);
22
22
  __exportStar(require("./change-reservation-billing-card.dto"), exports);
23
23
  __exportStar(require("./retry-reservation-billing-payment.dto"), exports);
24
+ __exportStar(require("./send-reservation-period-changed-notification.dto"), exports);
@@ -0,0 +1,12 @@
1
+ export declare class SendReservationPeriodChangedNotificationPayload {
2
+ itemId: string;
3
+ reservationStartDate: string;
4
+ reservationEndDate: string;
5
+ afterBuyerId?: string;
6
+ }
7
+ export interface SendReservationPeriodChangedNotificationResult {
8
+ targetCount: number;
9
+ successCount: number;
10
+ failCount: number;
11
+ nextBuyerId?: string;
12
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SendReservationPeriodChangedNotificationPayload = void 0;
13
+ /**
14
+ * @author 홍준
15
+ * @description 저장된 예약 기간 변경 알림의 배치 요청 및 결과 계약
16
+ * @process 상품과 저장 기간 검증 → 구매자별 최대 20명 발송 → 다음 구매자 cursor 반환
17
+ */
18
+ const class_validator_1 = require("class-validator");
19
+ class SendReservationPeriodChangedNotificationPayload {
20
+ }
21
+ exports.SendReservationPeriodChangedNotificationPayload = SendReservationPeriodChangedNotificationPayload;
22
+ __decorate([
23
+ (0, class_validator_1.IsMongoId)(),
24
+ __metadata("design:type", String)
25
+ ], SendReservationPeriodChangedNotificationPayload.prototype, "itemId", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsISO8601)(),
28
+ __metadata("design:type", String)
29
+ ], SendReservationPeriodChangedNotificationPayload.prototype, "reservationStartDate", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsISO8601)(),
32
+ __metadata("design:type", String)
33
+ ], SendReservationPeriodChangedNotificationPayload.prototype, "reservationEndDate", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsOptional)(),
36
+ (0, class_validator_1.IsMongoId)(),
37
+ __metadata("design:type", String)
38
+ ], SendReservationPeriodChangedNotificationPayload.prototype, "afterBuyerId", void 0);
@@ -1,10 +1,16 @@
1
1
  import { ClientProxy } from '@nestjs/microservices';
2
2
  import { AbstractParam } from '@yolo-croket-dev/core';
3
- import { ApproveReservationBillingPaymentBulkPayload, ApproveReservationBillingPaymentBulkResult, CancelReservationByBuyerPayload, CancelReservationResult, CancelReservationByAdminPayload, CancelReservationByAdminBulkPayload, CancelReservationByAdminBulkResult, ChangeReservationCardQuotaPayload, ChangeReservationBillingCardPayload, RetryReservationBillingPaymentPayload, RetryReservationBillingPaymentResult, GetReservationForExcelByAdminPayload, GetReservationForExcelByAdminResult, GetReservationListForAdminPayload, GetReservationListForAdminResult } from '../../dto/purchased-info.modules/purchased-info-reservation';
3
+ import { SendReservationPeriodChangedNotificationPayload, SendReservationPeriodChangedNotificationResult, ApproveReservationBillingPaymentBulkPayload, ApproveReservationBillingPaymentBulkResult, CancelReservationByBuyerPayload, CancelReservationResult, CancelReservationByAdminPayload, CancelReservationByAdminBulkPayload, CancelReservationByAdminBulkResult, ChangeReservationCardQuotaPayload, ChangeReservationBillingCardPayload, RetryReservationBillingPaymentPayload, RetryReservationBillingPaymentResult, GetReservationForExcelByAdminPayload, GetReservationForExcelByAdminResult, GetReservationListForAdminPayload, GetReservationListForAdminResult } from '../../dto/purchased-info.modules/purchased-info-reservation';
4
4
  export declare class AmqpPurchasedInfoReservationService {
5
5
  private readonly client;
6
6
  private readonly amqpManager;
7
7
  constructor(client: ClientProxy);
8
+ /**
9
+ * @author 홍준
10
+ * @description 예약 기간 변경 알림 배치 발송
11
+ * @process order-server의 구매자 중복 제거 및 템플릿 발송 결과 반환
12
+ */
13
+ sendReservationPeriodChangedNotification(payload: SendReservationPeriodChangedNotificationPayload, param: AbstractParam): Promise<SendReservationPeriodChangedNotificationResult>;
8
14
  /** 예약 상품 일괄 빌링 결제 승인 (확보 처리) */
9
15
  approveReservationBillingPaymentBulk(payload: ApproveReservationBillingPaymentBulkPayload, param: AbstractParam): Promise<ApproveReservationBillingPaymentBulkResult>;
10
16
  /** 구매자의 예약 취소 */
@@ -26,6 +26,14 @@ let AmqpPurchasedInfoReservationService = class AmqpPurchasedInfoReservationServ
26
26
  this.client = client;
27
27
  this.amqpManager = new functions_1.AmqpManagement(this.client);
28
28
  }
29
+ /**
30
+ * @author 홍준
31
+ * @description 예약 기간 변경 알림 배치 발송
32
+ * @process order-server의 구매자 중복 제거 및 템플릿 발송 결과 반환
33
+ */
34
+ async sendReservationPeriodChangedNotification(payload, param) {
35
+ return this.amqpManager.call('예약 기간 변경 알림 발송', 'purchased-info-reservation.send.period-changed-notification', payload, param, { isErrorThrowing: true });
36
+ }
29
37
  /** 예약 상품 일괄 빌링 결제 승인 (확보 처리) */
30
38
  async approveReservationBillingPaymentBulk(payload, param) {
31
39
  return this.amqpManager.call('예약 상품 일괄 빌링 결제 승인', 'purchased-info-reservation.approve.billing-payment-bulk', payload, param, { isErrorThrowing: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yolo-croket-dev/amqp-access",
3
- "version": "0.7.387",
3
+ "version": "0.7.389",
4
4
  "main": "index.js",
5
5
  "author": "Yolo Co., Ltd.",
6
6
  "description": "크로켓 amqp-access npm",
@@ -10,5 +10,6 @@ export declare class AmqpSignupCertificationService {
10
10
  private readonly client;
11
11
  private readonly amqpManager;
12
12
  constructor(client: ClientProxy);
13
+ /** @param payload - 가입 인증 귀속 요청. @param param - 기존 인증·추적 문맥. @returns 발행된 계약과 동일한 귀속 결과. */
13
14
  claim(payload: ClaimSignupCertificationPayload, param: AbstractParam): Promise<ClaimSignupCertificationResult>;
14
15
  }
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AmqpSignupCertificationService = void 0;
16
+ /** @author jun @description 기존 발행본의 가입 인증 client 원본 복구. @process amqp-access 0.7.387의 공개 경로와 호출 동작을 유지한다. */
16
17
  const common_1 = require("@nestjs/common");
17
18
  const microservices_1 = require("@nestjs/microservices");
18
19
  const functions_1 = require("@yolo-croket-dev/core/functions");
@@ -26,6 +27,7 @@ let AmqpSignupCertificationService = class AmqpSignupCertificationService {
26
27
  this.client = client;
27
28
  this.amqpManager = new functions_1.AmqpManagement(this.client);
28
29
  }
30
+ /** @param payload - 가입 인증 귀속 요청. @param param - 기존 인증·추적 문맥. @returns 발행된 계약과 동일한 귀속 결과. */
29
31
  async claim(payload, param) {
30
32
  return this.amqpManager.call('가입 전 본인인증 사용자 귀속', 'signup-certification.claim', payload, param, { isErrorThrowing: true });
31
33
  }