@yolo-croket-dev/entity-v2 0.2.187 → 0.3.1

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/index.d.ts CHANGED
@@ -16,7 +16,8 @@ export * from './app-push-subscribe';
16
16
  export * from './app-push-subscribed-user';
17
17
  export * from './link-tab';
18
18
  export * from './store';
19
- export * from './store-item';
19
+ export { StoreItemEntity, } from './store-item';
20
+ export type { StoreItemTranslationTrigger, } from './store-item';
20
21
  export * from './mail';
21
22
  export * from './cart';
22
23
  export * from './related-store-item';
package/index.js CHANGED
@@ -32,7 +32,6 @@ __exportStar(require("./app-push-subscribe"), exports);
32
32
  __exportStar(require("./app-push-subscribed-user"), exports);
33
33
  __exportStar(require("./link-tab"), exports);
34
34
  __exportStar(require("./store"), exports);
35
- __exportStar(require("./store-item"), exports);
36
35
  __exportStar(require("./mail"), exports);
37
36
  __exportStar(require("./cart"), exports);
38
37
  __exportStar(require("./related-store-item"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yolo-croket-dev/entity-v2",
3
- "version": "0.2.187",
3
+ "version": "0.3.1",
4
4
  "main": "index.js",
5
5
  "author": "Yolo Co., Ltd.",
6
6
  "description": "크로켓 nest 용 entity-v3",
@@ -984,10 +984,15 @@ export interface CrawlerProxyOrderInfoChangeLog {
984
984
  /** 변경일 */
985
985
  changedAt: Date;
986
986
  }
987
+ /** @description Shipping Forwarder 자동화 Provider */
988
+ export declare enum ShippingForwarderProviderEnum {
989
+ GOBAESONG = "GOBAESONG",
990
+ HOOTTOWN = "HOOTTOWN"
991
+ }
987
992
  /** @description 대신 주문 배대지 마스터 변경 로그 */
988
993
  export interface CrawlerForwardingAgentChangeLog {
989
- previous?: Partial<Pick<CrawlerForwardingAgent, 'name' | 'address' | 'shippingAddress' | 'purchaseSourceHostNames' | 'isActive'>>;
990
- next?: Partial<Pick<CrawlerForwardingAgent, 'name' | 'address' | 'shippingAddress' | 'purchaseSourceHostNames' | 'isActive'>>;
994
+ previous?: Partial<Pick<CrawlerForwardingAgent, 'provider' | 'name' | 'address' | 'shippingAddress' | 'purchaseSourceHostNames' | 'isActive'>>;
995
+ next?: Partial<Pick<CrawlerForwardingAgent, 'provider' | 'name' | 'address' | 'shippingAddress' | 'purchaseSourceHostNames' | 'isActive'>>;
991
996
  changedByAdminId: Types.ObjectId | string;
992
997
  changedAt: Date;
993
998
  }
@@ -1004,6 +1009,8 @@ export interface CrawlerForwardingAgentShippingAddress {
1004
1009
  /** @description 대신 주문 배대지 마스터 */
1005
1010
  export interface CrawlerForwardingAgent {
1006
1011
  _id: Types.ObjectId | string;
1012
+ /** 기존 데이터에는 없을 수 있으며 자동화 Job 생성 전에 설정해야 한다. */
1013
+ provider?: ShippingForwarderProviderEnum;
1007
1014
  name: string;
1008
1015
  /** 배대지 사이트 링크 */
1009
1016
  address: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PriceCompareAffiliateSettleStatusEnum = exports.PriceCompareAffiliateTypeEnum = exports.InsuranceProcessTypeEnum = exports.CrawlerProxyForwardingStatusEnum = exports.CrawlerProxyPurchaseStatusEnum = exports.PastSelectionFrameDataInfo = exports.PurchasedProcessV2Enum = exports.PurchasedProcessEnum = exports.UserTypeEnum = exports.TaxInvoiceIssueProcessEnum = exports.POptionTypeEnum = exports.PInfoTypeEnum = exports.ReservationCancelReasonEnum = exports.CardQuotaEnum = void 0;
3
+ exports.PriceCompareAffiliateSettleStatusEnum = exports.PriceCompareAffiliateTypeEnum = exports.InsuranceProcessTypeEnum = exports.ShippingForwarderProviderEnum = exports.CrawlerProxyForwardingStatusEnum = exports.CrawlerProxyPurchaseStatusEnum = exports.PastSelectionFrameDataInfo = exports.PurchasedProcessV2Enum = exports.PurchasedProcessEnum = exports.UserTypeEnum = exports.TaxInvoiceIssueProcessEnum = exports.POptionTypeEnum = exports.PInfoTypeEnum = exports.ReservationCancelReasonEnum = exports.CardQuotaEnum = void 0;
4
4
  var CardQuotaEnum;
5
5
  (function (CardQuotaEnum) {
6
6
  CardQuotaEnum["\uC77C\uC2DC\uBD88"] = "00";
@@ -106,6 +106,12 @@ var CrawlerProxyForwardingStatusEnum;
106
106
  CrawlerProxyForwardingStatusEnum["DOMESTIC_SHIPPING"] = "DOMESTIC_SHIPPING";
107
107
  CrawlerProxyForwardingStatusEnum["DELIVERY_COMPLETED"] = "DELIVERY_COMPLETED";
108
108
  })(CrawlerProxyForwardingStatusEnum || (exports.CrawlerProxyForwardingStatusEnum = CrawlerProxyForwardingStatusEnum = {}));
109
+ /** @description Shipping Forwarder 자동화 Provider */
110
+ var ShippingForwarderProviderEnum;
111
+ (function (ShippingForwarderProviderEnum) {
112
+ ShippingForwarderProviderEnum["GOBAESONG"] = "GOBAESONG";
113
+ ShippingForwarderProviderEnum["HOOTTOWN"] = "HOOTTOWN";
114
+ })(ShippingForwarderProviderEnum || (exports.ShippingForwarderProviderEnum = ShippingForwarderProviderEnum = {}));
109
115
  var InsuranceProcessTypeEnum;
110
116
  (function (InsuranceProcessTypeEnum) {
111
117
  InsuranceProcessTypeEnum["REG"] = "reg";
@@ -1,10 +1,1071 @@
1
- import type StoreItem from '@yolo-croket-dev/entity/src/store-item/store-item.entity';
1
+ import type { Types } from 'mongoose';
2
+ export declare enum StoreItemTypeEnum {
3
+ /** 일반 상품 */
4
+ 'normal' = "normal",
5
+ /** 예약 상품 */
6
+ 'reservation' = "reservation"
7
+ }
2
8
  /**
3
9
  * @author jun
4
- * @description 상품 영속 엔티티
5
- * @process 기존 상품 엔티티 계약을 확장하여 신규 영속 필드를 공개함
10
+ * @description 예약 상품 재고 모드
11
+ */
12
+ export declare enum ReservationStockModeEnum {
13
+ /** 무제한 모드 */
14
+ 'unlimited' = "unlimited",
15
+ /** 줄서기 On */
16
+ 'queueOn' = "queueOn",
17
+ /** 줄서기 Off */
18
+ 'queueOff' = "queueOff"
19
+ }
20
+ export declare enum StoreItemImgVersionEnum {
21
+ /** 썸네일만 리사이징 */
22
+ 'v0' = "v0"
23
+ }
24
+ export declare enum PrecautionCodeEnum {
25
+ 'PC001' = "PC001",
26
+ 'PC002' = "PC002",
27
+ 'PC004' = "PC004",
28
+ 'PC000' = "PC000"
29
+ }
30
+ export declare enum StoreItemOptionTypeEnum {
31
+ single = "single",
32
+ group = "group"
33
+ }
34
+ /** 고정 이미지 위치 */
35
+ export declare enum FixedContentsPositionEnum {
36
+ /** 최상단 */
37
+ TOP = "TOP",
38
+ /** 최하단 */
39
+ BOTTOM = "BOTTOM"
40
+ }
41
+ export declare enum StoreItemContentsTypeEnum {
42
+ 'img' = "img",
43
+ 'video' = "video"
44
+ }
45
+ /** @deprecated 옵션 (구 버전) */
46
+ export interface StoreItemOption {
47
+ name: string;
48
+ remainCount: number;
49
+ }
50
+ export interface StoreItemOptionInfo {
51
+ /** 옵션 종류 <single, group> 2021-03-05 jun */
52
+ optionType: StoreItemOptionTypeEnum;
53
+ /** single, group 일때 존재 */
54
+ optionList: StoreItemOptionList[];
55
+ /** group 일때 존재 2021-03-15 jun */
56
+ optionGroupFrameList?: StoreItemOptionGroupFrame[];
57
+ }
58
+ export interface StoreItemOptionList {
59
+ /** 옵션 이름의 조합 */
60
+ optionName: string;
61
+ /** 옵션 이름 리스트 */
62
+ optionNameList: string[];
63
+ /** 남은 수 */
64
+ remainCount: number;
65
+ /** 삭제 여부 */
66
+ isDelete: boolean;
67
+ /** 옵션 품번 - 2025-08-05 홍준 */
68
+ sku?: string;
69
+ /** 원문 옵션을 갱신/번역 결과와 안전하게 연결하는 안정 키 */
70
+ sourceOptionKey?: string;
71
+ }
72
+ export interface StoreItemOptionGroupFrame {
73
+ /** 옵션 이름 */
74
+ optionTitle: string;
75
+ /** 옵션 프레인 값 리스트 */
76
+ optionFrameValueList: string[];
77
+ }
78
+ /** 지원하는 배송 방법 */
79
+ export interface StoreItemDeliveryMethod {
80
+ /** 주소 */
81
+ address?: string;
82
+ /** 여행의 직구 서비스 인가? */
83
+ isVisit: boolean;
84
+ /** 직거래 인가? */
85
+ isDirect: boolean;
86
+ /** 배송 인가? */
87
+ isShipping: boolean;
88
+ /** 선불 인가? (조건 배송비 일때 undefined) */
89
+ isPrepay?: boolean;
90
+ /** 해외 배송 인가? (현재는 사용 안함) */
91
+ isAbroadShipping?: boolean;
92
+ /** 묶음 배송인가 (조건 배송비 일때 undefined) */
93
+ isBundleShipping?: boolean;
94
+ /** 선불 가격 (조건 배송비 일때 undefined) */
95
+ prepayPrice?: number;
96
+ /** 묶음 배송 수수료 */
97
+ bundleShippingFee?: number;
98
+ }
99
+ /** @deprecated 평점 정보 */
100
+ export interface StoreItemRating {
101
+ reviewId: Types.ObjectId | string;
102
+ isDelete: boolean;
103
+ DSRating: number;
104
+ ISRating: number;
105
+ contents: string;
106
+ buyerId: Types.ObjectId | string;
107
+ PInfoId: Types.ObjectId | string;
108
+ regDate: Date;
109
+ reviewPhoto: string[];
110
+ }
111
+ /**
112
+ * @decprecated qna 정보
113
+ */
114
+ export interface StoreItemQna {
115
+ /** 작성자 유저 아이디 */
116
+ authorId: Types.ObjectId | string;
117
+ /** 내용 */
118
+ content: string;
119
+ /** 작성 시간 */
120
+ time: Date;
121
+ /** 삭제 */
122
+ isDeleted: boolean;
123
+ /** 삭제한 날짜 */
124
+ delDate: Date;
125
+ /** 누가 삭제했니 */
126
+ whoDel: Types.ObjectId | string;
127
+ /** 답글 리스트 */
128
+ answer: StoreItemQnaAnswer[];
129
+ }
130
+ export interface StoreItemQnaAnswer {
131
+ /** 작성자 유저 아이디 */
132
+ authorId: Types.ObjectId | string;
133
+ /** 내용 */
134
+ content: string;
135
+ /** 작성 시간 */
136
+ time: Date;
137
+ /** 삭제 */
138
+ isDeleted: boolean;
139
+ /** 삭제한 날짜 */
140
+ delDate: Date;
141
+ /** 누가 삭제했니 */
142
+ whoDel: Types.ObjectId | string;
143
+ }
144
+ /** 네이버 정보 */
145
+ export interface StoreItemNaverInfo {
146
+ /** 시트에 존재여부 */
147
+ isExist: boolean;
148
+ /** 네이버 쇼핑 mid */
149
+ nv_mid: string;
150
+ /** 네이버 쇼핑 보여주고 있는가 */
151
+ isShow: boolean;
152
+ /** 최초 날짜 */
153
+ regDate?: Date;
154
+ /** 마지막 등록 날짜 */
155
+ lastModifyDate: Date;
156
+ }
157
+ /** 판매 제한 정보 */
158
+ export interface LimitSaleInfo {
159
+ /** 구매 제한 개수 */
160
+ limitCount: number;
161
+ /** 저장일 */
162
+ regDate: Date;
163
+ }
164
+ export interface StoreItemInflowInfoDevice {
165
+ yg_model: string;
166
+ yg_osver: string;
167
+ yg_apptype: string;
168
+ yg_appver: string;
169
+ device_id: string;
170
+ }
171
+ /** 상품 유입 정보 */
172
+ export interface StoreItemInflowInfo {
173
+ /** yg 타입 정보 */
174
+ yg_type: string;
175
+ /** yg 메서드 정보 */
176
+ yg_method?: string;
177
+ /** 들어온 시간 */
178
+ inflowDate: Date;
179
+ /** 들어오기 이전 페이지 */
180
+ referer?: string;
181
+ /** url */
182
+ url?: string;
183
+ /** device 정보 */
184
+ userAgent?: string;
185
+ /** ip */
186
+ ip: string;
187
+ /** 앱 유입 */
188
+ appHost?: string;
189
+ /** device 정보 */
190
+ device?: StoreItemInflowInfoDevice;
191
+ }
192
+ /** 판매 정보 (완료) */
193
+ export interface StoreItemSellingInfo {
194
+ /** 판매정보로그 아이디 */
195
+ sellingInfoLogId?: Types.ObjectId | string;
196
+ /** 구매 지역 */
197
+ area: string;
198
+ /** 구매 나라 */
199
+ nation: string;
200
+ /** 구매 도시 */
201
+ city: string;
202
+ /** 주문 마감일이 있는가 */
203
+ isExistDueDate: boolean;
204
+ /** 주문 마감일 */
205
+ dueDate?: Date;
206
+ /** 거래 예정일 (마감일 없을때 거래 예정일만 받는다) */
207
+ deliveryDate?: Date;
208
+ /** 배송 여부 */
209
+ isShipping: boolean;
210
+ /** 배송 정보 */
211
+ shippingInfo?: StoreItemSellingInfoShippingInfo;
212
+ isDirect: boolean;
213
+ /**
214
+ * @description 직거래 정보
215
+ * - isDirect === true 일때 존재
216
+ */
217
+ directInfo?: StoreItemDirectInfo;
218
+ /** 여행의 직구 서비스 */
219
+ isVisit: boolean;
220
+ /** @description 방문 정보
221
+ * - isVisit === true 일때에도 nullable
222
+ */
223
+ visitInfo?: StoreItemVisitInfo;
224
+ }
225
+ export interface StoreItemVisitInfo {
226
+ /** 센터에 제품을 맡길 날짜 */
227
+ keepingDate: Date;
228
+ /** 정기적으로 센터에 맡기기 할것인가 */
229
+ isRegularlyKeeping: boolean;
230
+ /** 정기적으로 센터에 맡기기 일자 */
231
+ regularlyKeepingDays?: number;
232
+ }
233
+ export interface StoreItemDirectInfo {
234
+ /** 예상 거래예정일 */
235
+ expectedDeliveryDays?: number;
236
+ /** 주소 */
237
+ address: string;
238
+ }
239
+ /**
240
+ * @description 배송 정보
241
+ * @TODO 배송 정보 초기화가 필요함
242
+ * - isShipping === false 시 shippingInfo = null 처리
243
+ * */
244
+ export interface StoreItemSellingInfoShippingInfo {
245
+ /**
246
+ * @description 발송 예상일
247
+ * - 마감일이 없을 시 && 배송 지원 시 무조건 필요
248
+ * */
249
+ expectedSendDays?: number;
250
+ /** 해외 배송 인가? */
251
+ isAbroadShipping: boolean;
252
+ /** @description 선불 인가? 착불, 선불 (조건 배송비 일때 undefined 처리) */
253
+ isPrepay?: boolean;
254
+ /** @description 선불 가격 (조건 배송비 일때 undefined 처리) */
255
+ prepayPrice?: number;
256
+ /** @description 묶음 배송을 지원하는가 (조건 배송비 일때 undefined 처리) */
257
+ isBundleShipping?: boolean;
258
+ /** @description 묶음 배송 수수료 */
259
+ bundleShippingFee?: number;
260
+ /**
261
+ * @description 조건 배송 정보
262
+ * - 해외 배송일때만 가능!, 묶음 배송이랑 같이 true 될 수 없음
263
+ */
264
+ isShippingTerms: boolean;
265
+ /**
266
+ * @description 조건 배송 정보
267
+ * - isShippingTerms === true 일때 존재
268
+ * */
269
+ shippingTermsInfo?: StoreItemSellingInfoShippingTermsInfo;
270
+ }
271
+ /** @description 조건 배송 정보 */
272
+ export interface StoreItemSellingInfoShippingTermsInfo {
273
+ /** 조건 배송 종류 <shippingFeeBySection, > */
274
+ shippingTermsType?: string;
275
+ /**
276
+ * @description 구간별 배송비
277
+ */
278
+ shippingFeeBySection?: StoreItemSellingInfoShippingFeeBySection;
279
+ }
280
+ /**
281
+ * @description 구간별 배송비
282
+ * - lastSectionShippingFee은 마지막 until 초과일때 가격
283
+ */
284
+ export interface StoreItemSellingInfoShippingFeeBySection {
285
+ shippingFeeSectionList: StoreItemSellingInfoShippingFeeSection[];
286
+ lastSectionShippingFee?: number;
287
+ }
288
+ export interface StoreItemSellingInfoShippingFeeSection {
289
+ until: number;
290
+ untilShippingFee: number;
291
+ }
292
+ /** 유의 사항 정보 */
293
+ export interface StoreItemPrecautionInfo {
294
+ /** 유의 사항 코드 리스트 */
295
+ precautionCodeList: PrecautionCodeEnum[];
296
+ /**
297
+ * @description 기타 유의사항
298
+ * - PC000 일때만 해당
299
+ * */
300
+ precautionEtc?: string;
301
+ }
302
+ /** 정렬 정보 */
303
+ export interface StoreItemSortInfo {
304
+ /** 거래 예정일 순 */
305
+ deliveryDateSort: Date;
306
+ /** 리뷰 많은 순 */
307
+ reviewCount?: number;
308
+ /** 평점 높은 순 */
309
+ rating?: number;
310
+ }
311
+ /** 상품 컨텐츠 정보 */
312
+ export interface StoreItemContentsInfo {
313
+ /**
314
+ * 컨텐츠 종류
315
+ * type : img; video
316
+ */
317
+ contentsType: StoreItemContentsTypeEnum;
318
+ /** 타이틀 */
319
+ title: string;
320
+ /** 설명 */
321
+ explanation: string;
322
+ /** 비디오 주소 */
323
+ videoUrl?: string;
324
+ /** 콘텐츠 이미지 정보 */
325
+ imgUrl?: string;
326
+ /** @deprecated 리사이징 여부 */
327
+ isResize?: boolean;
328
+ /** @deprecated 버킷 이름 */
329
+ bucket?: string;
330
+ /** @deprecated 이미지 host 이름 */
331
+ frontUrl?: string;
332
+ /** @deprecated Cloud Front 적용 여부 */
333
+ isCF?: boolean;
334
+ /**
335
+ * 이미지 정보
336
+ * @TODO 개편이 필요함
337
+ * */
338
+ imgInfo?: StoreItemContentsImgInfo;
339
+ /** @description html 컨텐츠 여부 */
340
+ isHtmlContents?: boolean;
341
+ }
342
+ export interface StoreItemContentsImgInfo {
343
+ origin: StoreItemContentsImgDetailInfo;
344
+ }
345
+ export interface StoreItemContentsImgDetailInfo {
346
+ imgKey: string;
347
+ imgUrl: string;
348
+ imgSizeInfo: StoreItemContentsImgSizeInfo;
349
+ }
350
+ export interface StoreItemContentsImgSizeInfo {
351
+ width: number;
352
+ height: number;
353
+ }
354
+ /** 상품 이미지 정보 */
355
+ export interface StoreItemImgInfo {
356
+ /** Cloud Front 처리 여부 */
357
+ isCF?: boolean;
358
+ /** 리사이징 여부 */
359
+ isResize: boolean;
360
+ /** 버킷 이름 */
361
+ bucket?: string;
362
+ /** 프론트 url */
363
+ frontUrl?: string;
364
+ itemImgList: StoreItemImgListDetail[];
365
+ }
366
+ export interface StoreItemImgListDetail {
367
+ origin: string;
368
+ xl: string;
369
+ l: string;
370
+ m: string;
371
+ s: string;
372
+ xs: string;
373
+ }
374
+ /** 스티커 정보 */
375
+ export interface StoreItemStickerInfo {
376
+ /** 스티커 아이디 */
377
+ storeItemStickerId: Types.ObjectId | string;
378
+ /** 저장일 */
379
+ regDate: Date;
380
+ /** 스티커 이름 */
381
+ stickerName: string;
382
+ /** 스티커 타이틀 */
383
+ stickerTitle: string;
384
+ /** 배경색 */
385
+ backgroundColor: string;
386
+ /** 글자색 */
387
+ textColor: string;
388
+ /** 스티커 출력 순서 */
389
+ stickerSort: number;
390
+ /** 시작일 */
391
+ sDate: Date;
392
+ /** 끝나는 날짜 */
393
+ eDate: Date;
394
+ }
395
+ /** @deprecated 상품 리뷰 정보 */
396
+ export interface StoreItemReviewInfo {
397
+ /** 카테고리 수정 날짜 */
398
+ lastCategoryModifyDate: Date;
399
+ }
400
+ /** 상품 보험 정보 */
401
+ export interface StoreItemInsuranceInfo {
402
+ /** 보험 적용 여부 */
403
+ isInsurance: boolean;
404
+ /** 보험금액 */
405
+ unitPrice?: number;
406
+ /** 상품가격 + 보험 금액 */
407
+ itemPriceWithInsurance: number;
408
+ }
409
+ /** 성인 상품 정보 */
410
+ export interface StoreItemAdultItemInfo {
411
+ /** 성인 상품 여부 */
412
+ isAdultItem: boolean;
413
+ /** 업데이트 일자 */
414
+ updateDate?: Date;
415
+ }
416
+ /** 크롤링 상품 구매 snapshot */
417
+ export interface StoreItemCrawlingPurchaseSnapshotInfo {
418
+ /** 원본 상품 단가 */
419
+ originalUnitPrice: number;
420
+ /** 원본 상품 통화 */
421
+ originalCurrency: string;
422
+ /** 크롤링/계산 당시 환율 */
423
+ exchangeRate?: number;
424
+ /** 환율 가산 방식 */
425
+ exchangeRateMarkupType?: string;
426
+ /** 환율 가산 값 */
427
+ exchangeRateMarkupValue?: number;
428
+ /** 환율 가산 적용 후 환율 */
429
+ exchangeRateAfterMarkup?: number;
430
+ /** 상품가 가산율 적용 퍼센트 */
431
+ itemPriceMarkupPercent?: number;
432
+ /** 상품가 가산율 적용 전 상품가 */
433
+ itemPriceBeforeItemMarkup?: number;
434
+ /** 상품가 가산율 적용 후 상품가 */
435
+ itemPriceAfterItemMarkup?: number;
436
+ /** 크로켓에 적용된 상품가 */
437
+ appliedItemPrice: number;
438
+ /** 크로켓에 적용된 배송비 */
439
+ appliedShippingFee: number;
440
+ /** 계산된 배송비를 상품가에 포함했는지 여부 */
441
+ isShippingFeeIncludedInItemPrice?: boolean;
442
+ /** 상품가에 포함된 배송비 */
443
+ includedShippingFee?: number;
444
+ /** 배송비 포함 처리 전 계산된 배송비 */
445
+ shippingFeeBeforeInclusion?: number;
446
+ /** 크롤링 원본 브랜드명 */
447
+ brandName?: string;
448
+ /** 구매 출발 국가 */
449
+ originCountry?: string;
450
+ /** 구매 도착 국가 */
451
+ destinationCountry?: string;
452
+ }
453
+ export type StoreItemTranslationTrigger = 'CREATED' | 'UPDATED';
454
+ /** 크롤링으로 등록/관리되는 상품의 원본 식별 정보 */
455
+ export interface StoreItemCrawlingInfo {
456
+ /** 크롤링 상품 여부 */
457
+ isCrawled: boolean;
458
+ /** item-crawler의 crawling_item_host.id */
459
+ crawlingItemHostId: number;
460
+ /** item-crawler의 crawling_item_host.host_name 값 */
461
+ crawlingItemHostName: string;
462
+ /** item-crawler의 crawling_item_host.base_url 값 */
463
+ crawlingItemHostBaseUrl: string;
464
+ /** host 기준 외부 상품 아이디 */
465
+ externalItemId: string;
466
+ /** 원본 상품 상세 URL */
467
+ sourceUrl: string;
468
+ /** 크롤링 상품 구매 snapshot */
469
+ purchaseSnapshot?: StoreItemCrawlingPurchaseSnapshotInfo;
470
+ /** 마지막 등록/수정/판매중지 동기화 성공 일자 */
471
+ lastSyncedAt?: Date;
472
+ /** item-crawler에서 적용 대기 중인 번역 Job UUID */
473
+ pendingTranslationId?: string;
474
+ /** 번역 완료 시 삭제 상태 복구 여부를 판단하는 상품 sync 유형 */
475
+ pendingTranslationTrigger?: StoreItemTranslationTrigger;
476
+ /** 멱등한 결과 재발행을 위해 마지막으로 적용한 번역 Job UUID */
477
+ lastAppliedTranslationId?: string;
478
+ }
479
+ /**
480
+ * @description 상품
6
481
  */
7
- export interface StoreItemEntity extends StoreItem {
482
+ export interface StoreItemEntity {
483
+ /**
484
+ * 아이디
485
+ * - 검증: true
486
+ * */
487
+ _id: Types.ObjectId | string;
488
+ /**
489
+ * 스토어 아이디
490
+ * - 검증: true
491
+ * */
492
+ storeId: Types.ObjectId | string;
493
+ /** Atlas Search facet용 스토어 아이디 문자열 */
494
+ storeIdFacet?: string;
495
+ /**
496
+ * 셀러의 유저 아이디
497
+ * - 검증: true
498
+ * */
499
+ sellerId: Types.ObjectId | string;
500
+ /** 셀러가 상품 관리에 사용하는 비공개 메모 */
501
+ sellerMemo?: string;
8
502
  /** 중고 상품 여부 (미설정 시 신상품으로 해석) */
9
503
  isUsedProduct?: boolean;
504
+ /** 크롤링 원본 상품 식별 정보 */
505
+ crawling?: StoreItemCrawlingInfo;
506
+ /**
507
+ * 상품 가격
508
+ * - 검증: true
509
+ * */
510
+ itemPrice: number;
511
+ /**
512
+ * 구매자용 상품 가격
513
+ * - 검증: true
514
+ * */
515
+ itemPriceForBuyer: number;
516
+ /**
517
+ * 배송비를 포함한 상품 가격
518
+ * - 조건 배송비일 경우 첫번째 조건
519
+ * - 검증: true */
520
+ itemPriceWithShippingFee: number;
521
+ /**
522
+ * 배송비를 포함한 구매자가 보는 상품 가격
523
+ * - 조건 배송비일 경우 첫번째 조건
524
+ * - 검증: true
525
+ * */
526
+ itemPriceForBuyerWithShippingFee: number;
527
+ /** @description 배송비를 포함한 구매자가 보는 상품 가격 (쿠폰 할인 적용) */
528
+ itemPriceForBuyerWithShippingFeeAndCouponDiscount?: number;
529
+ /**
530
+ * 남은 수
531
+ * - 검증: true
532
+ * */
533
+ remainCount: number;
534
+ /**
535
+ * @deprecated 옵션 정보 (legacy)
536
+ * - group 옵션 시 null
537
+ * - 검증: true
538
+ * */
539
+ option?: StoreItemOption[] | null;
540
+ /**
541
+ * 옵션 정보 (통합)
542
+ * - 검증: true
543
+ * */
544
+ optionInfo: StoreItemOptionInfo;
545
+ /**
546
+ * @deprecated 구매 지역
547
+ * - 검증: true
548
+ * */
549
+ area: string;
550
+ /**
551
+ * @deprecated 구매 나라
552
+ * - 검증: true
553
+ * */
554
+ nation: string;
555
+ /** 구매 지역 + 나라 */
556
+ combinedAreaNation?: string;
557
+ /**
558
+ * @deprecated 구매 도시
559
+ * - 검증: true
560
+ * */
561
+ city: string;
562
+ /**
563
+ * 상품 명
564
+ * - 검증: true
565
+ * */
566
+ itemName: string;
567
+ /** 상품 일원화 그룹 검색용 상품명 목록 */
568
+ itemNamesForStoreItemGroupSearch?: string[];
569
+ /** 상품 명 (영문명) */
570
+ itemNameEng?: string;
571
+ /**
572
+ * 상품 명 키 (uniq)
573
+ * - 삭제되었던 상품은 데이터가 추가되지 않았음
574
+ * - 검증: true
575
+ * */
576
+ itemNameKey?: string;
577
+ /**
578
+ * 상품명 키 for Naver (uniq)
579
+ * - 검증: true
580
+ * */
581
+ itemNameKeyForNaver: string;
582
+ /**
583
+ * @deprecated 옛날 카테고리
584
+ * - 검증: true
585
+ * */
586
+ category?: string;
587
+ /**
588
+ * 카테고리 버전
589
+ * - 검증: true
590
+ * */
591
+ categoryVersion: string;
592
+ /**
593
+ * 카테고리 major 버전
594
+ * - 검증: true
595
+ * */
596
+ categoryMajorVersion: number;
597
+ /**
598
+ * 메인카테고리
599
+ * - 검증: true
600
+ * */
601
+ mainCategory: string;
602
+ /**
603
+ * 서브 카테고리
604
+ * - 검증: true
605
+ * */
606
+ subCategory: string;
607
+ /** 카테고리 조합 */
608
+ combinedCategory?: string;
609
+ /**
610
+ * 상품 이미지
611
+ * - 검증: true
612
+ * */
613
+ itemImg: string[];
614
+ /**
615
+ * @deprecated 구매 날짜
616
+ * - 검증: true
617
+ * */
618
+ purchased?: Date;
619
+ /**
620
+ * 상품 설명
621
+ * - 검증: true
622
+ * */
623
+ contents: string;
624
+ /**
625
+ * 저장 날짜
626
+ * - 검증: true
627
+ * */
628
+ regDate: Date;
629
+ /**
630
+ * 마지막 수정 날짜
631
+ * - 검증: true
632
+ * */
633
+ lastModifyDate: Date;
634
+ /**
635
+ * 배송 정보 - 변경 시 sellingInfo 변경 같이 해줘야함 (구 버전)
636
+ * @TODO 개편이 필요함
637
+ * - 검증: true
638
+ * */
639
+ deliveryMethod: StoreItemDeliveryMethod;
640
+ /**
641
+ * @deprecated 만료일 추가 - 없앨 예정
642
+ * - 검증: true
643
+ * */
644
+ dueDate?: Date;
645
+ /**
646
+ * 판매중인가
647
+ * - 검증: true
648
+ * */
649
+ isSelling: boolean;
650
+ /** 개인통관고유부호 필요 여부 (미설정 시 필요로 해석) */
651
+ isRequiredPCCC?: boolean;
652
+ /**
653
+ * @deprecated 상품 평점
654
+ * - 검증: true
655
+ * */
656
+ rating: StoreItemRating[];
657
+ /**
658
+ * @decprecated qna 정보
659
+ * @TODO 리펙토링 진행해야함
660
+ * - 검증: true
661
+ * */
662
+ qna: StoreItemQna[];
663
+ /**
664
+ * 관리자 용
665
+ * - 검증: true
666
+ * */
667
+ isBannerExist?: boolean;
668
+ /**
669
+ * @decprecated 웹 배너 이미지 (사용중인지 확인이 필요함)
670
+ * - 검증: true
671
+ * */
672
+ webBannerImg?: string;
673
+ /**
674
+ * @decprecated 모바일 배너 이미지 (사용중인지 확인이 필요함)
675
+ * - 검증: true
676
+ * */
677
+ mobileBannerImg?: string;
678
+ /**
679
+ * @decprecated (사용중인지 확인이 필요함)
680
+ * - 검증: true
681
+ * */
682
+ bannerstring1?: string;
683
+ /**
684
+ * @decprecated (사용중인지 확인이 필요함)
685
+ * - 검증: true
686
+ * */
687
+ bannerstring2?: string;
688
+ /**
689
+ * nv_mid
690
+ * - 검증: true
691
+ * */
692
+ nv_mid?: string;
693
+ /**
694
+ * 네이버 정보
695
+ * @TODO 리펙토링 필요해보임
696
+ * - 검증: true
697
+ * */
698
+ nvInfo?: StoreItemNaverInfo;
699
+ /**
700
+ * @decprecated relateStoreItemCopyId
701
+ * - 검증: true
702
+ * */
703
+ relateStoreItemCopyId?: Types.ObjectId | string;
704
+ /**
705
+ * 판매 개수 제한
706
+ * - 검증: true
707
+ * */
708
+ isLimitSale: boolean;
709
+ /**
710
+ * 판매 제한 정보
711
+ * - 검증: true
712
+ * */
713
+ limitSaleInfo?: LimitSaleInfo;
714
+ /**
715
+ * @decprecated 거래 예정일 (sellingInfo 정보에 존재함)
716
+ * - 검증: true
717
+ * */
718
+ deliveryDate?: Date;
719
+ /**
720
+ * 판매 수
721
+ * - 검증: true
722
+ * */
723
+ soldNums: number;
724
+ /**
725
+ * 삭제 되었는가
726
+ * - 검증: true
727
+ * */
728
+ isDelete: boolean;
729
+ /**
730
+ * 찜한 수
731
+ * - 검증: true
732
+ * */
733
+ bookNums: number;
734
+ /**
735
+ * 유입 정보
736
+ * - 검증: true
737
+ * */
738
+ inflowInfo?: StoreItemInflowInfo;
739
+ /**
740
+ * 찜 만료 처리를 하였는가 (cron 용)
741
+ * - 검증: true
742
+ * */
743
+ isBookmarkExpired: boolean;
744
+ /**
745
+ * @deprecated 이 상품을 보여줄 나라 리스트
746
+ * - 검증: true
747
+ * */
748
+ showNationList: string[];
749
+ /**
750
+ * @deprecated 생성 수정 로그
751
+ * - 삭제 예정
752
+ * - 검증: true
753
+ * */
754
+ log: any[];
755
+ /**
756
+ * @deprecated origin 상품 이미지 리스트
757
+ * - 검증: true
758
+ * */
759
+ originItemImg: string[];
760
+ /**
761
+ * @deprecated 금액 나라 코드
762
+ * - 검증: true
763
+ * */
764
+ moneyNationCode: string;
765
+ /**
766
+ * @description 판매정보
767
+ * - 배송 정보 변경시 delivertMethod 변경해줘야함
768
+ * - 검증: true
769
+ * */
770
+ sellingInfo: StoreItemSellingInfo;
771
+ /**
772
+ * 유의사항 정보
773
+ * - 검증: true
774
+ * */
775
+ precautionInfo: StoreItemPrecautionInfo;
776
+ /**
777
+ * cron을 통해 해당 데이터 저장
778
+ * @TODO 해당 데이터 저장 방식에 대해 리펙토링이 필요함
779
+ * - 검증: true
780
+ * */
781
+ clickNums?: number;
782
+ clickNumsUpdateDate?: Date;
783
+ /**
784
+ * sort 정보
785
+ * - 검증: true
786
+ * */
787
+ sortInfo: StoreItemSortInfo;
788
+ /**
789
+ * 상품 콘텐츠 리스트
790
+ * - 검증: true
791
+ * */
792
+ contentsList?: StoreItemContentsInfo[];
793
+ /**
794
+ * 상품 이미지 정보
795
+ * @TODO 개편이 필요함
796
+ * - 검증: true
797
+ * */
798
+ itemImgInfo?: StoreItemImgInfo;
799
+ /**
800
+ * 스티커 여부
801
+ * - 검증: true
802
+ * */
803
+ isSticker?: boolean;
804
+ /**
805
+ * 스티커 정보
806
+ * - 검증: true
807
+ * */
808
+ stickerInfo?: StoreItemStickerInfo;
809
+ /**
810
+ * @deprecated 상품 리뷰 정보
811
+ * - 검증: true
812
+ * */
813
+ itemReviewInfo?: StoreItemReviewInfo;
814
+ /**
815
+ * 보험 금액
816
+ * - 검증: true
817
+ * */
818
+ insuranceInfo: StoreItemInsuranceInfo;
819
+ /**
820
+ * 성인 상품 정보
821
+ * - 검증: true
822
+ * */
823
+ adultItemInfo?: StoreItemAdultItemInfo;
824
+ /**
825
+ * 고정 콘텐츠 리스트
826
+ * - 관리자에서 고정이미지를 등록하는 경우에만 존재
827
+ */
828
+ fixedContents?: StoreItemFixedContent[];
829
+ /** @description 셀렉션 상품 연결 리스트 */
830
+ selectionInfos?: SelectionConnectInfo[];
831
+ /** 최대 할인 쿠폰가 적용이 되었는지 여부 */
832
+ isExistsMaxDiscountCoupon?: boolean;
833
+ /** 최대 할인 쿠폰가 적용이 되었는지 여부 업데이트 일자 */
834
+ maxDiscountCouponUpdateDate?: Date;
835
+ soldNumsLastNdays?: number;
836
+ soldNumsLastNdaysUpdateDate?: Date;
837
+ bookNumsLastNDays?: number;
838
+ bookNumsLastNDaysUpdateDate?: Date;
839
+ reviewNumsLastNDays?: number;
840
+ reviewNumsLastNDaysUpdateDate?: Date;
841
+ brandInfo?: StoreItemBrandInfo;
842
+ /** @description 마지막 판매 중지된 날짜 (by 홍준) */
843
+ lastStopSellingDate?: Date;
844
+ htmlContentInfo?: StoreItemHtmlContentInfo;
845
+ /** 리사이징 정보 */
846
+ imgResizeInfo?: StoreItemImgResizeInfo;
847
+ /**
848
+ * @author jun
849
+ * 자동판매중지 판매개수 제한 여부
850
+ * */
851
+ isAutoStopSellingNumsLimit?: boolean;
852
+ /** 현재 판매된 수 (수정되어도 데이터 유지해야하기 때문에 밖으로 뺌) */
853
+ autoStopSellingCurrentSoldNums?: number;
854
+ /**
855
+ * @author jun
856
+ * 자동판매중지 판매개수 제한 정보
857
+ * */
858
+ autoStopSellingNumsLimitInfo?: AutoStopSellingNumsLimitInfo;
859
+ /** 비밀상품 여부 */
860
+ isSecret?: boolean;
861
+ /** 비밀상품 등록 일자 */
862
+ secretedDate?: Date;
863
+ /** 사방넷 상품 등록 여부 */
864
+ isSabang?: boolean;
865
+ /**
866
+ * @author sj
867
+ * 상품식별코드
868
+ * */
869
+ GTIN?: string;
870
+ /**
871
+ * @author jun
872
+ * 상품 리뷰 통합 여부 */
873
+ isItemReviewIntegration?: boolean;
874
+ /**
875
+ * @author jun
876
+ * 통합 정렬 업데이트 일자
877
+ * - 전체 integrationSortInfo 정보 초기화 시 업데이트 됨
878
+ */
879
+ integrationSortUpdated?: Date;
880
+ /**
881
+ * @author jun
882
+ * 통합 정렬 정보 */
883
+ integrationSortInfo?: IntegrationSortInfo;
884
+ /**
885
+ * @author sj
886
+ * 상품 정가 (관리자가 등록한 정가)
887
+ * */
888
+ regularPrice?: number;
889
+ /**
890
+ * @author sj
891
+ * 정가 등록 일자
892
+ * */
893
+ regularPriceRegDate?: Date;
894
+ /**
895
+ * @author sj
896
+ * 정가 업데이트 일자
897
+ * */
898
+ regularPriceUpdateDate?: Date;
899
+ /** 설정한 키워드 목록 */
900
+ itemKeywords?: StoreItemKeyword[];
901
+ /** @description 상품 컨텐츠 영문 */
902
+ contentsEng?: string;
903
+ /** @description 상품 컨텐츠 리스트 영문 */
904
+ contentsListEng?: StoreItemContentsInfo[];
905
+ /** @description 네이버 상품 시트 연동 여부 -관리자 수동 등록- */
906
+ isNaverEnabled?: boolean;
907
+ /** @description 상품 그룹 아이디 */
908
+ storeItemGroupId?: Types.ObjectId;
909
+ /** @description 일치 키워드 */
910
+ matchKeywords?: string[];
911
+ /** @description 일치 키워드 업데이트 일자 */
912
+ matchKeywordsUpdateDate?: Date;
913
+ /** 상품 타입 */
914
+ itemType?: StoreItemTypeEnum;
915
+ /** @description 예약 상품 정보 */
916
+ reservationInfo?: StoreItemReservationInfo;
917
+ /** @description 예약 상품 통계 */
918
+ reservationStatsInfo?: StoreItemReservationStatsInfo;
919
+ }
920
+ /**
921
+ * @author jun
922
+ * @description 예약 상품 통계
923
+ */
924
+ export interface StoreItemReservationStatsInfo {
925
+ /** @description 예약 수 */
926
+ reservationCount: number;
927
+ /** @description 결제 완료 수 (관리자 승인) */
928
+ paidCount: number;
929
+ /** @description 결제 실패 수 (관리자 거절) */
930
+ failedCount: number;
931
+ /** @description 최종 업데이트 일자 */
932
+ lastUpdateDate: Date;
933
+ }
934
+ /**
935
+ * @author jun
936
+ * @description 예약 상품 정보
937
+ */
938
+ export interface StoreItemReservationInfo {
939
+ /** @description 예약 가능 기간 */
940
+ reservationPeriod: ReservationPeriod;
941
+ /** @description 재고확보 및 결제 기간 */
942
+ stockSecuringPeriod: ReservationPeriod;
943
+ /** @description 발송 예정 기간 */
944
+ shippingPeriod: ReservationPeriod;
945
+ /** @description 재고 모드 설정 */
946
+ stockModeInfo: ReservationStockModeInfo;
947
+ /** @description 재고확보 기간 예약 가능 여부 */
948
+ isReservableInStockSecuringPeriod?: boolean;
949
+ /** @description 배송 기간 예약 가능 여부 */
950
+ isReservableInShippingPeriod?: boolean;
951
+ /** @description 등록 일자 */
952
+ regDate: Date;
953
+ /** @description 최종 수정 일자 */
954
+ lastModifyDate: Date;
955
+ }
956
+ /**
957
+ * @author jun
958
+ * @description 재고 모드 설정
959
+ */
960
+ export interface ReservationStockModeInfo {
961
+ /** @description 재고 모드 */
962
+ mode: ReservationStockModeEnum;
963
+ /** @description 총 수량 */
964
+ totalQuantity?: number;
965
+ /** @description 예약 수 */
966
+ reservedCount?: number;
967
+ }
968
+ export interface ReservationPeriod {
969
+ startDate: Date;
970
+ endDate: Date;
971
+ }
972
+ /**
973
+ * @author jun
974
+ * 상품 리뷰 통합 정보
975
+ * soldNums: 관련된 상품의 전체 판매 수
976
+ * reviewNums: 관련된 상품의 전체 리뷰 수
977
+ * bookNums: 관련된 상품의 전체 찜 수
978
+ * */
979
+ export interface IntegrationSortInfo {
980
+ /** 관련된 상품의 전체 판매 수 */
981
+ soldNums: number;
982
+ /** 관련된 상품의 전체 리뷰 수 */
983
+ reviewNums: number;
984
+ /** 관련된 상품의 전체 찜 수 */
985
+ bookNums: number;
986
+ /** 관련된 상품의 마지막 N일로 부터 판매 수 */
987
+ soldNumsLastNdays: number;
988
+ /** 관련된 상품의 마지막 N일로 부터 찜 수 */
989
+ bookNumsLastNDays: number;
990
+ /** 관련된 상품의 마지막 N일로 부터 리뷰 수 */
991
+ reviewNumsLastNDays: number;
992
+ }
993
+ /**
994
+ * @author jun
995
+ * 자동판매중지 판매개수 제한 정보
996
+ * */
997
+ export interface AutoStopSellingNumsLimitInfo {
998
+ /** 판매개수 제한 수 */
999
+ sellingNumsLimit: number;
1000
+ /** 판매개수 제한 업데이트 일자 */
1001
+ sellingNumsLimitUpdateDate?: Date;
1002
+ }
1003
+ /**
1004
+ * @author jun
1005
+ * @description 이미지 리사이징 정보
1006
+ */
1007
+ export interface StoreItemImgResizeInfo {
1008
+ /** 이미지 버전 */
1009
+ version: StoreItemImgVersionEnum;
1010
+ /** 리사이징 시도 여부 */
1011
+ isResizeTry: boolean;
1012
+ /** 리사이징 시도 일자 */
1013
+ resizeTryDate?: Date;
1014
+ /** 리사이징 여부 */
1015
+ isResizeDone: boolean;
1016
+ /** 리사이징 완료 일자 */
1017
+ resizeDoneDate?: Date;
1018
+ /** 리사이징 오류 */
1019
+ isResizeError?: boolean;
1020
+ /** 리사이징 오류 메시지 */
1021
+ resizeErrorMessage?: string;
1022
+ }
1023
+ export interface StoreItemHtmlContentInfo {
1024
+ /** @description 원본 html 콘텐츠 */
1025
+ originalHtmlContent: string;
1026
+ /** @description 리사이징 된 html 콘텐츠 */
1027
+ htmlContent: string;
1028
+ }
1029
+ export interface StoreItemBrandInfo {
1030
+ /** @description 브랜드명 */
1031
+ brandName: string;
1032
+ /** @description 서브 브랜드명 */
1033
+ subBrandName?: string;
1034
+ /** @description 영어 브랜드명 */
1035
+ engBrandName?: string;
1036
+ /** @description 브랜드 아이디 */
1037
+ brandId?: string | Types.ObjectId;
1038
+ }
1039
+ /**
1040
+ * 고정 콘텐츠
1041
+ */
1042
+ /** @description 셀렉션 연결된 정보 */
1043
+ export interface SelectionConnectInfo {
1044
+ selectionFrameId: string | Types.ObjectId;
1045
+ isPick: boolean;
1046
+ salesLocation?: string;
1047
+ regularPrice?: number;
1048
+ launchDateText?: string;
1049
+ }
1050
+ export interface StoreItemFixedContent {
1051
+ /** 고정 이미지 위치 */
1052
+ position: FixedContentsPositionEnum;
1053
+ /** 이미지 정보 */
1054
+ imgUrl: string;
1055
+ /** 이미지 가로 사이즈 */
1056
+ width: number;
1057
+ /** 이미지 세로 사이즈 */
1058
+ height: number;
1059
+ /** S3에 저장된 이미지 버킷 키 */
1060
+ bucketKey: string;
1061
+ }
1062
+ export interface MDThemeInfo {
1063
+ MDThemeGroupMainTitle: string;
1064
+ MDThemeGroupSubTitle: string;
1065
+ }
1066
+ export interface StoreItemKeyword {
1067
+ /** 키워드 */
1068
+ keyword: string;
1069
+ /** 대표키워드 여부 */
1070
+ isMainKeyword: boolean;
10
1071
  }
@@ -1,2 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StoreItemContentsTypeEnum = exports.FixedContentsPositionEnum = exports.StoreItemOptionTypeEnum = exports.PrecautionCodeEnum = exports.StoreItemImgVersionEnum = exports.ReservationStockModeEnum = exports.StoreItemTypeEnum = void 0;
4
+ var StoreItemTypeEnum;
5
+ (function (StoreItemTypeEnum) {
6
+ /** 일반 상품 */
7
+ StoreItemTypeEnum["normal"] = "normal";
8
+ /** 예약 상품 */
9
+ StoreItemTypeEnum["reservation"] = "reservation";
10
+ })(StoreItemTypeEnum || (exports.StoreItemTypeEnum = StoreItemTypeEnum = {}));
11
+ /**
12
+ * @author jun
13
+ * @description 예약 상품 재고 모드
14
+ */
15
+ var ReservationStockModeEnum;
16
+ (function (ReservationStockModeEnum) {
17
+ /** 무제한 모드 */
18
+ ReservationStockModeEnum["unlimited"] = "unlimited";
19
+ /** 줄서기 On */
20
+ ReservationStockModeEnum["queueOn"] = "queueOn";
21
+ /** 줄서기 Off */
22
+ ReservationStockModeEnum["queueOff"] = "queueOff";
23
+ })(ReservationStockModeEnum || (exports.ReservationStockModeEnum = ReservationStockModeEnum = {}));
24
+ var StoreItemImgVersionEnum;
25
+ (function (StoreItemImgVersionEnum) {
26
+ /** 썸네일만 리사이징 */
27
+ StoreItemImgVersionEnum["v0"] = "v0";
28
+ })(StoreItemImgVersionEnum || (exports.StoreItemImgVersionEnum = StoreItemImgVersionEnum = {}));
29
+ var PrecautionCodeEnum;
30
+ (function (PrecautionCodeEnum) {
31
+ PrecautionCodeEnum["PC001"] = "PC001";
32
+ PrecautionCodeEnum["PC002"] = "PC002";
33
+ /* 'PC003', */
34
+ PrecautionCodeEnum["PC004"] = "PC004";
35
+ PrecautionCodeEnum["PC000"] = "PC000";
36
+ })(PrecautionCodeEnum || (exports.PrecautionCodeEnum = PrecautionCodeEnum = {}));
37
+ var StoreItemOptionTypeEnum;
38
+ (function (StoreItemOptionTypeEnum) {
39
+ StoreItemOptionTypeEnum["single"] = "single";
40
+ StoreItemOptionTypeEnum["group"] = "group";
41
+ })(StoreItemOptionTypeEnum || (exports.StoreItemOptionTypeEnum = StoreItemOptionTypeEnum = {}));
42
+ /** 고정 이미지 위치 */
43
+ var FixedContentsPositionEnum;
44
+ (function (FixedContentsPositionEnum) {
45
+ /** 최상단 */
46
+ FixedContentsPositionEnum["TOP"] = "TOP";
47
+ /** 최하단 */
48
+ FixedContentsPositionEnum["BOTTOM"] = "BOTTOM";
49
+ })(FixedContentsPositionEnum || (exports.FixedContentsPositionEnum = FixedContentsPositionEnum = {}));
50
+ var StoreItemContentsTypeEnum;
51
+ (function (StoreItemContentsTypeEnum) {
52
+ StoreItemContentsTypeEnum["img"] = "img";
53
+ StoreItemContentsTypeEnum["video"] = "video";
54
+ })(StoreItemContentsTypeEnum || (exports.StoreItemContentsTypeEnum = StoreItemContentsTypeEnum = {}));