@carsayo/types 1.1.890992 → 1.1.891702
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/dist/data/car.d.ts +0 -45
- package/dist/data/car.js +3 -39
- package/dist/types/modules/car/dto.d.ts +167 -56
- package/dist/types/modules/car/interface.d.ts +177 -64
- package/dist/types/modules/index.d.ts +0 -1
- package/dist/types/modules/index.js +0 -1
- package/dist/types/modules/member/dto.d.ts +4 -0
- package/dist/types/modules/member/interface.d.ts +51 -10
- package/dist/types/modules/order/dto.d.ts +36 -12
- package/dist/types/modules/order/dto.js +7 -0
- package/dist/types/modules/order/interface.d.ts +45 -15
- package/dist/types/modules/order/type.d.ts +4 -0
- package/dist/types/modules/order/type.js +4 -1
- package/dist/types/modules/purchase/index.d.ts +0 -1
- package/dist/types/modules/purchase/index.js +0 -1
- package/dist/types/providers/index.d.ts +0 -1
- package/dist/types/providers/index.js +0 -1
- package/package.json +1 -1
package/dist/data/car.d.ts
CHANGED
|
@@ -698,93 +698,48 @@ export declare const CarMakerData: readonly [{
|
|
|
698
698
|
export declare const CarCategoryData: readonly [{
|
|
699
699
|
readonly id: 1;
|
|
700
700
|
readonly name: "경차";
|
|
701
|
-
readonly allow_new: true;
|
|
702
|
-
readonly allow_rent: true;
|
|
703
|
-
readonly allow_lease: true;
|
|
704
701
|
}, {
|
|
705
702
|
readonly id: 2;
|
|
706
703
|
readonly name: "소형차";
|
|
707
|
-
readonly allow_new: true;
|
|
708
|
-
readonly allow_rent: true;
|
|
709
|
-
readonly allow_lease: true;
|
|
710
704
|
}, {
|
|
711
705
|
readonly id: 3;
|
|
712
706
|
readonly name: "준중형차";
|
|
713
|
-
readonly allow_new: true;
|
|
714
|
-
readonly allow_rent: true;
|
|
715
|
-
readonly allow_lease: true;
|
|
716
707
|
}, {
|
|
717
708
|
readonly id: 4;
|
|
718
709
|
readonly name: "중형차";
|
|
719
|
-
readonly allow_new: true;
|
|
720
|
-
readonly allow_rent: true;
|
|
721
|
-
readonly allow_lease: true;
|
|
722
710
|
}, {
|
|
723
711
|
readonly id: 5;
|
|
724
712
|
readonly name: "대형차";
|
|
725
|
-
readonly allow_new: true;
|
|
726
|
-
readonly allow_rent: true;
|
|
727
|
-
readonly allow_lease: true;
|
|
728
713
|
}, {
|
|
729
714
|
readonly id: 6;
|
|
730
715
|
readonly name: "스포츠카";
|
|
731
|
-
readonly allow_new: true;
|
|
732
|
-
readonly allow_rent: false;
|
|
733
|
-
readonly allow_lease: true;
|
|
734
716
|
}, {
|
|
735
717
|
readonly id: 7;
|
|
736
718
|
readonly name: "RV";
|
|
737
|
-
readonly allow_new: true;
|
|
738
|
-
readonly allow_rent: true;
|
|
739
|
-
readonly allow_lease: true;
|
|
740
719
|
}, {
|
|
741
720
|
readonly id: 8;
|
|
742
721
|
readonly name: "SUV";
|
|
743
|
-
readonly allow_new: true;
|
|
744
|
-
readonly allow_rent: true;
|
|
745
|
-
readonly allow_lease: true;
|
|
746
722
|
}, {
|
|
747
723
|
readonly id: 9;
|
|
748
724
|
readonly name: "승합차";
|
|
749
|
-
readonly allow_new: true;
|
|
750
|
-
readonly allow_rent: true;
|
|
751
|
-
readonly allow_lease: true;
|
|
752
725
|
}, {
|
|
753
726
|
readonly id: 10;
|
|
754
727
|
readonly name: "화물차";
|
|
755
|
-
readonly allow_new: true;
|
|
756
|
-
readonly allow_rent: false;
|
|
757
|
-
readonly allow_lease: true;
|
|
758
728
|
}, {
|
|
759
729
|
readonly id: 11;
|
|
760
730
|
readonly name: "버스";
|
|
761
|
-
readonly allow_new: true;
|
|
762
|
-
readonly allow_rent: false;
|
|
763
|
-
readonly allow_lease: true;
|
|
764
731
|
}, {
|
|
765
732
|
readonly id: 21;
|
|
766
733
|
readonly name: "특장차";
|
|
767
|
-
readonly allow_new: true;
|
|
768
|
-
readonly allow_rent: false;
|
|
769
|
-
readonly allow_lease: true;
|
|
770
734
|
}, {
|
|
771
735
|
readonly id: 20;
|
|
772
736
|
readonly name: "기타";
|
|
773
|
-
readonly allow_new: true;
|
|
774
|
-
readonly allow_rent: false;
|
|
775
|
-
readonly allow_lease: true;
|
|
776
737
|
}, {
|
|
777
738
|
readonly id: 24;
|
|
778
739
|
readonly name: "하이브리드";
|
|
779
|
-
readonly allow_new: true;
|
|
780
|
-
readonly allow_rent: true;
|
|
781
|
-
readonly allow_lease: true;
|
|
782
740
|
}, {
|
|
783
741
|
readonly id: 25;
|
|
784
742
|
readonly name: "전기차";
|
|
785
|
-
readonly allow_new: true;
|
|
786
|
-
readonly allow_rent: true;
|
|
787
|
-
readonly allow_lease: true;
|
|
788
743
|
}];
|
|
789
744
|
export declare const CarPurpose: readonly [{
|
|
790
745
|
readonly id: 1;
|
package/dist/data/car.js
CHANGED
|
@@ -802,92 +802,56 @@ exports.CarMakerData = [
|
|
|
802
802
|
},
|
|
803
803
|
];
|
|
804
804
|
exports.CarCategoryData = [
|
|
805
|
-
{ id: 1, name: "경차"
|
|
805
|
+
{ id: 1, name: "경차" },
|
|
806
806
|
{
|
|
807
807
|
id: 2,
|
|
808
808
|
name: "소형차",
|
|
809
|
-
allow_new: true,
|
|
810
|
-
allow_rent: true,
|
|
811
|
-
allow_lease: true,
|
|
812
809
|
},
|
|
813
810
|
{
|
|
814
811
|
id: 3,
|
|
815
812
|
name: "준중형차",
|
|
816
|
-
allow_new: true,
|
|
817
|
-
allow_rent: true,
|
|
818
|
-
allow_lease: true,
|
|
819
813
|
},
|
|
820
814
|
{
|
|
821
815
|
id: 4,
|
|
822
816
|
name: "중형차",
|
|
823
|
-
allow_new: true,
|
|
824
|
-
allow_rent: true,
|
|
825
|
-
allow_lease: true,
|
|
826
817
|
},
|
|
827
818
|
{
|
|
828
819
|
id: 5,
|
|
829
820
|
name: "대형차",
|
|
830
|
-
allow_new: true,
|
|
831
|
-
allow_rent: true,
|
|
832
|
-
allow_lease: true,
|
|
833
821
|
},
|
|
834
822
|
{
|
|
835
823
|
id: 6,
|
|
836
824
|
name: "스포츠카",
|
|
837
|
-
allow_new: true,
|
|
838
|
-
allow_rent: false,
|
|
839
|
-
allow_lease: true,
|
|
840
825
|
},
|
|
841
|
-
{ id: 7, name: "RV"
|
|
842
|
-
{ id: 8, name: "SUV"
|
|
826
|
+
{ id: 7, name: "RV" },
|
|
827
|
+
{ id: 8, name: "SUV" },
|
|
843
828
|
{
|
|
844
829
|
id: 9,
|
|
845
830
|
name: "승합차",
|
|
846
|
-
allow_new: true,
|
|
847
|
-
allow_rent: true,
|
|
848
|
-
allow_lease: true,
|
|
849
831
|
},
|
|
850
832
|
{
|
|
851
833
|
id: 10,
|
|
852
834
|
name: "화물차",
|
|
853
|
-
allow_new: true,
|
|
854
|
-
allow_rent: false,
|
|
855
|
-
allow_lease: true,
|
|
856
835
|
},
|
|
857
836
|
{
|
|
858
837
|
id: 11,
|
|
859
838
|
name: "버스",
|
|
860
|
-
allow_new: true,
|
|
861
|
-
allow_rent: false,
|
|
862
|
-
allow_lease: true,
|
|
863
839
|
},
|
|
864
840
|
{
|
|
865
841
|
id: 21,
|
|
866
842
|
name: "특장차",
|
|
867
|
-
allow_new: true,
|
|
868
|
-
allow_rent: false,
|
|
869
|
-
allow_lease: true,
|
|
870
843
|
},
|
|
871
844
|
{
|
|
872
845
|
id: 20,
|
|
873
846
|
name: "기타",
|
|
874
|
-
allow_new: true,
|
|
875
|
-
allow_rent: false,
|
|
876
|
-
allow_lease: true,
|
|
877
847
|
},
|
|
878
848
|
{
|
|
879
849
|
id: 24,
|
|
880
850
|
name: "하이브리드",
|
|
881
|
-
allow_new: true,
|
|
882
|
-
allow_rent: true,
|
|
883
|
-
allow_lease: true,
|
|
884
851
|
},
|
|
885
852
|
{
|
|
886
853
|
id: 25,
|
|
887
854
|
name: "전기차",
|
|
888
|
-
allow_new: true,
|
|
889
|
-
allow_rent: true,
|
|
890
|
-
allow_lease: true,
|
|
891
855
|
},
|
|
892
856
|
];
|
|
893
857
|
exports.CarPurpose = [
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** DTO는 서버단에 요청을 보낼 때 사용하는 클래스 유형으로 서버단에서 이 곳에 정의된 대로 유효성 검사를 처리합니다. */
|
|
2
2
|
import { CarCategoryId, CarMakerId, CarShapeId, PopularCarCategoryId } from "../../../data";
|
|
3
|
+
import { CarColorInternalSelection, CarColorRestrictions } from "./interface";
|
|
3
4
|
export interface GetCarModelDTO {
|
|
4
5
|
carMakerId: CarMakerId;
|
|
5
6
|
/**
|
|
@@ -62,62 +63,23 @@ export interface CarDataDTO {
|
|
|
62
63
|
export interface CarOptionDTO {
|
|
63
64
|
car_optionId: number;
|
|
64
65
|
}
|
|
65
|
-
export interface CarDataPreorderGradeDTO {
|
|
66
|
-
/** CarGradeId
|
|
67
|
-
* @description null일 경우 클라이언트에서 "추가"했을 경우 발생하며,
|
|
68
|
-
* RequestBody에 id값이 null인 값이 들어오면 자동으로 ID를 추가하여 업데이트하고 리턴합니다.
|
|
69
|
-
*/
|
|
70
|
-
id: number | null;
|
|
71
|
-
/** 상세모델명 */
|
|
72
|
-
name: string;
|
|
73
|
-
/** 상세모델 가격 */
|
|
74
|
-
price: number;
|
|
75
|
-
}
|
|
76
|
-
export interface CarDataPreorderTrimDTO {
|
|
77
|
-
/** CarTrimId
|
|
78
|
-
* @description null일 경우 클라이언트에서 "추가"했을 경우 발생하며,
|
|
79
|
-
* RequestBody에 id값이 null인 값이 들어오면 자동으로 ID를 추가하여 업데이트하고 리턴합니다.
|
|
80
|
-
*/
|
|
81
|
-
id: number | null;
|
|
82
|
-
/** 트림명 */
|
|
83
|
-
name: string;
|
|
84
|
-
/** 최소 1개 이상의 값이 존재하여야 합니다 */
|
|
85
|
-
grade: CarDataPreorderGradeDTO[];
|
|
86
|
-
}
|
|
87
|
-
export interface CarDataPreorderModelDTO {
|
|
88
|
-
/** CarModelId */
|
|
89
|
-
id: number;
|
|
90
|
-
/** 모델명 */
|
|
91
|
-
name: string;
|
|
92
|
-
/** 최소 1개 이상의 값이 존재하여야 합니다 */
|
|
93
|
-
trim: CarDataPreorderTrimDTO[];
|
|
94
|
-
}
|
|
95
|
-
export interface CarDataPreorderDetailDTO {
|
|
96
|
-
/** CarDataPreorderId */
|
|
97
|
-
id: number;
|
|
98
|
-
model: CarDataPreorderModelDTO;
|
|
99
|
-
}
|
|
100
|
-
export interface CarDataPreorderCreateDTO {
|
|
101
|
-
/** 대상 차량 제조사 */
|
|
102
|
-
carMakerId: CarMakerId;
|
|
103
|
-
/** 모델명 */
|
|
104
|
-
modelName: string;
|
|
105
|
-
}
|
|
106
|
-
export interface CarDataPreorderGetListDTO {
|
|
107
|
-
skip?: number;
|
|
108
|
-
take: number;
|
|
109
|
-
}
|
|
110
|
-
export interface CarDataPreorderIdDTO {
|
|
111
|
-
id: number;
|
|
112
|
-
}
|
|
113
66
|
export interface GetCarOptionColorListDTO {
|
|
114
67
|
carGradeId: number;
|
|
115
68
|
}
|
|
116
69
|
export interface ModifyCarModelDTO {
|
|
117
70
|
id: number;
|
|
118
71
|
modelName: string;
|
|
72
|
+
/** 모델 브랜드 이름 */
|
|
73
|
+
name_brand: string;
|
|
119
74
|
isHidden: boolean;
|
|
75
|
+
/** 모델 이미지 URL */
|
|
76
|
+
image_url?: string;
|
|
77
|
+
/** 사전예약 차량 여부 */
|
|
120
78
|
isPreorder: boolean;
|
|
79
|
+
/** 전기차 모델 여부 */
|
|
80
|
+
isElectric: boolean;
|
|
81
|
+
/** 카테고리 */
|
|
82
|
+
car_category?: CarCategoryId;
|
|
121
83
|
}
|
|
122
84
|
export interface ModifyCarTrimDTO {
|
|
123
85
|
id: number;
|
|
@@ -128,8 +90,41 @@ export interface ModifyCarGradeDTO {
|
|
|
128
90
|
id: number;
|
|
129
91
|
gradeName: string;
|
|
130
92
|
gradePrice: number;
|
|
93
|
+
/**
|
|
94
|
+
* @description 탑승 인원 수
|
|
95
|
+
* @db 0일 경우 빈 문자열 DB에 삽입
|
|
96
|
+
* @note 직접 생성한 데이터에만 업데이트 가능합니다
|
|
97
|
+
* @note 해당 데이터는 NiceDNR CarData 업데이트 앱에서 덮어씌우기 때문임
|
|
98
|
+
*/
|
|
99
|
+
seatingCapacity: number;
|
|
100
|
+
/**
|
|
101
|
+
* @description 연료 타입 string
|
|
102
|
+
* @note 빈 문자열일 경우 빈 문자열 db에 삽입
|
|
103
|
+
* @note 직접 생성한 데이터에만 업데이트 가능합니다
|
|
104
|
+
* @note 해당 데이터는 NiceDNR CarData 업데이트 앱에서 덮어씌우기 때문임
|
|
105
|
+
*/
|
|
106
|
+
fuel: string;
|
|
107
|
+
/**
|
|
108
|
+
* @description 엔진 배기량
|
|
109
|
+
* @db 0일 경우 빈 문자열 DB에 삽입
|
|
110
|
+
* @note 직접 생성한 데이터에만 업데이트 가능합니다
|
|
111
|
+
* @note 해당 데이터는 NiceDNR CarData 업데이트 앱에서 덮어씌우기 때문임
|
|
112
|
+
*/
|
|
113
|
+
displace: number;
|
|
114
|
+
/** 해당 등급을 연결할 트림 id
|
|
115
|
+
* @note 직접 생성한 데이터에만 업데이트 가능합니다
|
|
116
|
+
* @note 해당 데이터는 NiceDNR CarData 업데이트 앱에서 덮어씌우기 때문임
|
|
117
|
+
*/
|
|
118
|
+
car_trimId?: number;
|
|
131
119
|
isHidden: boolean;
|
|
132
120
|
}
|
|
121
|
+
export interface ModifyCarGradeOptionDTO {
|
|
122
|
+
gradeId: number;
|
|
123
|
+
/** 필수 옵션 카테고리 */
|
|
124
|
+
essential_category: string[];
|
|
125
|
+
/** 선택 옵션 카테고리 */
|
|
126
|
+
radio_category: string[];
|
|
127
|
+
}
|
|
133
128
|
export interface ModifyCarOptionDTO {
|
|
134
129
|
/** 옵션Id */
|
|
135
130
|
id: number;
|
|
@@ -139,15 +134,54 @@ export interface ModifyCarOptionDTO {
|
|
|
139
134
|
gradeId: number;
|
|
140
135
|
optionName: string;
|
|
141
136
|
optionPrice: number;
|
|
137
|
+
/** 카테고리 */
|
|
138
|
+
category: string | null;
|
|
139
|
+
/** 옵션 짧은 설명 (한줄내외) */
|
|
140
|
+
optionInfo: string | null;
|
|
142
141
|
isHidden: boolean;
|
|
143
142
|
isEssential: boolean;
|
|
144
143
|
}
|
|
145
144
|
export declare class ModifyCarColorDTO {
|
|
146
145
|
id: number;
|
|
147
146
|
gradeId: number;
|
|
147
|
+
/** 색상 이름 */
|
|
148
148
|
colorName: string;
|
|
149
|
+
/** 색상 가격 */
|
|
149
150
|
colorPrice: number;
|
|
151
|
+
/** 색상 설명 */
|
|
152
|
+
description: string | null;
|
|
153
|
+
/** 카테고리 */
|
|
154
|
+
category: string | null;
|
|
155
|
+
/** 색상 이미지 URL */
|
|
156
|
+
image_url?: string | null;
|
|
157
|
+
/** 색상 코드 (주색)
|
|
158
|
+
* @example "#222"
|
|
159
|
+
* @note null일 경우 제거
|
|
160
|
+
*/
|
|
161
|
+
color_code_main?: string | null;
|
|
162
|
+
/** 색상 코드 (보조색)
|
|
163
|
+
* @example "#222"
|
|
164
|
+
* @note 다중 색상일 경우(2개 색상이 섞이는 경우) 정의
|
|
165
|
+
* @note null일 경우 제거
|
|
166
|
+
*/
|
|
167
|
+
color_code_sub?: string | null;
|
|
168
|
+
/** 경고 문구
|
|
169
|
+
* @example 프리미엄 셀렉션 2 필수
|
|
170
|
+
* @note null일 경우 제거
|
|
171
|
+
*/
|
|
172
|
+
warning_text?: string | null;
|
|
173
|
+
/** 외장색상 여부
|
|
174
|
+
* @note 외장색상일 경우 false, 내장색상일 경우 true
|
|
175
|
+
* @default false
|
|
176
|
+
*/
|
|
177
|
+
is_interior?: boolean;
|
|
150
178
|
isHidden: boolean;
|
|
179
|
+
/** 해당 색상 선택 시 걸리는 제한 사항 */
|
|
180
|
+
restrictions: CarColorRestrictions | null;
|
|
181
|
+
/** 색상 하위 선택항목 목록
|
|
182
|
+
* @note 현재 내장색상에서만 정상동작합니다.
|
|
183
|
+
*/
|
|
184
|
+
internalSelection: CarColorInternalSelection[] | null;
|
|
151
185
|
}
|
|
152
186
|
export interface ModifyCarOptionRelationDTO {
|
|
153
187
|
/** 대상 옵션 Id */
|
|
@@ -211,12 +245,20 @@ export interface CreateCarModelDTO {
|
|
|
211
245
|
name_brand: string;
|
|
212
246
|
/** 모델 이미지 URL */
|
|
213
247
|
image_url: string;
|
|
214
|
-
/** YYYYMM 형식의 출시일
|
|
215
|
-
|
|
248
|
+
/** YYYYMM 형식의 출시일
|
|
249
|
+
* @note Optional
|
|
250
|
+
*/
|
|
251
|
+
release_day?: string;
|
|
216
252
|
/** 카테고리 */
|
|
217
253
|
car_category: CarCategoryId;
|
|
218
|
-
/** 전기차 모델 여부
|
|
254
|
+
/** 전기차 모델 여부
|
|
255
|
+
* @default false
|
|
256
|
+
*/
|
|
219
257
|
isElectric?: boolean;
|
|
258
|
+
/** 사전예약 차량 여부
|
|
259
|
+
* @default false
|
|
260
|
+
*/
|
|
261
|
+
isPreorder?: boolean;
|
|
220
262
|
}
|
|
221
263
|
export interface CreateCarTrimDTO {
|
|
222
264
|
/** 모델 ID */
|
|
@@ -235,8 +277,25 @@ export interface CreateCarGradeDTO {
|
|
|
235
277
|
name: string;
|
|
236
278
|
/** 가격 */
|
|
237
279
|
price: number;
|
|
238
|
-
/** YYYYMM 형식의 출시년월
|
|
239
|
-
|
|
280
|
+
/** YYYYMM 형식의 출시년월
|
|
281
|
+
* @note Optional
|
|
282
|
+
*/
|
|
283
|
+
released_month?: string;
|
|
284
|
+
/**
|
|
285
|
+
* @description 탑승 인원 수
|
|
286
|
+
* @db 0일 경우 빈 문자열 DB에 삽입
|
|
287
|
+
*/
|
|
288
|
+
seatingCapacity: number | 0;
|
|
289
|
+
/**
|
|
290
|
+
* @description 연료 타입 string
|
|
291
|
+
* @note 빈 문자열일 경우 빈 문자열 db에 삽입
|
|
292
|
+
*/
|
|
293
|
+
fuel: string | "";
|
|
294
|
+
/**
|
|
295
|
+
* @description 엔진 배기량
|
|
296
|
+
* @db 0일 경우 빈 문자열 DB에 삽입
|
|
297
|
+
*/
|
|
298
|
+
displace: number | 0;
|
|
240
299
|
}
|
|
241
300
|
export interface DeleteCarDataDTO {
|
|
242
301
|
id: number;
|
|
@@ -253,18 +312,70 @@ export declare class DeleteCarColorDataDTO {
|
|
|
253
312
|
export interface CopyCarGradeDTO {
|
|
254
313
|
id: number;
|
|
255
314
|
}
|
|
256
|
-
export interface
|
|
315
|
+
export interface CopyCarColorDTO {
|
|
316
|
+
colorId: number;
|
|
317
|
+
gradeId: number;
|
|
318
|
+
}
|
|
319
|
+
export interface CopyCarOptionDTO {
|
|
320
|
+
optionId: number;
|
|
257
321
|
gradeId: number;
|
|
322
|
+
}
|
|
323
|
+
export interface CreateCarOptionDTO {
|
|
324
|
+
/** 옵션을 생성 후 연결할 상세등급 id 목록 */
|
|
325
|
+
gradeIdList: number[];
|
|
258
326
|
/** 옵션 이름 */
|
|
259
327
|
name: string;
|
|
260
328
|
price: number;
|
|
329
|
+
/** 카테고리 */
|
|
330
|
+
category: string | null;
|
|
331
|
+
/** 옵션 짧은 설명 (한줄내외) */
|
|
332
|
+
info: string | null;
|
|
333
|
+
}
|
|
334
|
+
export interface CreateCarColorDTO {
|
|
335
|
+
/** 색상을 생성 후 연결할 상세등급 id 목록 */
|
|
336
|
+
gradeIdList: number[];
|
|
337
|
+
/** 색상 이름 */
|
|
338
|
+
name: string;
|
|
339
|
+
/** 색상 가격 */
|
|
340
|
+
price: number;
|
|
341
|
+
/** 색상 설명 */
|
|
342
|
+
description: string | null;
|
|
343
|
+
/** 색상 카테고리 */
|
|
344
|
+
category: string | null;
|
|
345
|
+
/** 색상 이미지 URL */
|
|
346
|
+
image_url?: string;
|
|
347
|
+
/** 색상 코드 (주색)
|
|
348
|
+
* @example "#222"
|
|
349
|
+
*/
|
|
350
|
+
color_code_main?: string;
|
|
351
|
+
/** 색상 코드 (보조색)
|
|
352
|
+
* @example "#222"
|
|
353
|
+
* @note 다중 색상일 경우(2개 색상이 섞이는 경우) 정의
|
|
354
|
+
*/
|
|
355
|
+
color_code_sub?: string;
|
|
356
|
+
/** 경고 문구
|
|
357
|
+
* @example 프리미엄 셀렉션 2 필수
|
|
358
|
+
* @note null일 경우 제거
|
|
359
|
+
*/
|
|
360
|
+
warning_text?: string | null;
|
|
361
|
+
/** 외장색상 여부
|
|
362
|
+
* @note 외장색상일 경우 false, 내장색상일 경우 true
|
|
363
|
+
* @default false
|
|
364
|
+
*/
|
|
365
|
+
is_interior: boolean;
|
|
261
366
|
}
|
|
262
367
|
export interface ConnectCarOptionDTO {
|
|
263
368
|
gradeId: number;
|
|
264
|
-
|
|
369
|
+
/** @250409 배열 형태로 전달합니다. */
|
|
370
|
+
optionId: number[];
|
|
371
|
+
}
|
|
372
|
+
export interface ConnectCarColorDTO {
|
|
373
|
+
gradeId: number;
|
|
374
|
+
/** @250409 배열 형태로 전달합니다. */
|
|
375
|
+
colorId: number[];
|
|
265
376
|
}
|
|
266
377
|
/** 특정 모델 내 유효한 모든 옵션을 조회합니다. */
|
|
267
|
-
export interface
|
|
378
|
+
export interface GetCarModelOptionColorDTO {
|
|
268
379
|
modelId: number;
|
|
269
380
|
}
|
|
270
381
|
export {};
|
|
@@ -10,6 +10,8 @@ export interface CarMaker {
|
|
|
10
10
|
country: string;
|
|
11
11
|
image_url: string;
|
|
12
12
|
type: CarMakerType;
|
|
13
|
+
/** 슈퍼카 브랜드 여부 */
|
|
14
|
+
isSuperCar: boolean;
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* @description 차량 모델
|
|
@@ -18,8 +20,6 @@ export interface CarModel {
|
|
|
18
20
|
id: number;
|
|
19
21
|
name: string;
|
|
20
22
|
name_brand: string;
|
|
21
|
-
name_short: string;
|
|
22
|
-
name_generation: string;
|
|
23
23
|
released_day: string;
|
|
24
24
|
image_url: string;
|
|
25
25
|
car_category: CarCategory | null;
|
|
@@ -41,24 +41,6 @@ export interface CarModel {
|
|
|
41
41
|
export interface CarCategory {
|
|
42
42
|
id: CarCategoryId;
|
|
43
43
|
name: string;
|
|
44
|
-
option: CarCategoryOption;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @description 차량 카테고리 옵션정보
|
|
48
|
-
*/
|
|
49
|
-
export interface CarCategoryOption {
|
|
50
|
-
/**
|
|
51
|
-
* 장기렌트를 통한 주문 가능 카테고리 여부
|
|
52
|
-
*/
|
|
53
|
-
allow_rent: boolean;
|
|
54
|
-
/**
|
|
55
|
-
* 리스 주문 가능 카테고리 여부
|
|
56
|
-
*/
|
|
57
|
-
allow_lease: boolean;
|
|
58
|
-
/**
|
|
59
|
-
* 신차 주문 가능 카테고리 여부
|
|
60
|
-
*/
|
|
61
|
-
allow_new: boolean;
|
|
62
44
|
}
|
|
63
45
|
/**
|
|
64
46
|
* @description 차량 상세모델
|
|
@@ -81,7 +63,6 @@ export interface CarGrade {
|
|
|
81
63
|
id: number;
|
|
82
64
|
name: string;
|
|
83
65
|
price: number;
|
|
84
|
-
updated_day: string;
|
|
85
66
|
released_month: string;
|
|
86
67
|
/** 숨김처리 여부 */
|
|
87
68
|
isHidden: boolean;
|
|
@@ -105,6 +86,14 @@ export interface CarGrade {
|
|
|
105
86
|
* @notice NumberString 혹은 빈 String
|
|
106
87
|
*/
|
|
107
88
|
seatingCapacity: string;
|
|
89
|
+
/** 필수 옵션 카테고리
|
|
90
|
+
* 필수 카테고리 내 하나의 옵션이 무조건 선택되게 합니다.
|
|
91
|
+
*/
|
|
92
|
+
essential_category: string[];
|
|
93
|
+
/** 선택 옵션 카테고리
|
|
94
|
+
* 선택 카테고리 내에서 최대 하나의 옵션만 선택할 수 있게 합니다.
|
|
95
|
+
*/
|
|
96
|
+
radio_category: string[];
|
|
108
97
|
}
|
|
109
98
|
/**
|
|
110
99
|
* @description 차량 색상
|
|
@@ -112,25 +101,126 @@ export interface CarGrade {
|
|
|
112
101
|
export interface CarColor {
|
|
113
102
|
id: number;
|
|
114
103
|
name: string;
|
|
115
|
-
|
|
104
|
+
description: string | null;
|
|
116
105
|
price: number;
|
|
106
|
+
/** 관리자단에서 직접 입력한 카테고리 */
|
|
107
|
+
category: string | null;
|
|
108
|
+
/** NiceDNR에서 제공하는 색상 이미지
|
|
109
|
+
* @note color_code가 우선적으로 사용되고, 해당 값이 없을 경우 이 이미지를 사용합니다.
|
|
110
|
+
*/
|
|
117
111
|
image_url: string;
|
|
118
|
-
/**
|
|
112
|
+
/** 색상 코드 (주색)
|
|
113
|
+
* @example "#222"
|
|
114
|
+
* @note 관리자 페이지에서 색상 정의했을 경우 사용
|
|
115
|
+
*/
|
|
116
|
+
color_code_main: string | null;
|
|
117
|
+
/** 색상 코드 (보조색)
|
|
118
|
+
* @example "#222"
|
|
119
|
+
* @note 다중 색상일 경우(2개 색상이 섞이는 경우) 정의
|
|
120
|
+
*/
|
|
121
|
+
color_code_sub: string | null;
|
|
122
|
+
/** 경고 문구
|
|
123
|
+
* @example 프리미엄 셀렉션 2 필수
|
|
124
|
+
*/
|
|
125
|
+
warning_text: string | null;
|
|
126
|
+
/** 외장색상 여부
|
|
127
|
+
* @note 외장색상일 경우 false, 내장색상일 경우 true
|
|
128
|
+
* @default false
|
|
129
|
+
*/
|
|
130
|
+
is_interior: boolean;
|
|
131
|
+
/** 숨김처리 여부
|
|
132
|
+
* @note car_color_LINK_car_grade 테이블에서 숨김처리 여부를 확인합니다.
|
|
133
|
+
*/
|
|
119
134
|
isHidden: boolean;
|
|
135
|
+
/** 해당 색상 선택 시 걸리는 제한 사항 */
|
|
136
|
+
restrictions: CarColorRestrictions | null;
|
|
137
|
+
/** 색상 하위 선택항목 목록
|
|
138
|
+
* @note 현재 내장색상에서만 정상동작합니다.
|
|
139
|
+
*/
|
|
140
|
+
internalSelection: CarColorInternalSelection[] | null;
|
|
141
|
+
}
|
|
142
|
+
/** 해당 색상 선택 시 걸리는 제한 사항
|
|
143
|
+
* @example {"incompatible":{"color":["그랜드 화이트","인디안 레드"],"option":["투톤 컬러 루프"]}}
|
|
144
|
+
* @example 위 경우, 해당 색상이 선택되었을 경우 "그랜드 화이트"와 "인디안 레드" 색상과 "투톤 컬러 루프" 옵션은 선택할 수 없습니다.
|
|
145
|
+
* @note DB상에 JSON 형식으로 저장되어 있습니다. Non-typesafity하므로 속성을 모두 Optional하게 사용합니다.
|
|
146
|
+
*/
|
|
147
|
+
export interface CarColorRestrictions {
|
|
148
|
+
incompatible?: {
|
|
149
|
+
/** 동시 선택할 수 없는 색상 "이름" */
|
|
150
|
+
color?: string[];
|
|
151
|
+
/** 동시에 선택할 수 없는 옵션 "이름" */
|
|
152
|
+
option?: string[];
|
|
153
|
+
};
|
|
154
|
+
/** 해당 색상이 선택될 경우, 필수적으로 동시에 선택해야 하는 항목 */
|
|
155
|
+
nessary?: {
|
|
156
|
+
/** 동시에 선택해야 하는 옵션 "이름" */
|
|
157
|
+
option?: string[];
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
export interface CarColorInternalSelection {
|
|
161
|
+
/** 색상 하위 선택항목 이름
|
|
162
|
+
* @example 애쉬 우드 메탈 G-Matrix 패턴
|
|
163
|
+
*/
|
|
164
|
+
name: string;
|
|
165
|
+
/** 색상 하위 선택항목 가격 */
|
|
166
|
+
price: number;
|
|
167
|
+
/** 색상 하위 선택항목 이미지 URL */
|
|
168
|
+
imageUrl: string | null;
|
|
169
|
+
}
|
|
170
|
+
export interface InteriorCarColor {
|
|
171
|
+
/** 카사요 색상 데이터에서 선택했을 경우 정의 */
|
|
172
|
+
id?: number;
|
|
173
|
+
/** 카사요 색상 데이터에서 선택 OR 직접 입력
|
|
174
|
+
* @note 무조건 존재
|
|
175
|
+
*/
|
|
176
|
+
name: string;
|
|
177
|
+
/** 가격
|
|
178
|
+
* @default 0
|
|
179
|
+
*/
|
|
180
|
+
price: number;
|
|
181
|
+
/** 카테고리 */
|
|
182
|
+
category: string | null;
|
|
183
|
+
/** 이미지 URL
|
|
184
|
+
* @note NiceDNR에서 정의할 경우 존재
|
|
185
|
+
*/
|
|
186
|
+
imageUrl: string | null;
|
|
187
|
+
/** 주색
|
|
188
|
+
* @note 카사요 관리자에서 정의했을 경우 값 존재
|
|
189
|
+
*/
|
|
190
|
+
color_code_main: string | null;
|
|
191
|
+
/** 보조색
|
|
192
|
+
* @note 카사요 관리자에서 정의했을 경우 값 존재
|
|
193
|
+
* @note 다중 색상일 경우에만 값 존재
|
|
194
|
+
*/
|
|
195
|
+
color_code_sub: string | null;
|
|
196
|
+
/** 경고 문구
|
|
197
|
+
* @note 카사요 관리자에서 정의했을 경우 값 존재
|
|
198
|
+
*/
|
|
199
|
+
warning_text: string | null;
|
|
200
|
+
/** 하위 선택 항목
|
|
201
|
+
* @note 현재 내장색상에서만 정상동작합니다.
|
|
202
|
+
* @note 제네시스 내장재 선택에서 주로 사용합니다.
|
|
203
|
+
*/
|
|
204
|
+
internalSelection?: CarColorInternalSelection | null;
|
|
120
205
|
}
|
|
121
206
|
/** 차량 옵션 */
|
|
122
207
|
export interface CarOption {
|
|
123
208
|
id: number;
|
|
124
209
|
name: string;
|
|
210
|
+
/** 옵션 짧은 설명 (한줄내외) */
|
|
211
|
+
info: string | null;
|
|
212
|
+
/** 옵션 가격 */
|
|
125
213
|
price: number;
|
|
126
|
-
position: number;
|
|
127
|
-
updated_day: string;
|
|
128
214
|
/** 필수 옵션 여부
|
|
129
215
|
* @note 해당 등급에서 필수 옵션인지 여부입니다.
|
|
130
216
|
*/
|
|
131
217
|
isEssential: boolean;
|
|
132
|
-
/** 숨김처리 여부
|
|
218
|
+
/** 숨김처리 여부
|
|
219
|
+
* @note car_option_LINK_car_grade 테이블에서 숨김처리 여부를 확인합니다.
|
|
220
|
+
*/
|
|
133
221
|
isHidden: boolean;
|
|
222
|
+
/** 관리자단에서 직접 입력한 카테고리 */
|
|
223
|
+
category: string | null;
|
|
134
224
|
/** 옵션 설명 존재 시 옵션 설명 Id값 */
|
|
135
225
|
descriptionId: number | null;
|
|
136
226
|
relation: {
|
|
@@ -219,7 +309,6 @@ export interface CarDetailInfo {
|
|
|
219
309
|
car_color: {
|
|
220
310
|
id: number;
|
|
221
311
|
name: string;
|
|
222
|
-
name_short: string;
|
|
223
312
|
image_url: string;
|
|
224
313
|
price: number;
|
|
225
314
|
} | null;
|
|
@@ -227,7 +316,6 @@ export interface CarDetailInfo {
|
|
|
227
316
|
id: number;
|
|
228
317
|
name: string;
|
|
229
318
|
price: number;
|
|
230
|
-
updated_day: string;
|
|
231
319
|
released_month: string;
|
|
232
320
|
} | null;
|
|
233
321
|
car_maker: {
|
|
@@ -239,8 +327,6 @@ export interface CarDetailInfo {
|
|
|
239
327
|
id: number;
|
|
240
328
|
name: string;
|
|
241
329
|
name_brand: string;
|
|
242
|
-
name_short: string;
|
|
243
|
-
name_generation: string;
|
|
244
330
|
released_day: string;
|
|
245
331
|
car_category: {
|
|
246
332
|
id: number;
|
|
@@ -269,8 +355,6 @@ export interface CarShortInfo {
|
|
|
269
355
|
id: number;
|
|
270
356
|
name: string;
|
|
271
357
|
name_brand: string;
|
|
272
|
-
name_short: string;
|
|
273
|
-
name_generation: string;
|
|
274
358
|
car_category: {
|
|
275
359
|
id: number;
|
|
276
360
|
name: string;
|
|
@@ -284,7 +368,6 @@ export interface CarShortInfo {
|
|
|
284
368
|
car_color: {
|
|
285
369
|
id: number;
|
|
286
370
|
name: string;
|
|
287
|
-
name_short: string;
|
|
288
371
|
image_url: string;
|
|
289
372
|
} | null;
|
|
290
373
|
car_maker: {
|
|
@@ -293,33 +376,8 @@ export interface CarShortInfo {
|
|
|
293
376
|
country: string;
|
|
294
377
|
} | null;
|
|
295
378
|
}
|
|
296
|
-
/** 사전예약 차량 데이터 리스트 */
|
|
297
|
-
export interface CarDataPreorderListResponse {
|
|
298
|
-
totalCount: number;
|
|
299
|
-
data: CarDataPreorderInfo[];
|
|
300
|
-
}
|
|
301
|
-
export interface CarDataPreorderInfo {
|
|
302
|
-
/** Preorder Id */
|
|
303
|
-
id: number;
|
|
304
|
-
/** 제조사 정보 */
|
|
305
|
-
carMaker: CarMaker;
|
|
306
|
-
/** 모델 정보 */
|
|
307
|
-
carModel: CarModel;
|
|
308
|
-
/** 노출 여부 */
|
|
309
|
-
isHidden: boolean;
|
|
310
|
-
/** 생성 일자 */
|
|
311
|
-
created_at: Date;
|
|
312
|
-
}
|
|
313
379
|
/** 브랜드별 판매 차량 데이터 */
|
|
314
|
-
export type WholeSellingCar = {
|
|
315
|
-
id: CarMakerId;
|
|
316
|
-
name: string;
|
|
317
|
-
name_en: string;
|
|
318
|
-
country: string;
|
|
319
|
-
image_url: string;
|
|
320
|
-
type: CarMakerType;
|
|
321
|
-
/** 슈퍼카 브랜드 여부 */
|
|
322
|
-
isSuperCar: boolean;
|
|
380
|
+
export type WholeSellingCar = CarMaker & {
|
|
323
381
|
car_model: (CarModel & {
|
|
324
382
|
car_trim: (CarTrim & {
|
|
325
383
|
car_grade: CarGrade[];
|
|
@@ -363,15 +421,62 @@ export type Admin_WholeSellingCar = Omit<WholeSellingCar, "car_model"> & {
|
|
|
363
421
|
* @notice true: 관리자 페이지에서 생성, false: Nice데이터 기반
|
|
364
422
|
*/
|
|
365
423
|
isInsertedManually: boolean;
|
|
424
|
+
/** 관리자용 추가 정보 */
|
|
425
|
+
admin_additional_info: Record<string, any> | null;
|
|
426
|
+
created_at: Date;
|
|
427
|
+
updated_at: Date;
|
|
366
428
|
})[];
|
|
429
|
+
/** 관리자용 추가 정보 */
|
|
430
|
+
admin_additional_info: Record<string, any> | null;
|
|
431
|
+
created_at: Date;
|
|
432
|
+
updated_at: Date;
|
|
367
433
|
})[];
|
|
434
|
+
/** 관리자용 추가 정보 */
|
|
435
|
+
admin_additional_info: Record<string, any> | null;
|
|
436
|
+
created_at: Date;
|
|
437
|
+
updated_at: Date;
|
|
368
438
|
})[];
|
|
439
|
+
/** 관리자용 추가 정보 */
|
|
440
|
+
admin_additional_info: Record<string, any> | null;
|
|
441
|
+
created_at: Date;
|
|
442
|
+
updated_at: Date;
|
|
369
443
|
};
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
444
|
+
/** 특정 모델 내 모든 옵션과 색상 데이터 */
|
|
445
|
+
export interface CarModelOptionColor {
|
|
446
|
+
option: {
|
|
447
|
+
id: number;
|
|
448
|
+
name: string;
|
|
449
|
+
category: string | null;
|
|
450
|
+
price: number;
|
|
451
|
+
isDescription: boolean;
|
|
452
|
+
isInsertedManually: boolean;
|
|
453
|
+
}[];
|
|
454
|
+
color: {
|
|
455
|
+
id: number;
|
|
456
|
+
name: string;
|
|
457
|
+
category: string | null;
|
|
458
|
+
price: number;
|
|
459
|
+
isInsertedManually: boolean;
|
|
460
|
+
/** 외장색상 여부
|
|
461
|
+
* @note 외장색상일 경우 false, 내장색상일 경우 true
|
|
462
|
+
* @default false
|
|
463
|
+
*/
|
|
464
|
+
is_interior: boolean;
|
|
465
|
+
/** NiceDNR에서 제공하는 색상 이미지
|
|
466
|
+
* @note color_code가 우선적으로 사용되고, 해당 값이 없을 경우 이 이미지를 사용합니다.
|
|
467
|
+
*/
|
|
468
|
+
image_url: string;
|
|
469
|
+
/** 색상 코드 (주색)
|
|
470
|
+
* @example "#222"
|
|
471
|
+
* @note 관리자 페이지에서 색상 정의했을 경우 사용
|
|
472
|
+
*/
|
|
473
|
+
color_code_main: string | null;
|
|
474
|
+
/** 색상 코드 (보조색)
|
|
475
|
+
* @example "#222"
|
|
476
|
+
* @note 다중 색상일 경우(2개 색상이 섞이는 경우) 정의
|
|
477
|
+
*/
|
|
478
|
+
color_code_sub: string | null;
|
|
479
|
+
}[];
|
|
375
480
|
}
|
|
376
481
|
export interface Admin_CarOption extends CarOption {
|
|
377
482
|
/** 관리자에서 에디트한 제목 */
|
|
@@ -390,6 +495,10 @@ export interface Admin_CarOption extends CarOption {
|
|
|
390
495
|
* @notice true: 관리자 페이지에서 생성한 옵션, false: Nice데이터 기반
|
|
391
496
|
*/
|
|
392
497
|
isInsertedManually: boolean;
|
|
498
|
+
/** 관리자용 추가 정보 */
|
|
499
|
+
admin_additional_info: Record<string, any> | null;
|
|
500
|
+
created_at: Date;
|
|
501
|
+
updated_at: Date;
|
|
393
502
|
}
|
|
394
503
|
export interface Admin_CarColor extends CarColor {
|
|
395
504
|
/** 관리자에서 에디트한 제목 */
|
|
@@ -408,4 +517,8 @@ export interface Admin_CarColor extends CarColor {
|
|
|
408
517
|
* @notice true: 관리자 페이지에서 생성한 옵션, false: Nice데이터 기반
|
|
409
518
|
*/
|
|
410
519
|
isInsertedManually: boolean;
|
|
520
|
+
/** 관리자용 추가 정보 */
|
|
521
|
+
admin_additional_info: Record<string, any> | null;
|
|
522
|
+
created_at: Date;
|
|
523
|
+
updated_at: Date;
|
|
411
524
|
}
|
|
@@ -25,7 +25,6 @@ __exportStar(require("./member"), exports);
|
|
|
25
25
|
__exportStar(require("./message"), exports);
|
|
26
26
|
__exportStar(require("./notification"), exports);
|
|
27
27
|
__exportStar(require("./order"), exports);
|
|
28
|
-
__exportStar(require("./purchase"), exports);
|
|
29
28
|
__exportStar(require("./system"), exports);
|
|
30
29
|
__exportStar(require("./term"), exports);
|
|
31
30
|
__exportStar(require("./insurance"), exports);
|
|
@@ -194,6 +194,10 @@ export interface DealerListOptionDTO_V2 {
|
|
|
194
194
|
* @description null일 경우 전체 검색
|
|
195
195
|
*/
|
|
196
196
|
signupState?: MemberDealerSignupState[];
|
|
197
|
+
/** 근무지역 시도 리스트
|
|
198
|
+
* @description undefined일 경우 전체 검색
|
|
199
|
+
*/
|
|
200
|
+
workingSido?: SidoId[];
|
|
197
201
|
isLease?: boolean;
|
|
198
202
|
isRent?: boolean;
|
|
199
203
|
}
|
|
@@ -139,13 +139,8 @@ export interface CustomerInfo {
|
|
|
139
139
|
totalCount: number;
|
|
140
140
|
};
|
|
141
141
|
};
|
|
142
|
-
/** 등록 차량
|
|
143
|
-
|
|
144
|
-
/** 대표 차량 */
|
|
145
|
-
representative: RegisterCar | null;
|
|
146
|
-
/** 등록 차량 리스트 (대표 차량 포함) */
|
|
147
|
-
list: RegisterCar[];
|
|
148
|
-
};
|
|
142
|
+
/** 등록 차량 리스트 (대표 차량 포함) */
|
|
143
|
+
registerCarList: CustomerCarInfo[];
|
|
149
144
|
}
|
|
150
145
|
export interface DealerInfo {
|
|
151
146
|
/** 딜러 타입 (신차, 중고차, 리스렌트) */
|
|
@@ -168,6 +163,15 @@ export interface DealerInfo {
|
|
|
168
163
|
submitted_at: Date;
|
|
169
164
|
accepted_at: Date | null;
|
|
170
165
|
} | null;
|
|
166
|
+
/** 카매니저 정보 */
|
|
167
|
+
info: {
|
|
168
|
+
/** 입찰건수 */
|
|
169
|
+
bidCount: number;
|
|
170
|
+
/** 입찰 수락건수(성사건수) */
|
|
171
|
+
acceptCount: number;
|
|
172
|
+
/** 가입일자 */
|
|
173
|
+
created_at: Date;
|
|
174
|
+
};
|
|
171
175
|
amount: {
|
|
172
176
|
/** 납부한 수수료 총액을 의미합니다 */
|
|
173
177
|
totalCommission: number | null;
|
|
@@ -474,9 +478,9 @@ export interface Admin_MemberListData_V2 extends MemberShort {
|
|
|
474
478
|
/** 회원이 등록된 권한 그룹 리스트 */
|
|
475
479
|
roleGroup: RoleGroupId[];
|
|
476
480
|
/** 타입이 카매니저일 때 정의됩니다 */
|
|
477
|
-
customerInfo?: CustomerInfo;
|
|
478
|
-
/** 타입이 카매니저일 때 정의됩니다 */
|
|
479
481
|
dealerInfo?: Admin_MemberListData_DealerInfo;
|
|
482
|
+
/** 일반회원 등록 차량 개수 */
|
|
483
|
+
registerCarCount?: number;
|
|
480
484
|
}
|
|
481
485
|
export interface Admin_MemberListData_DealerInfo extends DealerInfo {
|
|
482
486
|
/** 회원가입 메시지 */
|
|
@@ -610,7 +614,9 @@ export interface MemberMemo {
|
|
|
610
614
|
created_at: Date;
|
|
611
615
|
updated_at: Date | null;
|
|
612
616
|
}
|
|
613
|
-
/** 일반회원 등록 차량 정보
|
|
617
|
+
/** 일반회원 등록 차량 정보
|
|
618
|
+
* @deprecated 쿠콘 차량 정보 사용 권장
|
|
619
|
+
*/
|
|
614
620
|
export interface RegisterCar {
|
|
615
621
|
/** UUID */
|
|
616
622
|
id: string;
|
|
@@ -642,6 +648,41 @@ export interface RegisterCar {
|
|
|
642
648
|
created_at: Date;
|
|
643
649
|
updated_at: Date;
|
|
644
650
|
}
|
|
651
|
+
/** 일반회원 등록 차량 정보 with 쿠콘 차량 정보 사용 */
|
|
652
|
+
export interface CustomerCarInfo {
|
|
653
|
+
/** UUID */
|
|
654
|
+
id: string;
|
|
655
|
+
/**
|
|
656
|
+
* 쿠콘 차량 정보 (JSON String 형식, 클라이언트에서 파싱해서 사용)
|
|
657
|
+
*/
|
|
658
|
+
car_info: string | null;
|
|
659
|
+
/**
|
|
660
|
+
* 쿠콘 이외 추가 정보 (JSON String 형식, 클라이언트에서 파싱해서 사용)
|
|
661
|
+
*/
|
|
662
|
+
additional_info: string | null;
|
|
663
|
+
/**
|
|
664
|
+
* 개인인지 여부 (true = 개인, false = 법인 등)
|
|
665
|
+
*/
|
|
666
|
+
is_individual: boolean;
|
|
667
|
+
/**
|
|
668
|
+
* 대표 차량 여부 (true = 대표 차량)
|
|
669
|
+
*/
|
|
670
|
+
is_flagship: boolean;
|
|
671
|
+
/**
|
|
672
|
+
* 생성일
|
|
673
|
+
*/
|
|
674
|
+
created_at: Date;
|
|
675
|
+
/**
|
|
676
|
+
* 수정일
|
|
677
|
+
*/
|
|
678
|
+
updated_at: Date;
|
|
679
|
+
/**
|
|
680
|
+
* 보험 시작일 (선택적 필드)
|
|
681
|
+
*/
|
|
682
|
+
insurance_started_at: Date | null;
|
|
683
|
+
/** 보험사 */
|
|
684
|
+
insuranceCompany: InsuranceCompany | null;
|
|
685
|
+
}
|
|
645
686
|
export interface Admin_SendMessageParam {
|
|
646
687
|
id: string;
|
|
647
688
|
name_real: string | null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** DTO는 서버단에 요청을 보낼 때 사용하는 클래스 유형으로 서버단에서 이 곳에 정의된 대로 유효성 검사를 처리합니다. */
|
|
2
2
|
import { BankCode, CarMakerId, CollaboratorId, SigunguId } from "../../../data";
|
|
3
|
-
import { PurchaseAdditionalInfo, PurchaseOrderInfo, SellingAdditionalInfo, SellingOrderInfo } from "./interface";
|
|
4
|
-
import { OrderState, OrderBidState, OrderCategory, OrderCommissionMethod, OrderCommissionState, OrderListIntervalTarget, OrderPurchasingType, OrderType, SellCarBoughtMethod } from "./type";
|
|
3
|
+
import { PurchaseAdditionalInfo, PurchaseOrderInfo, SelectedCarData, SellingAdditionalInfo, SellingOrderInfo } from "./interface";
|
|
4
|
+
import { OrderState, OrderBidState, OrderCategory, OrderCommissionMethod, OrderCommissionState, OrderListIntervalTarget, OrderPurchasingType, OrderType, SellCarBoughtMethod, PurchaseMethod } from "./type";
|
|
5
5
|
export interface OrderListAdditionalInfoDTO {
|
|
6
6
|
/** true로 검색시 응답에 주문 상태별 총 개수가 나옵니다 */
|
|
7
7
|
orderState?: boolean;
|
|
@@ -197,25 +197,18 @@ export interface SelectOrderDTO extends OrderIdDTO {
|
|
|
197
197
|
orderType: OrderType;
|
|
198
198
|
}
|
|
199
199
|
export interface OrderHoldDTO extends OrderIdDTO {
|
|
200
|
+
title: string;
|
|
200
201
|
reason: string;
|
|
201
202
|
}
|
|
202
203
|
export interface OrderCancelDTO extends OrderIdDTO {
|
|
204
|
+
title: string;
|
|
203
205
|
reason: string;
|
|
204
206
|
}
|
|
205
207
|
export interface OrderMeetingDateDTO extends OrderIdDTO {
|
|
206
208
|
/** 미팅 날짜 */
|
|
207
209
|
meeting_date?: Date;
|
|
208
210
|
}
|
|
209
|
-
/** @deprecated 240626 앞으로 계약서를 주문 종료 시 업로드 합니다. */
|
|
210
|
-
export interface OrderSubmitContractDTO extends OrderIdDTO {
|
|
211
|
-
/** 계약서 작성시 메시지 */
|
|
212
|
-
progressMessage: string;
|
|
213
|
-
/** 계약서 파일 Id */
|
|
214
|
-
contract_fileId: string;
|
|
215
|
-
}
|
|
216
211
|
export interface OrderFinishDTO extends OrderIdDTO {
|
|
217
|
-
/** 주문 종료시 메시지 */
|
|
218
|
-
finishMessage: string;
|
|
219
212
|
/** 차량 매도서류 파일 Id
|
|
220
213
|
* @deprecated 240626 내차팔기 종료시 이전된 자동차등록증 파일만 업로드합니다.
|
|
221
214
|
*/
|
|
@@ -342,6 +335,9 @@ export interface CreateOrderMemoDTO extends OrderIdDTO {
|
|
|
342
335
|
export interface DeleteOrderMemoDTO extends OrderIdDTO {
|
|
343
336
|
memoId: number;
|
|
344
337
|
}
|
|
338
|
+
export interface DeleteOrderMemoDTO_V1 extends OrderIdDTO {
|
|
339
|
+
memoIds: number[];
|
|
340
|
+
}
|
|
345
341
|
export interface OrderBookmarkDTO extends OrderIdDTO {
|
|
346
342
|
/** 북마크 업데이트 */
|
|
347
343
|
isBookmarked: boolean;
|
|
@@ -350,7 +346,7 @@ export interface OrderBidDTO extends OrderIdDTO {
|
|
|
350
346
|
/** 견적 내용 */
|
|
351
347
|
content: string;
|
|
352
348
|
/** 견적 파일 Id */
|
|
353
|
-
estimateFileId?: string;
|
|
349
|
+
estimateFileId?: string | null;
|
|
354
350
|
/** 예상 구매 가격
|
|
355
351
|
* @description 내차팔기 입찰시에는 예상 구매 가격을 제시할 수 있습니다
|
|
356
352
|
*/
|
|
@@ -418,6 +414,34 @@ export interface PurchaseOrderDTO {
|
|
|
418
414
|
*/
|
|
419
415
|
update?: PurchaseOrderUpdateDTO;
|
|
420
416
|
}
|
|
417
|
+
/** 차량 주문 신청 DTO
|
|
418
|
+
* @version 1
|
|
419
|
+
*/
|
|
420
|
+
export declare class PurchaseOrderDTOV1 {
|
|
421
|
+
carMakerId: CarMakerId;
|
|
422
|
+
carModelId: number;
|
|
423
|
+
carTrimId: number;
|
|
424
|
+
carGradeId: number;
|
|
425
|
+
carColorId: number | null;
|
|
426
|
+
optionList: number[];
|
|
427
|
+
purchaseMethod: PurchaseMethod;
|
|
428
|
+
/** 타사 견적서 파일
|
|
429
|
+
* @notice isSuperCar === true일 경우 타사에서 제시한 리스렌트 견적서가 아니라, 차량 구매 계약서가 됩니다.
|
|
430
|
+
*/
|
|
431
|
+
otherCompanyEstimateFileId?: string | null;
|
|
432
|
+
/** 타사 견적서 혜택내용 (선택)
|
|
433
|
+
* @notice isSuperCar일 경우 입력받지 않습니다.
|
|
434
|
+
*/
|
|
435
|
+
otherCompanyEstimateContent?: string | null;
|
|
436
|
+
/** 요청내용 (선택) */
|
|
437
|
+
additionalRequest?: string | null;
|
|
438
|
+
/** 추가적인 내용을 자유롭게 저장합니다 */
|
|
439
|
+
purchaseInfo: Omit<PurchaseAdditionalInfo, "method">;
|
|
440
|
+
/** 선택한 차량 정보 */
|
|
441
|
+
selectedCarData: SelectedCarData;
|
|
442
|
+
/** 차량 주문 총 가격 */
|
|
443
|
+
totalPrice: number;
|
|
444
|
+
}
|
|
421
445
|
/** 내차팔기 주문 작성 시작 */
|
|
422
446
|
export interface SellingInitDTO {
|
|
423
447
|
/** 쿠콘 소유자검증차량정보 API 상세조회 결과 Id */
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/** DTO는 서버단에 요청을 보낼 때 사용하는 클래스 유형으로 서버단에서 이 곳에 정의된 대로 유효성 검사를 처리합니다. */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PurchaseOrderDTOV1 = void 0;
|
|
4
5
|
class ProgressOrderNewCarDTO {
|
|
5
6
|
}
|
|
6
7
|
class ProgressOrderLeaseRentDTO {
|
|
7
8
|
}
|
|
8
9
|
class ProgressOrderSellCarDTO {
|
|
9
10
|
}
|
|
11
|
+
/** 차량 주문 신청 DTO
|
|
12
|
+
* @version 1
|
|
13
|
+
*/
|
|
14
|
+
class PurchaseOrderDTOV1 {
|
|
15
|
+
}
|
|
16
|
+
exports.PurchaseOrderDTOV1 = PurchaseOrderDTOV1;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SigunguId } from "../../../data";
|
|
2
2
|
import { CooconUsedCarInfo, CooconAccidentHistoryInfo } from "../../providers";
|
|
3
|
-
import { CarMaker, CarModel, CarTrim, CarGrade, CarColor, CarOption } from "../car";
|
|
3
|
+
import { CarMaker, CarModel, CarTrim, CarGrade, CarColor, CarOption, InteriorCarColor } from "../car";
|
|
4
4
|
import { FileInfo } from "../file";
|
|
5
5
|
import { MemberShort, DealerShort } from "../member";
|
|
6
6
|
import { BuyerType, DutyFreeCondition, OrderTagCarState, OrderTagCarOwnership, OrderBidState, OrderCommissionMethod, OrderCommissionState, OrderCommissionType, OrderProcessState, OrderState, OrderType, SellCarBoughtMethod } from "./type";
|
|
@@ -60,6 +60,8 @@ export interface OrderInfo extends OrderInfoTime {
|
|
|
60
60
|
price: number | null;
|
|
61
61
|
/** 제조사명 */
|
|
62
62
|
brand: string | null;
|
|
63
|
+
/** 슈퍼카 여부 */
|
|
64
|
+
isSuperCar: boolean;
|
|
63
65
|
bidderNumber: number;
|
|
64
66
|
/** 입찰 딜러 리스트
|
|
65
67
|
* @notice 마스킹처리가 가능합니다
|
|
@@ -194,7 +196,9 @@ export interface OrderCommissionListData {
|
|
|
194
196
|
created_at: Date;
|
|
195
197
|
/** 정산 요청일 */
|
|
196
198
|
asked_at: Date | null;
|
|
199
|
+
/** 정산 완료일 */
|
|
197
200
|
paid_at: Date | null;
|
|
201
|
+
/** 취소일 */
|
|
198
202
|
canceled_at: Date | null;
|
|
199
203
|
manager: MemberShort;
|
|
200
204
|
order: OrderInfo;
|
|
@@ -263,6 +267,13 @@ export interface OrderReview {
|
|
|
263
267
|
file_3: FileInfo | null;
|
|
264
268
|
file_4: FileInfo | null;
|
|
265
269
|
file_5: FileInfo | null;
|
|
270
|
+
/** 작성자 정보 */
|
|
271
|
+
writer: {
|
|
272
|
+
id: string;
|
|
273
|
+
name: string;
|
|
274
|
+
imageUrl: string;
|
|
275
|
+
};
|
|
276
|
+
created_at: Date;
|
|
266
277
|
}
|
|
267
278
|
export interface DealerOrderSearch {
|
|
268
279
|
totalCount: number;
|
|
@@ -298,15 +309,15 @@ export interface OrderListData extends OrderInfoTime {
|
|
|
298
309
|
/** 슈퍼카 여부 */
|
|
299
310
|
isSuperCar: boolean;
|
|
300
311
|
/** 보류 사유 */
|
|
312
|
+
title_hold: string | null;
|
|
301
313
|
reason_hold: string | null;
|
|
302
314
|
/** 취소 사유 */
|
|
315
|
+
title_cancel: string | null;
|
|
303
316
|
reason_cancel: string | null;
|
|
304
|
-
/** 계약서 작성시 메시지 */
|
|
305
|
-
progressMessage: string | null;
|
|
306
|
-
/** 주문 종료시 메시지 */
|
|
307
|
-
finishMessage: string | null;
|
|
308
317
|
/** 주문 완료 후 작성한 리뷰 */
|
|
309
318
|
review: OrderReview | null;
|
|
319
|
+
/** 마지막 업데이트 회원 Id (담당 카매니저 or 주문 일반회원) */
|
|
320
|
+
lastUpdateMemberId: string | null;
|
|
310
321
|
}
|
|
311
322
|
export interface CustomerOrderListData extends OrderListData {
|
|
312
323
|
/** 낙찰되었을 경우 담당 카매니저 */
|
|
@@ -469,8 +480,33 @@ export interface DealerOrderDetail extends OrderDetail {
|
|
|
469
480
|
isAccepted: boolean;
|
|
470
481
|
/** 해당 주문에 입찰한 카매니저 수 */
|
|
471
482
|
bidNumber: number;
|
|
483
|
+
/** 타 입찰자 리스트 */
|
|
484
|
+
bidderList: DealerShort[];
|
|
472
485
|
/** 내가 입찰한 내용 */
|
|
473
486
|
bid: Order_BidInfo | null;
|
|
487
|
+
/** 주문 완료 후 수수료 정보 */
|
|
488
|
+
commission: {
|
|
489
|
+
id: number;
|
|
490
|
+
state: OrderCommissionState;
|
|
491
|
+
/** 정산 방법, 현재는 계좌이체, 가상계좌 두가지 */
|
|
492
|
+
method: OrderCommissionMethod | null;
|
|
493
|
+
/** 은행코드 */
|
|
494
|
+
bankCode: string | null;
|
|
495
|
+
/** 계좌주명 */
|
|
496
|
+
ownerName: string | null;
|
|
497
|
+
/** 계좌번호 */
|
|
498
|
+
accountNumber: string | null;
|
|
499
|
+
/** 관리자가 해당 주문에 대하여 입력한 수수료 */
|
|
500
|
+
price: number | null;
|
|
501
|
+
/** 수수료 정산 리스트에서는 계약 완료일로 사용하세요 */
|
|
502
|
+
created_at: Date;
|
|
503
|
+
/** 정산 요청일 */
|
|
504
|
+
asked_at: Date | null;
|
|
505
|
+
/** 정산 완료일 */
|
|
506
|
+
paid_at: Date | null;
|
|
507
|
+
/** 취소일 */
|
|
508
|
+
canceled_at: Date | null;
|
|
509
|
+
} | null;
|
|
474
510
|
/** 주문 내 계약서 파일
|
|
475
511
|
* @notice 신차 / 리스렌트에서만 존재할 수 있습니다
|
|
476
512
|
*/
|
|
@@ -505,12 +541,8 @@ export interface PurchaseCarInfo {
|
|
|
505
541
|
carModel?: CarModel;
|
|
506
542
|
carTrim?: CarTrim;
|
|
507
543
|
carGrade?: CarGrade;
|
|
508
|
-
/** isNotSelectColor: true일 때 undefined */
|
|
509
544
|
carColor?: CarColor;
|
|
510
|
-
|
|
511
|
-
isNotSelectColor?: boolean;
|
|
512
|
-
/** 고객이 직접 입력한 내장색상 입력 텍스트 */
|
|
513
|
-
innerCarColorName?: string;
|
|
545
|
+
interiorCarColor?: InteriorCarColor;
|
|
514
546
|
carOptionList?: CarOption[];
|
|
515
547
|
}
|
|
516
548
|
export interface SelectedCarData {
|
|
@@ -518,10 +550,8 @@ export interface SelectedCarData {
|
|
|
518
550
|
carModel: CarModel;
|
|
519
551
|
carTrim: CarTrim;
|
|
520
552
|
carGrade: CarGrade;
|
|
521
|
-
/** isNotSelectColor: true일 때 undefined */
|
|
522
553
|
carColor?: CarColor;
|
|
523
|
-
|
|
524
|
-
innerCarColorName?: string;
|
|
554
|
+
interiorCarColor?: InteriorCarColor;
|
|
525
555
|
carOptionList: CarOption[];
|
|
526
556
|
}
|
|
527
557
|
export interface PurchaseOrderDetailInfo {
|
|
@@ -835,9 +865,9 @@ export interface SellingAdditionalInfo {
|
|
|
835
865
|
optprice: number;
|
|
836
866
|
}[];
|
|
837
867
|
/** 옵션 없음 */
|
|
838
|
-
|
|
868
|
+
옵션없음?: boolean;
|
|
839
869
|
/** 직접 입력 */
|
|
840
|
-
|
|
870
|
+
직접입력?: {
|
|
841
871
|
selected: boolean;
|
|
842
872
|
content?: string;
|
|
843
873
|
};
|
|
@@ -28,6 +28,7 @@ export type OrderType = keyof typeof OrderType;
|
|
|
28
28
|
* @holded 거래가 보류된 상태 (주문 진행 도중 보류되거나 한 경우)
|
|
29
29
|
* @canceled 취소된 상태 (진행중인 주문이 취소된 경우)
|
|
30
30
|
* @deleted 회원이 주문을 제거한 상태
|
|
31
|
+
* @trashed 관리자가 주문을 삭제한 상태
|
|
31
32
|
* @finished 종료됨 (정상적으로 종료)
|
|
32
33
|
* @nonAccepted 입찰 기간이 지나 종료된 상태.
|
|
33
34
|
* @failBid 카매니저가 해당 주문에 유찰된 상태 (입찰했으나 낙찰되지 않음). 이 상태는 DB상에 존재하지 않습니다.
|
|
@@ -38,6 +39,7 @@ export declare const OrderState: {
|
|
|
38
39
|
readonly holded: "주문 보류";
|
|
39
40
|
readonly canceled: "주문 취소";
|
|
40
41
|
readonly deleted: "주문 제거";
|
|
42
|
+
readonly trashed: "주문 삭제";
|
|
41
43
|
readonly finished: "주문 완료";
|
|
42
44
|
readonly nonAccepted: "입찰 종료";
|
|
43
45
|
readonly failBid: "유찰";
|
|
@@ -159,3 +161,5 @@ export declare const OrderListIntervalTarget: {
|
|
|
159
161
|
readonly bid_ended_at: "입찰 종료일";
|
|
160
162
|
};
|
|
161
163
|
export type OrderListIntervalTarget = keyof typeof OrderListIntervalTarget;
|
|
164
|
+
export declare const PurchaseMethod: readonly ["리스", "장기렌트", "일시불", "할부"];
|
|
165
|
+
export type PurchaseMethod = (typeof PurchaseMethod)[number];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OrderListIntervalTarget = exports.OrderPurchasingType = exports.OrderTagCarOwnership = exports.OrderTagCarState = exports.DutyFreeCondition = exports.SellCarBoughtMethod = exports.BuyerType = exports.OrderCommissionMethod = exports.OrderCommissionType = exports.OrderCommissionState = exports.OrderBidState = exports.OrderState = exports.OrderType = exports.OrderCategory = void 0;
|
|
3
|
+
exports.PurchaseMethod = exports.OrderListIntervalTarget = exports.OrderPurchasingType = exports.OrderTagCarOwnership = exports.OrderTagCarState = exports.DutyFreeCondition = exports.SellCarBoughtMethod = exports.BuyerType = exports.OrderCommissionMethod = exports.OrderCommissionType = exports.OrderCommissionState = exports.OrderBidState = exports.OrderState = exports.OrderType = exports.OrderCategory = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* @leaseRent 리스/렌트
|
|
6
6
|
* @newCar 신차 구매
|
|
@@ -29,6 +29,7 @@ exports.OrderType = {
|
|
|
29
29
|
* @holded 거래가 보류된 상태 (주문 진행 도중 보류되거나 한 경우)
|
|
30
30
|
* @canceled 취소된 상태 (진행중인 주문이 취소된 경우)
|
|
31
31
|
* @deleted 회원이 주문을 제거한 상태
|
|
32
|
+
* @trashed 관리자가 주문을 삭제한 상태
|
|
32
33
|
* @finished 종료됨 (정상적으로 종료)
|
|
33
34
|
* @nonAccepted 입찰 기간이 지나 종료된 상태.
|
|
34
35
|
* @failBid 카매니저가 해당 주문에 유찰된 상태 (입찰했으나 낙찰되지 않음). 이 상태는 DB상에 존재하지 않습니다.
|
|
@@ -39,6 +40,7 @@ exports.OrderState = {
|
|
|
39
40
|
holded: "주문 보류",
|
|
40
41
|
canceled: "주문 취소",
|
|
41
42
|
deleted: "주문 제거",
|
|
43
|
+
trashed: "주문 삭제",
|
|
42
44
|
finished: "주문 완료",
|
|
43
45
|
nonAccepted: "입찰 종료",
|
|
44
46
|
failBid: "유찰",
|
|
@@ -146,3 +148,4 @@ exports.OrderListIntervalTarget = {
|
|
|
146
148
|
finished_at: "주문 완료일",
|
|
147
149
|
bid_ended_at: "입찰 종료일",
|
|
148
150
|
};
|
|
151
|
+
exports.PurchaseMethod = ["리스", "장기렌트", "일시불", "할부"];
|
|
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./dto"), exports);
|
|
18
17
|
__exportStar(require("./interface"), exports);
|
|
19
18
|
__exportStar(require("./type"), exports);
|