sk-front-lib 0.19.15 → 0.19.16

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.
@@ -28,9 +28,28 @@ export declare class SkOrderService {
28
28
  }): Observable<any>;
29
29
  updateAdminShippingStatus(id: string, data: any): Observable<any>;
30
30
  deleteAdminOrders(orders: ISkOrderList[]): Observable<any>;
31
+ /**
32
+ * Design Ref: vbank-cancel-toss §4.2 — 사용자 자가 취소 (Plan FR-11).
33
+ *
34
+ * data 페이로드는 PaymentType별로 가변 필드:
35
+ * - 공통: cancelType, cancelDesc, agree
36
+ * - TRANSFER 분기: bankName, bankAcc, bankOwner (기존 보존)
37
+ * - VBANK 분기 (NEW): vbankRefundIntent + (intent=ALREADY_DEPOSITED일 때만) vbankRefundBankCode/AccountNumber/HolderName
38
+ *
39
+ * 백엔드 OrderReqDTO.Cancel과 키 정합 필수 (drift 시 토스 환불 누락 위험).
40
+ * Optional 필드들은 Angular `formGroup.value`가 disable된 컨트롤을 자동 제외하므로
41
+ * 호출 측은 단순히 formGroup.value를 그대로 전달하면 됨.
42
+ */
31
43
  cancelOrder(id: string, data: {
32
44
  cancelType: SkOrderCancelType;
33
45
  cancelDesc: String;
46
+ bankName?: string;
47
+ bankAcc?: string;
48
+ bankOwner?: string;
49
+ vbankRefundIntent?: 'ALREADY_DEPOSITED' | 'NOT_YET_DEPOSITED';
50
+ vbankRefundBankCode?: string;
51
+ vbankRefundAccountNumber?: string;
52
+ vbankRefundHolderName?: string;
34
53
  }): Observable<SkOrderDetail>;
35
54
  startProgress(id: string, data: ISkOrderReqProgress): Observable<SkOrderStatus>;
36
55
  moveToMyOrder(id: string): Observable<string>;
@@ -84,6 +84,18 @@ export class SkOrderService {
84
84
  deleteAdminOrders(orders) {
85
85
  return this._apiService.delete(`/api/admin/orders/${orders.map(order => order.id).join(',')}`);
86
86
  }
87
+ /**
88
+ * Design Ref: vbank-cancel-toss §4.2 — 사용자 자가 취소 (Plan FR-11).
89
+ *
90
+ * data 페이로드는 PaymentType별로 가변 필드:
91
+ * - 공통: cancelType, cancelDesc, agree
92
+ * - TRANSFER 분기: bankName, bankAcc, bankOwner (기존 보존)
93
+ * - VBANK 분기 (NEW): vbankRefundIntent + (intent=ALREADY_DEPOSITED일 때만) vbankRefundBankCode/AccountNumber/HolderName
94
+ *
95
+ * 백엔드 OrderReqDTO.Cancel과 키 정합 필수 (drift 시 토스 환불 누락 위험).
96
+ * Optional 필드들은 Angular `formGroup.value`가 disable된 컨트롤을 자동 제외하므로
97
+ * 호출 측은 단순히 formGroup.value를 그대로 전달하면 됨.
98
+ */
87
99
  cancelOrder(id, data) {
88
100
  return this._apiService.put(`/api/public/orders/${id}/cancel`, data)
89
101
  .pipe(map(result => result.data));
@@ -130,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
130
142
  providedIn: 'root'
131
143
  }]
