@yolo-croket-dev/amqp-access 0.7.382 → 0.7.384
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.
- package/order-server/dto/buyma-order/command/buyma-order.dto.d.ts +0 -1
- package/order-server/dto/buyma-order/command/buyma-order.dto.js +0 -6
- package/order-server/dto/buyma-order/query/buyma-order.dto.d.ts +27 -10
- package/order-server/dto/buyma-order/query/buyma-order.dto.js +102 -11
- package/package.json +2 -2
|
@@ -34,7 +34,6 @@ export declare class BuymaProcurementDetailsPayload {
|
|
|
34
34
|
croketShippingCost?: BuymaMoneyPayload | null;
|
|
35
35
|
purchaseCost?: BuymaMoneyPayload | null;
|
|
36
36
|
sellerSettlementCost?: BuymaMoneyPayload | null;
|
|
37
|
-
sourceStatus?: string | null;
|
|
38
37
|
localShipment?: BuymaLocalShipmentPayload | null;
|
|
39
38
|
}
|
|
40
39
|
export declare class BuymaInternationalShipmentPayload {
|
|
@@ -188,12 +188,6 @@ __decorate([
|
|
|
188
188
|
(0, class_transformer_1.Type)(() => BuymaMoneyPayload),
|
|
189
189
|
__metadata("design:type", Object)
|
|
190
190
|
], BuymaProcurementDetailsPayload.prototype, "sellerSettlementCost", void 0);
|
|
191
|
-
__decorate([
|
|
192
|
-
(0, class_validator_1.IsOptional)(),
|
|
193
|
-
(0, class_validator_1.IsString)(),
|
|
194
|
-
(0, class_validator_1.MaxLength)(100),
|
|
195
|
-
__metadata("design:type", Object)
|
|
196
|
-
], BuymaProcurementDetailsPayload.prototype, "sourceStatus", void 0);
|
|
197
191
|
__decorate([
|
|
198
192
|
(0, class_validator_1.IsOptional)(),
|
|
199
193
|
(0, class_validator_1.ValidateNested)(),
|
|
@@ -1,12 +1,24 @@
|
|
|
1
|
-
import { BuymaMoney, BuymaOrderEntity, BuymaOrderEventEntity, BuymaOrderStatus, BuymaPaymentStatus } from '@yolo-croket-dev/entity-v2';
|
|
1
|
+
import { BuymaMoney, BuymaOrderEntity, BuymaOrderEventEntity, BuymaOrderStatus, BuymaPaymentStatus, BuymaProcurementWorkStatus } from '@yolo-croket-dev/entity-v2';
|
|
2
|
+
export type BuymaOrderSortBy = 'FIRST_ORDERED_AT_DESC' | 'FIRST_ORDERED_AT_ASC';
|
|
3
|
+
export declare const BUYMA_ORDER_SEARCH_FIELDS: readonly ["ORDER_NUMBER", "STORE_NAME", "SOURCE_COUNTRY", "CROKET_ITEM_NAME", "CROKET_ITEM_ID", "BUYMA_ITEM_NAME", "BRAND_NAME", "OPTION_NAME", "PROCUREMENT_BUYER_ID", "RECIPIENT_NAME", "RECIPIENT_PHONE"];
|
|
4
|
+
export type BuymaOrderSearchField = (typeof BUYMA_ORDER_SEARCH_FIELDS)[number];
|
|
5
|
+
/** HTTP 목록에만 적용하는 허용 키. 제거한 조건은 조용히 무시하지 않는다. */
|
|
6
|
+
export declare const BUYMA_ORDER_LIST_QUERY_KEYS: readonly ["searchField", "search", "paymentStatus", "orderStatus", "paymentStatuses", "orderStatuses", "procurementWorkStatuses", "sortBy", "firstOrderedAtFrom", "firstOrderedAtTo", "hasProcurementOrderUrl", "hasInternationalCarrier", "hasInternationalTrackingNumber", "hasInternationalShippingCost", "page", "limit"];
|
|
2
7
|
export declare class GetBuymaOrdersPayload {
|
|
3
|
-
|
|
8
|
+
searchField?: BuymaOrderSearchField;
|
|
4
9
|
search?: string;
|
|
5
10
|
paymentStatus?: BuymaPaymentStatus;
|
|
6
11
|
orderStatus?: BuymaOrderStatus;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
paymentStatuses?: BuymaPaymentStatus[];
|
|
13
|
+
orderStatuses?: BuymaOrderStatus[];
|
|
14
|
+
procurementWorkStatuses?: BuymaProcurementWorkStatus[];
|
|
15
|
+
sortBy?: BuymaOrderSortBy;
|
|
16
|
+
firstOrderedAtFrom?: string;
|
|
17
|
+
firstOrderedAtTo?: string;
|
|
18
|
+
hasProcurementOrderUrl?: 'true' | 'false';
|
|
19
|
+
hasInternationalCarrier?: 'true' | 'false';
|
|
20
|
+
hasInternationalTrackingNumber?: 'true' | 'false';
|
|
21
|
+
hasInternationalShippingCost?: 'true' | 'false';
|
|
10
22
|
page: number;
|
|
11
23
|
limit: number;
|
|
12
24
|
}
|
|
@@ -20,11 +32,14 @@ export declare class GetBuymaOrderHistoryPayload extends GetBuymaOrderPayload {
|
|
|
20
32
|
export declare class GetBuymaProcurementCandidatesPayload extends GetBuymaOrderPayload {
|
|
21
33
|
orderUrl: string;
|
|
22
34
|
}
|
|
23
|
-
export interface BuymaOrderListItem extends Pick<BuymaOrderEntity, '_id' | 'buymaAccountId' | 'buymaOrderNumber' | 'createdAt' | 'quantity' | 'productRevenue' | 'orderStatus' | 'holdReason'> {
|
|
24
|
-
productSnapshot: Pick<BuymaOrderEntity['productSnapshot'], 'buymaName' | 'croketName' | 'optionName'>;
|
|
25
|
-
payment: Pick<BuymaOrderEntity['payment'], 'status'>;
|
|
26
|
-
procurement: Pick<NonNullable<BuymaOrderEntity['procurement']>, 'source' | 'croketPurchasedInfoPublicId' | 'allocationStatus'> | null;
|
|
27
|
-
internationalShipment: Pick<NonNullable<BuymaOrderEntity['internationalShipment']>, 'trackingNumber'> | null;
|
|
35
|
+
export interface BuymaOrderListItem extends Pick<BuymaOrderEntity, '_id' | 'buymaAccountId' | 'buymaOrderNumber' | 'buymaOrderUrl' | 'createdAt' | 'quantity' | 'buyer' | 'productRevenue' | 'shippingRevenue' | 'reportedTotalRevenue' | 'orderStatus' | 'procurementWorkStatus' | 'holdReason' | 'slackThreadUrls'> {
|
|
36
|
+
productSnapshot: Pick<BuymaOrderEntity['productSnapshot'], 'storeName' | 'buymaName' | 'croketName' | 'optionName' | 'croketItemUrl' | 'buymaItemUrl'>;
|
|
37
|
+
payment: Pick<BuymaOrderEntity['payment'], 'status' | 'preOrderedAt' | 'paidAt' | 'preOrderedAtDateOnly' | 'paidAtDateOnly'>;
|
|
38
|
+
procurement: Pick<NonNullable<BuymaOrderEntity['procurement']>, 'source' | 'croketPurchasedInfoPublicId' | 'allocationStatus' | 'orderUrl' | 'purchaseCost' | 'localShipment'> | null;
|
|
39
|
+
internationalShipment: Pick<NonNullable<BuymaOrderEntity['internationalShipment']>, 'carrierName' | 'trackingNumber' | 'trackingUrl' | 'shippingCost'> | null;
|
|
40
|
+
communications: Pick<BuymaOrderEntity['communications'], 'stockSecuredNotified'>;
|
|
41
|
+
/** 조회 시 연결된 Croket 구매 건에서 읽은 process. 주문에 저장하지 않는다. */
|
|
42
|
+
croketPurchaseProcess?: string | null;
|
|
28
43
|
}
|
|
29
44
|
export interface BuymaSharedTrackingOrder extends Pick<BuymaOrderEntity, '_id' | 'buymaOrderNumber' | 'quantity'> {
|
|
30
45
|
internationalShipment: Pick<NonNullable<BuymaOrderEntity['internationalShipment']>, 'shippingCost'> | null;
|
|
@@ -39,6 +54,8 @@ export interface BuymaSharedProcurementOrder extends Pick<BuymaOrderEntity, '_id
|
|
|
39
54
|
procurement: Pick<NonNullable<BuymaOrderEntity['procurement']>, 'allocationStatus' | 'croketOptionName'> | null;
|
|
40
55
|
}
|
|
41
56
|
export interface GetBuymaOrderResult {
|
|
57
|
+
/** 조회 시 연결된 Croket 구매 건에서 읽은 process. 주문에 저장하지 않는다. */
|
|
58
|
+
croketPurchaseProcess?: string | null;
|
|
42
59
|
sharedProcurementOrders?: BuymaSharedProcurementOrder[];
|
|
43
60
|
sharedProcurementOverflow?: boolean;
|
|
44
61
|
item: BuymaOrderEntity;
|
|
@@ -9,11 +9,49 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.GetBuymaProcurementCandidatesPayload = exports.GetBuymaOrderHistoryPayload = exports.GetBuymaOrderPayload = exports.GetBuymaOrdersPayload = void 0;
|
|
12
|
+
exports.GetBuymaProcurementCandidatesPayload = exports.GetBuymaOrderHistoryPayload = exports.GetBuymaOrderPayload = exports.GetBuymaOrdersPayload = exports.BUYMA_ORDER_LIST_QUERY_KEYS = exports.BUYMA_ORDER_SEARCH_FIELDS = void 0;
|
|
13
13
|
/** @author jun @description Buyma 관리자 조회 계약. @process 페이지 상한과 정확한 구매 건 후보를 공개한다. */
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
15
|
const class_validator_1 = require("class-validator");
|
|
16
16
|
const entity_v2_1 = require("@yolo-croket-dev/entity-v2");
|
|
17
|
+
exports.BUYMA_ORDER_SEARCH_FIELDS = [
|
|
18
|
+
'ORDER_NUMBER',
|
|
19
|
+
'STORE_NAME',
|
|
20
|
+
'SOURCE_COUNTRY',
|
|
21
|
+
'CROKET_ITEM_NAME',
|
|
22
|
+
'CROKET_ITEM_ID',
|
|
23
|
+
'BUYMA_ITEM_NAME',
|
|
24
|
+
'BRAND_NAME',
|
|
25
|
+
'OPTION_NAME',
|
|
26
|
+
'PROCUREMENT_BUYER_ID',
|
|
27
|
+
'RECIPIENT_NAME',
|
|
28
|
+
'RECIPIENT_PHONE',
|
|
29
|
+
];
|
|
30
|
+
/** HTTP 목록에만 적용하는 허용 키. 제거한 조건은 조용히 무시하지 않는다. */
|
|
31
|
+
exports.BUYMA_ORDER_LIST_QUERY_KEYS = [
|
|
32
|
+
'searchField',
|
|
33
|
+
'search',
|
|
34
|
+
'paymentStatus',
|
|
35
|
+
'orderStatus',
|
|
36
|
+
'paymentStatuses',
|
|
37
|
+
'orderStatuses',
|
|
38
|
+
'procurementWorkStatuses',
|
|
39
|
+
'sortBy',
|
|
40
|
+
'firstOrderedAtFrom',
|
|
41
|
+
'firstOrderedAtTo',
|
|
42
|
+
'hasProcurementOrderUrl',
|
|
43
|
+
'hasInternationalCarrier',
|
|
44
|
+
'hasInternationalTrackingNumber',
|
|
45
|
+
'hasInternationalShippingCost',
|
|
46
|
+
'page',
|
|
47
|
+
'limit',
|
|
48
|
+
];
|
|
49
|
+
/** @param value - HTTP 쉼표 문자열 또는 AMQP 배열. @returns 중복을 제거한 상태 배열. 잘못된 값은 검증에서 거부한다. */
|
|
50
|
+
function buymaStatusArray(value) {
|
|
51
|
+
if (typeof value === 'string')
|
|
52
|
+
return [...new Set(value.split(',').map((part) => part.trim()))];
|
|
53
|
+
return Array.isArray(value) ? [...new Set(value)] : value;
|
|
54
|
+
}
|
|
17
55
|
class GetBuymaOrdersPayload {
|
|
18
56
|
constructor() {
|
|
19
57
|
this.page = 1;
|
|
@@ -23,10 +61,9 @@ class GetBuymaOrdersPayload {
|
|
|
23
61
|
exports.GetBuymaOrdersPayload = GetBuymaOrdersPayload;
|
|
24
62
|
__decorate([
|
|
25
63
|
(0, class_validator_1.IsOptional)(),
|
|
26
|
-
(0, class_validator_1.
|
|
27
|
-
(0, class_validator_1.MaxLength)(100),
|
|
64
|
+
(0, class_validator_1.IsIn)(exports.BUYMA_ORDER_SEARCH_FIELDS),
|
|
28
65
|
__metadata("design:type", String)
|
|
29
|
-
], GetBuymaOrdersPayload.prototype, "
|
|
66
|
+
], GetBuymaOrdersPayload.prototype, "searchField", void 0);
|
|
30
67
|
__decorate([
|
|
31
68
|
(0, class_validator_1.IsOptional)(),
|
|
32
69
|
(0, class_validator_1.IsString)(),
|
|
@@ -43,14 +80,50 @@ __decorate([
|
|
|
43
80
|
(0, class_validator_1.IsIn)(entity_v2_1.BUYMA_ORDER_STATUSES),
|
|
44
81
|
__metadata("design:type", String)
|
|
45
82
|
], GetBuymaOrdersPayload.prototype, "orderStatus", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, class_validator_1.IsOptional)(),
|
|
85
|
+
(0, class_transformer_1.Transform)(({ value }) => buymaStatusArray(value)),
|
|
86
|
+
(0, class_validator_1.IsArray)(),
|
|
87
|
+
(0, class_validator_1.ArrayMaxSize)(3),
|
|
88
|
+
(0, class_validator_1.IsIn)(entity_v2_1.BUYMA_PAYMENT_STATUSES, { each: true }),
|
|
89
|
+
__metadata("design:type", Array)
|
|
90
|
+
], GetBuymaOrdersPayload.prototype, "paymentStatuses", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, class_validator_1.IsOptional)(),
|
|
93
|
+
(0, class_transformer_1.Transform)(({ value }) => buymaStatusArray(value)),
|
|
94
|
+
(0, class_validator_1.IsArray)(),
|
|
95
|
+
(0, class_validator_1.ArrayMaxSize)(7),
|
|
96
|
+
(0, class_validator_1.IsIn)(entity_v2_1.BUYMA_ORDER_STATUSES, { each: true }),
|
|
97
|
+
__metadata("design:type", Array)
|
|
98
|
+
], GetBuymaOrdersPayload.prototype, "orderStatuses", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
(0, class_validator_1.IsOptional)(),
|
|
101
|
+
(0, class_transformer_1.Transform)(({ value }) => buymaStatusArray(value)),
|
|
102
|
+
(0, class_validator_1.IsArray)(),
|
|
103
|
+
(0, class_validator_1.ArrayMaxSize)(8),
|
|
104
|
+
(0, class_validator_1.IsIn)(entity_v2_1.BUYMA_PROCUREMENT_WORK_STATUSES, { each: true }),
|
|
105
|
+
__metadata("design:type", Array)
|
|
106
|
+
], GetBuymaOrdersPayload.prototype, "procurementWorkStatuses", void 0);
|
|
46
107
|
__decorate([
|
|
47
108
|
(0, class_validator_1.IsOptional)(),
|
|
48
109
|
(0, class_validator_1.IsIn)([
|
|
49
|
-
'
|
|
50
|
-
'
|
|
110
|
+
'FIRST_ORDERED_AT_DESC',
|
|
111
|
+
'FIRST_ORDERED_AT_ASC',
|
|
51
112
|
]),
|
|
52
113
|
__metadata("design:type", String)
|
|
53
|
-
], GetBuymaOrdersPayload.prototype, "
|
|
114
|
+
], GetBuymaOrdersPayload.prototype, "sortBy", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, class_validator_1.IsOptional)(),
|
|
117
|
+
(0, class_validator_1.IsString)(),
|
|
118
|
+
(0, class_validator_1.Matches)(/^\d{4}-\d{2}-\d{2}$/),
|
|
119
|
+
__metadata("design:type", String)
|
|
120
|
+
], GetBuymaOrdersPayload.prototype, "firstOrderedAtFrom", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
(0, class_validator_1.IsOptional)(),
|
|
123
|
+
(0, class_validator_1.IsString)(),
|
|
124
|
+
(0, class_validator_1.Matches)(/^\d{4}-\d{2}-\d{2}$/),
|
|
125
|
+
__metadata("design:type", String)
|
|
126
|
+
], GetBuymaOrdersPayload.prototype, "firstOrderedAtTo", void 0);
|
|
54
127
|
__decorate([
|
|
55
128
|
(0, class_validator_1.IsOptional)(),
|
|
56
129
|
(0, class_validator_1.IsIn)([
|
|
@@ -58,13 +131,31 @@ __decorate([
|
|
|
58
131
|
'false',
|
|
59
132
|
]),
|
|
60
133
|
__metadata("design:type", String)
|
|
61
|
-
], GetBuymaOrdersPayload.prototype, "
|
|
134
|
+
], GetBuymaOrdersPayload.prototype, "hasProcurementOrderUrl", void 0);
|
|
62
135
|
__decorate([
|
|
63
136
|
(0, class_validator_1.IsOptional)(),
|
|
64
|
-
(0, class_validator_1.
|
|
65
|
-
|
|
137
|
+
(0, class_validator_1.IsIn)([
|
|
138
|
+
'true',
|
|
139
|
+
'false',
|
|
140
|
+
]),
|
|
141
|
+
__metadata("design:type", String)
|
|
142
|
+
], GetBuymaOrdersPayload.prototype, "hasInternationalCarrier", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
(0, class_validator_1.IsOptional)(),
|
|
145
|
+
(0, class_validator_1.IsIn)([
|
|
146
|
+
'true',
|
|
147
|
+
'false',
|
|
148
|
+
]),
|
|
149
|
+
__metadata("design:type", String)
|
|
150
|
+
], GetBuymaOrdersPayload.prototype, "hasInternationalTrackingNumber", void 0);
|
|
151
|
+
__decorate([
|
|
152
|
+
(0, class_validator_1.IsOptional)(),
|
|
153
|
+
(0, class_validator_1.IsIn)([
|
|
154
|
+
'true',
|
|
155
|
+
'false',
|
|
156
|
+
]),
|
|
66
157
|
__metadata("design:type", String)
|
|
67
|
-
], GetBuymaOrdersPayload.prototype, "
|
|
158
|
+
], GetBuymaOrdersPayload.prototype, "hasInternationalShippingCost", void 0);
|
|
68
159
|
__decorate([
|
|
69
160
|
(0, class_transformer_1.Type)(() => Number),
|
|
70
161
|
(0, class_validator_1.IsInt)(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yolo-croket-dev/amqp-access",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.384",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"author": "Yolo Co., Ltd.",
|
|
6
6
|
"description": "크로켓 amqp-access npm",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@yolo-croket-dev/domain": "0.2.50",
|
|
25
25
|
"@yolo-croket-dev/dto-v2": "0.2.35",
|
|
26
26
|
"@yolo-croket-dev/entity": "0.2.110",
|
|
27
|
-
"@yolo-croket-dev/entity-v2": "0.3.
|
|
27
|
+
"@yolo-croket-dev/entity-v2": "0.3.61",
|
|
28
28
|
"class-transformer": "^0.5.1",
|
|
29
29
|
"class-validator": "^0.13.2",
|
|
30
30
|
"dotenv": "^16.3.1"
|