132
144
  }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stb3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9jcnVkL3NyYy9zay1vcmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQVFILGFBQWEsRUFHaEIsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSzVCLE1BQU0sT0FBTyxjQUFjO0lBRXZCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBMkIsSUFBSSxnQkFBZ0IsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUM3RSxJQUFJLENBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUM3QixDQUFDO0lBQ1YsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUM7YUFDakQsSUFBSSxDQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDN0IsQ0FBQztJQUNWLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFpQixxQkFBcUIsRUFBRSxFQUFFLENBQUM7YUFDakUsSUFB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QUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDNUwsSUFBSSxDQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQ2xDLENBQUM7SUFDVixDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQVUsRUFBRSxPQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFvQixzQkFBc0IsRUFBRSxlQUFlLEVBQUU7WUFDckYsYUFBYSxFQUFFLE9BQU87U0FDekIsQ0FBQyxDQUFDLElBQUksQ0FDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7OzRHQW5NUSxjQUFjO2dIQUFkLGNBQWMsY0FGWCxNQUFNOzRGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBcGlQYWdlYWJsZSwgQXBpUGFnZWFibGVQYXJhbSwgU2tBcGlTZXJ2aWNlIH0gZnJvbSAnc2stZnJvbnQtbGliL2FwaSc7XG5pbXBvcnQge1xuICAgIElTa09yZGVyQ291bnQsXG4gICAgSVNrT3JkZXJEZXRhaWwsXG4gICAgSVNrT3JkZXJMaXN0LFxuICAgIElTa09yZGVyTG9nLFxuICAgIElTa09yZGVyUmVxUHJvZ3Jlc3MsXG4gICAgSVNrU2hpcHBpbmdGZWUsXG4gICAgSVNrVmFsaWRhdGVDb3Vwb24sIFNrT3JkZXJDYW5jZWxUeXBlLFxuICAgIFNrT3JkZXJEZXRhaWwsXG4gICAgU2tPcmRlclN0YXR1cyxcbiAgICBTa1NoaXBwaW5nTWV0aG9kXG59IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tPcmRlclNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5PcmRlcnMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8SVNrT3JkZXJMaXN0Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZShgL2FwaS9hZG1pbi9vcmRlcnNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbk9yZGVyc0NvdW50KCk6IE9ic2VydmFibGU8SVNrT3JkZXJDb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQoYC9hcGkvYWRtaW4vb3JkZXJzL2NvdW50YClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluT3JkZXIoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8U2tPcmRlckRldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJEZXRhaWw+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfWApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IG5ldyBTa09yZGVyRGV0YWlsKHJlc3VsdC5kYXRhKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0TXlPcmRlcnMoKTogT2JzZXJ2YWJsZTxJU2tPcmRlckxpc3RbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJMaXN0W10+KGAvYXBpL3B1YmxpYy9vcmRlcnMvbWVgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0TXlMYXRlc3RPcmRlcnMoKTogT2JzZXJ2YWJsZTxJU2tPcmRlckxpc3RbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJMaXN0W10+KGAvYXBpL3B1YmxpYy9vcmRlcnMvbWUvbGF0ZXN0YClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldE9yZGVyRGV0YWlsKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNrT3JkZXJEZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa09yZGVyRGV0YWlsPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9YClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFNrT3JkZXJEZXRhaWwocmVzdWx0LmRhdGEpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRPcmRlclN0YXR1cyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTa09yZGVyU3RhdHVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa09yZGVyU3RhdHVzPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L3N0YXR1c2ApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRPcmRlckxvZ3MoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SVNrT3JkZXJMb2dbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJMb2dbXT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2xvZ3NgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSB8fCBbXSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5PcmRlcihkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrT3JkZXJEZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxJU2tPcmRlckRldGFpbD4oYC9hcGkvYWRtaW4vb3JkZXJzYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFNrT3JkZXJEZXRhaWwocmVzdWx0LmRhdGEpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhZGRPcmRlckxvZyhpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9sb2dzYCwge21lc3NhZ2V9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSB8fCBbXSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5PcmRlckJhc2VJbmZvKGlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9pbmZvYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluQ29uZmlybVRyYW5zZmVyUGF5bWVudChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2NvbmZpcm0tcGF5bWVudC90cmFuc2ZlcmAsIG51bGwpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkNhbmNlbChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2NhbmNlbGAsIHt9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5DYW5jZWxGb3JjZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2NhbmNlbC9mb3JjZWAsIHt9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9jZXNzU3RhcnQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9wcm9jZXNzLXN0YXJ0YCwge30pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkNvbXBsZXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vY29tcGxldGVgLCB7fSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUGF5bWVudChpZDogc3RyaW5nLCBkYXRhOiB7IHR4SWQ6IHN0cmluZywgY2FyZE5hbWU6IHN0cmluZywgY2FyZFF1b3RhOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS91cGRhdGUtcGF5bWVudGAsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblNoaXBwaW5nU3RhdHVzKGlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS91cGRhdGUtc2hpcHBpbmctc3RhdHVzYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluT3JkZXJzKG9yZGVyczogSVNrT3JkZXJMaXN0W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGU8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtvcmRlcnMubWFwKG9yZGVyID0+IG9yZGVyLmlkKS5qb2luKCcsJyl9YCk7XG4gICAgfVxuXG4gICAgY2FuY2VsT3JkZXIoaWQ6IHN0cmluZywgZGF0YToge2NhbmNlbFR5cGU6IFNrT3JkZXJDYW5jZWxUeXBlLCBjYW5jZWxEZXNjOiBTdHJpbmd9KTogT2JzZXJ2YWJsZTxTa09yZGVyRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa09yZGVyRGV0YWlsPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L2NhbmNlbGAsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKSlcbiAgICB9XG5cbiAgICBzdGFydFByb2dyZXNzKGlkOiBzdHJpbmcsIGRhdGE6IElTa09yZGVyUmVxUHJvZ3Jlc3MpOiBPYnNlcnZhYmxlPFNrT3JkZXJTdGF0dXM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrT3JkZXJTdGF0dXM+KGAvYXBpL3B1YmxpYy9vcmRlcnMvJHtpZH0vcHJvZ3Jlc3NgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgbW92ZVRvTXlPcmRlcihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PHN0cmluZz4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfS9tb3ZlYCwge30pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblNoaXBwaW5nRmVlTGlzdCgpOiBPYnNlcnZhYmxlPElTa1NoaXBwaW5nRmVlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1NoaXBwaW5nRmVlW10+KGAvYXBpL2FkbWluL29yZGVycy9zaGlwcGluZy1mZWVzYClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluU2hpcHBpbmdGZWUoZGF0YTogSVNrU2hpcHBpbmdGZWUpOiBPYnNlcnZhYmxlPElTa1NoaXBwaW5nRmVlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrU2hpcHBpbmdGZWU+KGAvYXBpL2FkbWluL29yZGVycy9zaGlwcGluZy1mZWVzYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluU2hpcHBpbmdGZWUoaWQ6IG51bWJlciwgZGF0YTogSVNrU2hpcHBpbmdGZWUpOiBPYnNlcnZhYmxlPElTa1NoaXBwaW5nRmVlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tTaGlwcGluZ0ZlZT4oYC9hcGkvYWRtaW4vb3JkZXJzL3NoaXBwaW5nLWZlZXMvJHtpZH1gLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5TaGlwcGluZ0ZlZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlPGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzL3NoaXBwaW5nLWZlZXMvJHtpZH1gKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlU2hpcHBpbmdGZWUoaWQ6IHN0cmluZywgbWV0aG9kOiBTa1NoaXBwaW5nTWV0aG9kLCB6aXBDb2RlOiBzdHJpbmcsIHNlcmlhbHM6IHN0cmluZ1tdID0gW10pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8bnVtYmVyPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L2NhbGN1bGF0ZS1zaGlwcGluZy1mZWVgLCBuZXcgSHR0cFBhcmFtcygpLmFwcGVuZCgnbWV0aG9kJywgbWV0aG9kKS5hcHBlbmQoJ3ppcENvZGUnLCB6aXBDb2RlKS5hcHBlbmQoJ3NlcmlhbHMnLCBzZXJpYWxzLmpvaW4oJywnKSkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhIHx8IDApXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHZhbGlkYXRlQ291cG9uKGlkOiBzdHJpbmcsIHNlcmlhbHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxJU2tWYWxpZGF0ZUNvdXBvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PElTa1ZhbGlkYXRlQ291cG9uPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L2NoZWNrLWNvdXBvbmAsIHtcbiAgICAgICAgICAgIGNvdXBvblNlcmlhbHM6IHNlcmlhbHNcbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEgfHwge2Rpc2NvdW50QW1vdW50OiAwLCBjb3Vwb25EYXRhOiBbXX0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stb3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9jcnVkL3NyYy9zay1vcmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQVFILGFBQWEsRUFHaEIsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSzVCLE1BQU0sT0FBTyxjQUFjO0lBRXZCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBMkIsSUFBSSxnQkFBZ0IsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUM3RSxJQUFJLENBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUM3QixDQUFDO0lBQ1YsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUM7YUFDakQsSUFBSSxDQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDN0IsQ0FBQztJQUNWLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFpQixxQkFBcUIsRUFBRSxFQUFFLENBQUM7YUFDakUsSUFB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QU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQzVMLElBQUksQ0FDRCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUNsQyxDQUFDO0lBQ1YsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFVLEVBQUUsT0FBaUI7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBb0Isc0JBQXNCLEVBQUUsZUFBZSxFQUFFO1lBQ3JGLGFBQWEsRUFBRSxPQUFPO1NBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQ0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQ3BFLENBQUM7SUFDTixDQUFDOzs0R0EzTlEsY0FBYztnSEFBZCxjQUFjLGNBRlgsTUFBTTs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXBpUGFnZWFibGUsIEFwaVBhZ2VhYmxlUGFyYW0sIFNrQXBpU2VydmljZSB9IGZyb20gJ3NrLWZyb250LWxpYi9hcGknO1xuaW1wb3J0IHtcbiAgICBJU2tPcmRlckNvdW50LFxuICAgIElTa09yZGVyRGV0YWlsLFxuICAgIElTa09yZGVyTGlzdCxcbiAgICBJU2tPcmRlckxvZyxcbiAgICBJU2tPcmRlclJlcVByb2dyZXNzLFxuICAgIElTa1NoaXBwaW5nRmVlLFxuICAgIElTa1ZhbGlkYXRlQ291cG9uLCBTa09yZGVyQ2FuY2VsVHlwZSxcbiAgICBTa09yZGVyRGV0YWlsLFxuICAgIFNrT3JkZXJTdGF0dXMsXG4gICAgU2tTaGlwcGluZ01ldGhvZFxufSBmcm9tICdzay1mcm9udC1saWIvbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrT3JkZXJTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwaVNlcnZpY2U6IFNrQXBpU2VydmljZSkge1xuICAgIH1cblxuICAgIGdldEFkbWluT3JkZXJzKHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPEFwaVBhZ2VhYmxlPElTa09yZGVyTGlzdD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGUoYC9hcGkvYWRtaW4vb3JkZXJzYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5PcmRlcnNDb3VudCgpOiBPYnNlcnZhYmxlPElTa09yZGVyQ291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0KGAvYXBpL2FkbWluL29yZGVycy9jb3VudGApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbk9yZGVyKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNrT3JkZXJEZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa09yZGVyRGV0YWlsPihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH1gKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgU2tPcmRlckRldGFpbChyZXN1bHQuZGF0YSkpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldE15T3JkZXJzKCk6IE9ic2VydmFibGU8SVNrT3JkZXJMaXN0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa09yZGVyTGlzdFtdPihgL2FwaS9wdWJsaWMvb3JkZXJzL21lYClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldE15TGF0ZXN0T3JkZXJzKCk6IE9ic2VydmFibGU8SVNrT3JkZXJMaXN0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa09yZGVyTGlzdFtdPihgL2FwaS9wdWJsaWMvb3JkZXJzL21lL2xhdGVzdGApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRPcmRlckRldGFpbChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTa09yZGVyRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tPcmRlckRldGFpbD4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfWApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IG5ldyBTa09yZGVyRGV0YWlsKHJlc3VsdC5kYXRhKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0T3JkZXJTdGF0dXMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8U2tPcmRlclN0YXR1cz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tPcmRlclN0YXR1cz4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfS9zdGF0dXNgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0T3JkZXJMb2dzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElTa09yZGVyTG9nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa09yZGVyTG9nW10+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9sb2dzYClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEgfHwgW10pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluT3JkZXIoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa09yZGVyRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrT3JkZXJEZXRhaWw+KGAvYXBpL2FkbWluL29yZGVyc2AsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IG5ldyBTa09yZGVyRGV0YWlsKHJlc3VsdC5kYXRhKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgYWRkT3JkZXJMb2coaWQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdChgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vbG9nc2AsIHttZXNzYWdlfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEgfHwgW10pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluT3JkZXJCYXNlSW5mbyhpZDogc3RyaW5nLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vaW5mb2AsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkNvbmZpcm1UcmFuc2ZlclBheW1lbnQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9jb25maXJtLXBheW1lbnQvdHJhbnNmZXJgLCBudWxsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5DYW5jZWwoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9jYW5jZWxgLCB7fSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluQ2FuY2VsRm9yY2UoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9jYW5jZWwvZm9yY2VgLCB7fSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvY2Vzc1N0YXJ0KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vcHJvY2Vzcy1zdGFydGAsIHt9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Db21wbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2NvbXBsZXRlYCwge30pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblBheW1lbnQoaWQ6IHN0cmluZywgZGF0YTogeyB0eElkOiBzdHJpbmcsIGNhcmROYW1lOiBzdHJpbmcsIGNhcmRRdW90YTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vdXBkYXRlLXBheW1lbnRgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5TaGlwcGluZ1N0YXR1cyhpZDogc3RyaW5nLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vdXBkYXRlLXNoaXBwaW5nLXN0YXR1c2AsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVBZG1pbk9yZGVycyhvcmRlcnM6IElTa09yZGVyTGlzdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlPGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7b3JkZXJzLm1hcChvcmRlciA9PiBvcmRlci5pZCkuam9pbignLCcpfWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlc2lnbiBSZWY6IHZiYW5rLWNhbmNlbC10b3NzIMKnNC4yIOKAlCDsgqzsmqnsnpAg7J6Q6rCAIOy3qOyGjCAoUGxhbiBGUi0xMSkuXG4gICAgICpcbiAgICAgKiBkYXRhIO2OmOydtOuhnOuTnOuKlCBQYXltZW50VHlwZeuzhOuhnCDqsIDrs4Ag7ZWE65OcOlxuICAgICAqICAgLSDqs7XthrU6IGNhbmNlbFR5cGUsIGNhbmNlbERlc2MsIGFncmVlXG4gICAgICogICAtIFRSQU5TRkVSIOu2hOq4sDogYmFua05hbWUsIGJhbmtBY2MsIGJhbmtPd25lciAo6riw7KG0IOuztOyhtClcbiAgICAgKiAgIC0gVkJBTksg67aE6riwIChORVcpOiB2YmFua1JlZnVuZEludGVudCArIChpbnRlbnQ9QUxSRUFEWV9ERVBPU0lURUTsnbwg65WM66eMKSB2YmFua1JlZnVuZEJhbmtDb2RlL0FjY291bnROdW1iZXIvSG9sZGVyTmFtZVxuICAgICAqXG4gICAgICog67Cx7JeU65OcIE9yZGVyUmVxRFRPLkNhbmNlbOqzvCDtgqQg7KCV7ZWpIO2VhOyImCAoZHJpZnQg7IucIO2GoOyKpCDtmZjrtogg64iE6529IOychO2XmCkuXG4gICAgICogT3B0aW9uYWwg7ZWE65Oc65Ok7J2AIEFuZ3VsYXIgYGZvcm1Hcm91cC52YWx1ZWDqsIAgZGlzYWJsZeuQnCDsu6jtirjroaTsnYQg7J6Q64+ZIOygnOyZuO2VmOuvgOuhnFxuICAgICAqIO2YuOy2nCDsuKHsnYAg64uo7Iic7Z6IIGZvcm1Hcm91cC52YWx1ZeulvCDqt7jrjIDroZwg7KCE64us7ZWY66m0IOuQqC5cbiAgICAgKi9cbiAgICBjYW5jZWxPcmRlcihpZDogc3RyaW5nLCBkYXRhOiB7XG4gICAgICAgIGNhbmNlbFR5cGU6IFNrT3JkZXJDYW5jZWxUeXBlLFxuICAgICAgICBjYW5jZWxEZXNjOiBTdHJpbmcsXG4gICAgICAgIC8vIFRSQU5TRkVSIOu2hOq4sCAo6riw7KG0KVxuICAgICAgICBiYW5rTmFtZT86IHN0cmluZyxcbiAgICAgICAgYmFua0FjYz86IHN0cmluZyxcbiAgICAgICAgYmFua093bmVyPzogc3RyaW5nLFxuICAgICAgICAvLyBWQkFOSyDrtoTquLAgKE5FVyDigJQgdmJhbmstY2FuY2VsLXRvc3MpXG4gICAgICAgIHZiYW5rUmVmdW5kSW50ZW50PzogJ0FMUkVBRFlfREVQT1NJVEVEJyB8ICdOT1RfWUVUX0RFUE9TSVRFRCcsXG4gICAgICAgIHZiYW5rUmVmdW5kQmFua0NvZGU/OiBzdHJpbmcsXG4gICAgICAgIHZiYW5rUmVmdW5kQWNjb3VudE51bWJlcj86IHN0cmluZyxcbiAgICAgICAgdmJhbmtSZWZ1bmRIb2xkZXJOYW1lPzogc3RyaW5nXG4gICAgfSk6IE9ic2VydmFibGU8U2tPcmRlckRldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tPcmRlckRldGFpbD4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfS9jYW5jZWxgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSkpXG4gICAgfVxuXG4gICAgc3RhcnRQcm9ncmVzcyhpZDogc3RyaW5nLCBkYXRhOiBJU2tPcmRlclJlcVByb2dyZXNzKTogT2JzZXJ2YWJsZTxTa09yZGVyU3RhdHVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa09yZGVyU3RhdHVzPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L3Byb2dyZXNzYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIG1vdmVUb015T3JkZXIoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxzdHJpbmc+KGAvYXBpL3B1YmxpYy9vcmRlcnMvJHtpZH0vbW92ZWAsIHt9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TaGlwcGluZ0ZlZUxpc3QoKTogT2JzZXJ2YWJsZTxJU2tTaGlwcGluZ0ZlZVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tTaGlwcGluZ0ZlZVtdPihgL2FwaS9hZG1pbi9vcmRlcnMvc2hpcHBpbmctZmVlc2ApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjcmVhdGVBZG1pblNoaXBwaW5nRmVlKGRhdGE6IElTa1NoaXBwaW5nRmVlKTogT2JzZXJ2YWJsZTxJU2tTaGlwcGluZ0ZlZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PElTa1NoaXBwaW5nRmVlPihgL2FwaS9hZG1pbi9vcmRlcnMvc2hpcHBpbmctZmVlc2AsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblNoaXBwaW5nRmVlKGlkOiBudW1iZXIsIGRhdGE6IElTa1NoaXBwaW5nRmVlKTogT2JzZXJ2YWJsZTxJU2tTaGlwcGluZ0ZlZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8SVNrU2hpcHBpbmdGZWU+KGAvYXBpL2FkbWluL29yZGVycy9zaGlwcGluZy1mZWVzLyR7aWR9YCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluU2hpcHBpbmdGZWUoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZTxhbnk+KGAvYXBpL2FkbWluL29yZGVycy9zaGlwcGluZy1mZWVzLyR7aWR9YClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZVNoaXBwaW5nRmVlKGlkOiBzdHJpbmcsIG1ldGhvZDogU2tTaGlwcGluZ01ldGhvZCwgemlwQ29kZTogc3RyaW5nLCBzZXJpYWxzOiBzdHJpbmdbXSA9IFtdKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PG51bWJlcj4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfS9jYWxjdWxhdGUtc2hpcHBpbmctZmVlYCwgbmV3IEh0dHBQYXJhbXMoKS5hcHBlbmQoJ21ldGhvZCcsIG1ldGhvZCkuYXBwZW5kKCd6aXBDb2RlJywgemlwQ29kZSkuYXBwZW5kKCdzZXJpYWxzJywgc2VyaWFscy5qb2luKCcsJykpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSB8fCAwKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUNvdXBvbihpZDogc3RyaW5nLCBzZXJpYWxzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8SVNrVmFsaWRhdGVDb3Vwb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxJU2tWYWxpZGF0ZUNvdXBvbj4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfS9jaGVjay1jb3Vwb25gLCB7XG4gICAgICAgICAgICBjb3Vwb25TZXJpYWxzOiBzZXJpYWxzXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhIHx8IHtkaXNjb3VudEFtb3VudDogMCwgY291cG9uRGF0YTogW119KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1157,6 +1157,18 @@ class SkOrderService {
1157
1157
  deleteAdminOrders(orders) {
1158
1158
  return this._apiService.delete(`/api/admin/orders/${orders.map(order => order.id).join(',')}`);
1159
1159
  }
1160
+ /**
1161
+ * Design Ref: vbank-cancel-toss §4.2 — 사용자 자가 취소 (Plan FR-11).
1162
+ *
1163
+ * data 페이로드는 PaymentType별로 가변 필드:
1164
+ * - 공통: cancelType, cancelDesc, agree
1165
+ * - TRANSFER 분기: bankName, bankAcc, bankOwner (기존 보존)
1166
+ * - VBANK 분기 (NEW): vbankRefundIntent + (intent=ALREADY_DEPOSITED일 때만) vbankRefundBankCode/AccountNumber/HolderName
1167
+ *
1168
+ * 백엔드 OrderReqDTO.Cancel과 키 정합 필수 (drift 시 토스 환불 누락 위험).
1169
+ * Optional 필드들은 Angular `formGroup.value`가 disable된 컨트롤을 자동 제외하므로
1170
+ * 호출 측은 단순히 formGroup.value를 그대로 전달하면 됨.
1171
+ */
1160
1172
  cancelOrder(id, data) {
1161
1173
  return this._apiService.put(`/api/public/orders/${id}/cancel`, data)
1162
1174
  .pipe(map(result => result.data));