dooring-core-domain 1.0.65 → 1.1.0
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/enums/QuoteEnums.d.ts +99 -0
- package/dist/enums/QuoteEnums.d.ts.map +1 -0
- package/dist/enums/QuoteEnums.js +111 -0
- package/dist/enums/QuoteEnums.js.map +1 -0
- package/dist/enums/index.d.ts +1 -0
- package/dist/enums/index.d.ts.map +1 -1
- package/dist/enums/index.js +2 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/models/Quote/Client.d.ts +50 -0
- package/dist/models/Quote/Client.d.ts.map +1 -0
- package/dist/models/Quote/Client.js +49 -0
- package/dist/models/Quote/Client.js.map +1 -0
- package/dist/models/Quote/ComplianceDocument.d.ts +45 -0
- package/dist/models/Quote/ComplianceDocument.d.ts.map +1 -0
- package/dist/models/Quote/ComplianceDocument.js +45 -0
- package/dist/models/Quote/ComplianceDocument.js.map +1 -0
- package/dist/models/Quote/CustomerRequest.d.ts +55 -0
- package/dist/models/Quote/CustomerRequest.d.ts.map +1 -0
- package/dist/models/Quote/CustomerRequest.js +40 -0
- package/dist/models/Quote/CustomerRequest.js.map +1 -0
- package/dist/models/Quote/CustomerSession.d.ts +39 -0
- package/dist/models/Quote/CustomerSession.d.ts.map +1 -0
- package/dist/models/Quote/CustomerSession.js +41 -0
- package/dist/models/Quote/CustomerSession.js.map +1 -0
- package/dist/models/Quote/Price.d.ts +86 -0
- package/dist/models/Quote/Price.d.ts.map +1 -0
- package/dist/models/Quote/Price.js +77 -0
- package/dist/models/Quote/Price.js.map +1 -0
- package/dist/models/Quote/Promotion.d.ts +63 -0
- package/dist/models/Quote/Promotion.d.ts.map +1 -0
- package/dist/models/Quote/Promotion.js +63 -0
- package/dist/models/Quote/Promotion.js.map +1 -0
- package/dist/models/Quote/Quote.d.ts +65 -0
- package/dist/models/Quote/Quote.d.ts.map +1 -0
- package/dist/models/Quote/Quote.js +60 -0
- package/dist/models/Quote/Quote.js.map +1 -0
- package/dist/models/Quote/QuoteLine.d.ts +83 -0
- package/dist/models/Quote/QuoteLine.d.ts.map +1 -0
- package/dist/models/Quote/QuoteLine.js +74 -0
- package/dist/models/Quote/QuoteLine.js.map +1 -0
- package/dist/models/Quote/QuoteSection.d.ts +46 -0
- package/dist/models/Quote/QuoteSection.d.ts.map +1 -0
- package/dist/models/Quote/QuoteSection.js +46 -0
- package/dist/models/Quote/QuoteSection.js.map +1 -0
- package/dist/models/Quote/QuoteVersion.d.ts +48 -0
- package/dist/models/Quote/QuoteVersion.d.ts.map +1 -0
- package/dist/models/Quote/QuoteVersion.js +47 -0
- package/dist/models/Quote/QuoteVersion.js.map +1 -0
- package/dist/models/Quote/ShareToken.d.ts +53 -0
- package/dist/models/Quote/ShareToken.d.ts.map +1 -0
- package/dist/models/Quote/ShareToken.js +58 -0
- package/dist/models/Quote/ShareToken.js.map +1 -0
- package/dist/models/Quote/Site.d.ts +62 -0
- package/dist/models/Quote/Site.d.ts.map +1 -0
- package/dist/models/Quote/Site.js +58 -0
- package/dist/models/Quote/Site.js.map +1 -0
- package/dist/models/Quote/SiteStage.d.ts +42 -0
- package/dist/models/Quote/SiteStage.d.ts.map +1 -0
- package/dist/models/Quote/SiteStage.js +42 -0
- package/dist/models/Quote/SiteStage.js.map +1 -0
- package/dist/types/quote.d.ts +93 -0
- package/dist/types/quote.d.ts.map +1 -0
- package/dist/types/quote.js +15 -0
- package/dist/types/quote.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 견적/현장 도메인 ENUM 정의 (Phase 1)
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 견적 섹션 종류
|
|
6
|
+
* - furniture: 가구 견적 (공간별 그룹핑, customer read-only)
|
|
7
|
+
* - construction: 시공비 (customer interactive 가능)
|
|
8
|
+
* - misc: 기타 비용 (운반·양생 등)
|
|
9
|
+
* - extra: 별도 품목 (상판·옵션·전기)
|
|
10
|
+
* - special_service: 특별 서비스 (단가표 8번 매핑)
|
|
11
|
+
* - promotion: 프로모션 (할인/추가금, quote_promotions 테이블 참조)
|
|
12
|
+
* - custom: 자유 정의
|
|
13
|
+
*/
|
|
14
|
+
export declare enum QuoteSectionKind {
|
|
15
|
+
FURNITURE = "furniture",
|
|
16
|
+
CONSTRUCTION = "construction",
|
|
17
|
+
MISC = "misc",
|
|
18
|
+
EXTRA = "extra",
|
|
19
|
+
SPECIAL_SERVICE = "special_service",
|
|
20
|
+
PROMOTION = "promotion",
|
|
21
|
+
CUSTOM = "custom"
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 현장 진행 단계 (기본 6종 시드)
|
|
25
|
+
*/
|
|
26
|
+
export declare enum SiteStageKey {
|
|
27
|
+
INQUIRY = "inquiry",
|
|
28
|
+
ESTIMATING = "estimating",
|
|
29
|
+
REVIEWING = "reviewing",
|
|
30
|
+
CONTRACTED = "contracted",
|
|
31
|
+
CONSTRUCTION = "construction",
|
|
32
|
+
COMPLETED = "completed"
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 가구 견적 섹션의 공간 (대분류 = 단가표 E열 1~6번)
|
|
36
|
+
*/
|
|
37
|
+
export declare enum FurnitureSpace {
|
|
38
|
+
KITCHEN = "\uC8FC\uBC29",
|
|
39
|
+
BUILT_IN_CLOSET = "\uBD99\uBC15\uC774\uC7A5",
|
|
40
|
+
SHOE_CABINET = "\uC2E0\uBC1C\uC7A5",
|
|
41
|
+
OTHER_STORAGE = "\uAE30\uD0C0 \uC218\uB0A9\uC7A5",
|
|
42
|
+
DOOR = "\uB3C4\uC5B4",
|
|
43
|
+
COUNTERTOP_ETC = "\uC0C1\uD310 \uBC0F \uAE30\uD0C0\uD488\uBAA9"
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 단가표 단위
|
|
47
|
+
*/
|
|
48
|
+
export declare enum PriceUnit {
|
|
49
|
+
M = "m",
|
|
50
|
+
MM_100 = "100mm",
|
|
51
|
+
PIECE = "\uAC1C",
|
|
52
|
+
JA = "\uC790",
|
|
53
|
+
SHEET = "\uC7A5",
|
|
54
|
+
SET = "\uC138\uD2B8",
|
|
55
|
+
LUMP = "\uC2DD",
|
|
56
|
+
CASE = "\uAC74",
|
|
57
|
+
PERSON = "\uC778"
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* VAT customer interactivity 모드
|
|
61
|
+
* - toggle: 고객이 켜고 끄기 가능 (기본)
|
|
62
|
+
* - always_included: 항상 포함 (체크박스 미노출)
|
|
63
|
+
* - always_excluded: 항상 제외 (별도 협의 안내)
|
|
64
|
+
*/
|
|
65
|
+
export declare enum VatCustomerMode {
|
|
66
|
+
TOGGLE = "toggle",
|
|
67
|
+
ALWAYS_INCLUDED = "always_included",
|
|
68
|
+
ALWAYS_EXCLUDED = "always_excluded"
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 프로모션 방향
|
|
72
|
+
*/
|
|
73
|
+
export declare enum PromotionDirection {
|
|
74
|
+
DISCOUNT = "discount",
|
|
75
|
+
SURCHARGE = "surcharge"
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 프로모션 적용 방식
|
|
79
|
+
*/
|
|
80
|
+
export declare enum PromotionMode {
|
|
81
|
+
RATE = "rate",
|
|
82
|
+
FIXED = "fixed"
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* 프로모션 적용 대상
|
|
86
|
+
*/
|
|
87
|
+
export declare enum PromotionAppliesTo {
|
|
88
|
+
SUBTOTAL_PRE_VAT = "subtotal_pre_vat",
|
|
89
|
+
SUBTOTAL_POST_VAT = "subtotal_post_vat"
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 단가표 source (origin tracking)
|
|
93
|
+
*/
|
|
94
|
+
export declare enum PriceSource {
|
|
95
|
+
NOTION_CSV = "notion-csv",
|
|
96
|
+
XLSM = "xlsm",
|
|
97
|
+
MANUAL = "manual"
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=QuoteEnums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuoteEnums.d.ts","sourceRoot":"","sources":["../../src/enums/QuoteEnums.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;GASG;AACH,oBAAY,gBAAgB;IAC1B,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,OAAO,iBAAO;IACd,eAAe,6BAAS;IACxB,YAAY,uBAAQ;IACpB,aAAa,oCAAW;IACxB,IAAI,iBAAO;IACX,cAAc,iDAAc;CAC7B;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,CAAC,MAAM;IACP,MAAM,UAAU;IAChB,KAAK,WAAM;IACX,EAAE,WAAM;IACR,KAAK,WAAM;IACX,GAAG,iBAAO;IACV,IAAI,WAAM;IACV,IAAI,WAAM;IACV,MAAM,WAAM;CACb;AAED;;;;;GAKG;AACH,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;CACpC;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;CACxC;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 견적/현장 도메인 ENUM 정의 (Phase 1)
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PriceSource = exports.PromotionAppliesTo = exports.PromotionMode = exports.PromotionDirection = exports.VatCustomerMode = exports.PriceUnit = exports.FurnitureSpace = exports.SiteStageKey = exports.QuoteSectionKind = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* 견적 섹션 종류
|
|
9
|
+
* - furniture: 가구 견적 (공간별 그룹핑, customer read-only)
|
|
10
|
+
* - construction: 시공비 (customer interactive 가능)
|
|
11
|
+
* - misc: 기타 비용 (운반·양생 등)
|
|
12
|
+
* - extra: 별도 품목 (상판·옵션·전기)
|
|
13
|
+
* - special_service: 특별 서비스 (단가표 8번 매핑)
|
|
14
|
+
* - promotion: 프로모션 (할인/추가금, quote_promotions 테이블 참조)
|
|
15
|
+
* - custom: 자유 정의
|
|
16
|
+
*/
|
|
17
|
+
var QuoteSectionKind;
|
|
18
|
+
(function (QuoteSectionKind) {
|
|
19
|
+
QuoteSectionKind["FURNITURE"] = "furniture";
|
|
20
|
+
QuoteSectionKind["CONSTRUCTION"] = "construction";
|
|
21
|
+
QuoteSectionKind["MISC"] = "misc";
|
|
22
|
+
QuoteSectionKind["EXTRA"] = "extra";
|
|
23
|
+
QuoteSectionKind["SPECIAL_SERVICE"] = "special_service";
|
|
24
|
+
QuoteSectionKind["PROMOTION"] = "promotion";
|
|
25
|
+
QuoteSectionKind["CUSTOM"] = "custom";
|
|
26
|
+
})(QuoteSectionKind || (exports.QuoteSectionKind = QuoteSectionKind = {}));
|
|
27
|
+
/**
|
|
28
|
+
* 현장 진행 단계 (기본 6종 시드)
|
|
29
|
+
*/
|
|
30
|
+
var SiteStageKey;
|
|
31
|
+
(function (SiteStageKey) {
|
|
32
|
+
SiteStageKey["INQUIRY"] = "inquiry";
|
|
33
|
+
SiteStageKey["ESTIMATING"] = "estimating";
|
|
34
|
+
SiteStageKey["REVIEWING"] = "reviewing";
|
|
35
|
+
SiteStageKey["CONTRACTED"] = "contracted";
|
|
36
|
+
SiteStageKey["CONSTRUCTION"] = "construction";
|
|
37
|
+
SiteStageKey["COMPLETED"] = "completed";
|
|
38
|
+
})(SiteStageKey || (exports.SiteStageKey = SiteStageKey = {}));
|
|
39
|
+
/**
|
|
40
|
+
* 가구 견적 섹션의 공간 (대분류 = 단가표 E열 1~6번)
|
|
41
|
+
*/
|
|
42
|
+
var FurnitureSpace;
|
|
43
|
+
(function (FurnitureSpace) {
|
|
44
|
+
FurnitureSpace["KITCHEN"] = "\uC8FC\uBC29";
|
|
45
|
+
FurnitureSpace["BUILT_IN_CLOSET"] = "\uBD99\uBC15\uC774\uC7A5";
|
|
46
|
+
FurnitureSpace["SHOE_CABINET"] = "\uC2E0\uBC1C\uC7A5";
|
|
47
|
+
FurnitureSpace["OTHER_STORAGE"] = "\uAE30\uD0C0 \uC218\uB0A9\uC7A5";
|
|
48
|
+
FurnitureSpace["DOOR"] = "\uB3C4\uC5B4";
|
|
49
|
+
FurnitureSpace["COUNTERTOP_ETC"] = "\uC0C1\uD310 \uBC0F \uAE30\uD0C0\uD488\uBAA9";
|
|
50
|
+
})(FurnitureSpace || (exports.FurnitureSpace = FurnitureSpace = {}));
|
|
51
|
+
/**
|
|
52
|
+
* 단가표 단위
|
|
53
|
+
*/
|
|
54
|
+
var PriceUnit;
|
|
55
|
+
(function (PriceUnit) {
|
|
56
|
+
PriceUnit["M"] = "m";
|
|
57
|
+
PriceUnit["MM_100"] = "100mm";
|
|
58
|
+
PriceUnit["PIECE"] = "\uAC1C";
|
|
59
|
+
PriceUnit["JA"] = "\uC790";
|
|
60
|
+
PriceUnit["SHEET"] = "\uC7A5";
|
|
61
|
+
PriceUnit["SET"] = "\uC138\uD2B8";
|
|
62
|
+
PriceUnit["LUMP"] = "\uC2DD";
|
|
63
|
+
PriceUnit["CASE"] = "\uAC74";
|
|
64
|
+
PriceUnit["PERSON"] = "\uC778";
|
|
65
|
+
})(PriceUnit || (exports.PriceUnit = PriceUnit = {}));
|
|
66
|
+
/**
|
|
67
|
+
* VAT customer interactivity 모드
|
|
68
|
+
* - toggle: 고객이 켜고 끄기 가능 (기본)
|
|
69
|
+
* - always_included: 항상 포함 (체크박스 미노출)
|
|
70
|
+
* - always_excluded: 항상 제외 (별도 협의 안내)
|
|
71
|
+
*/
|
|
72
|
+
var VatCustomerMode;
|
|
73
|
+
(function (VatCustomerMode) {
|
|
74
|
+
VatCustomerMode["TOGGLE"] = "toggle";
|
|
75
|
+
VatCustomerMode["ALWAYS_INCLUDED"] = "always_included";
|
|
76
|
+
VatCustomerMode["ALWAYS_EXCLUDED"] = "always_excluded";
|
|
77
|
+
})(VatCustomerMode || (exports.VatCustomerMode = VatCustomerMode = {}));
|
|
78
|
+
/**
|
|
79
|
+
* 프로모션 방향
|
|
80
|
+
*/
|
|
81
|
+
var PromotionDirection;
|
|
82
|
+
(function (PromotionDirection) {
|
|
83
|
+
PromotionDirection["DISCOUNT"] = "discount";
|
|
84
|
+
PromotionDirection["SURCHARGE"] = "surcharge";
|
|
85
|
+
})(PromotionDirection || (exports.PromotionDirection = PromotionDirection = {}));
|
|
86
|
+
/**
|
|
87
|
+
* 프로모션 적용 방식
|
|
88
|
+
*/
|
|
89
|
+
var PromotionMode;
|
|
90
|
+
(function (PromotionMode) {
|
|
91
|
+
PromotionMode["RATE"] = "rate";
|
|
92
|
+
PromotionMode["FIXED"] = "fixed";
|
|
93
|
+
})(PromotionMode || (exports.PromotionMode = PromotionMode = {}));
|
|
94
|
+
/**
|
|
95
|
+
* 프로모션 적용 대상
|
|
96
|
+
*/
|
|
97
|
+
var PromotionAppliesTo;
|
|
98
|
+
(function (PromotionAppliesTo) {
|
|
99
|
+
PromotionAppliesTo["SUBTOTAL_PRE_VAT"] = "subtotal_pre_vat";
|
|
100
|
+
PromotionAppliesTo["SUBTOTAL_POST_VAT"] = "subtotal_post_vat";
|
|
101
|
+
})(PromotionAppliesTo || (exports.PromotionAppliesTo = PromotionAppliesTo = {}));
|
|
102
|
+
/**
|
|
103
|
+
* 단가표 source (origin tracking)
|
|
104
|
+
*/
|
|
105
|
+
var PriceSource;
|
|
106
|
+
(function (PriceSource) {
|
|
107
|
+
PriceSource["NOTION_CSV"] = "notion-csv";
|
|
108
|
+
PriceSource["XLSM"] = "xlsm";
|
|
109
|
+
PriceSource["MANUAL"] = "manual";
|
|
110
|
+
})(PriceSource || (exports.PriceSource = PriceSource = {}));
|
|
111
|
+
//# sourceMappingURL=QuoteEnums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuoteEnums.js","sourceRoot":"","sources":["../../src/enums/QuoteEnums.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;;;;;;;;GASG;AACH,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,2CAAuB,CAAA;IACvB,iDAA6B,CAAA;IAC7B,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,uDAAmC,CAAA;IACnC,2CAAuB,CAAA;IACvB,qCAAiB,CAAA;AACnB,CAAC,EARW,gBAAgB,gCAAhB,gBAAgB,QAQ3B;AAED;;GAEG;AACH,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,yCAAyB,CAAA;IACzB,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;AACzB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB;AAED;;GAEG;AACH,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,0CAAc,CAAA;IACd,8DAAwB,CAAA;IACxB,qDAAoB,CAAA;IACpB,mEAAwB,CAAA;IACxB,uCAAW,CAAA;IACX,iFAA4B,CAAA;AAC9B,CAAC,EAPW,cAAc,8BAAd,cAAc,QAOzB;AAED;;GAEG;AACH,IAAY,SAUX;AAVD,WAAY,SAAS;IACnB,oBAAO,CAAA;IACP,6BAAgB,CAAA;IAChB,6BAAW,CAAA;IACX,0BAAQ,CAAA;IACR,6BAAW,CAAA;IACX,iCAAU,CAAA;IACV,4BAAU,CAAA;IACV,4BAAU,CAAA;IACV,8BAAY,CAAA;AACd,CAAC,EAVW,SAAS,yBAAT,SAAS,QAUpB;AAED;;;;;GAKG;AACH,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,sDAAmC,CAAA;IACnC,sDAAmC,CAAA;AACrC,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAED;;GAEG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;AACzB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;GAEG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;AACjB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED;;GAEG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,2DAAqC,CAAA;IACrC,6DAAuC,CAAA;AACzC,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,4BAAa,CAAA;IACb,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
|
package/dist/enums/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,cAAc,CAAC"}
|
package/dist/enums/index.js
CHANGED
|
@@ -28,4 +28,6 @@ __exportStar(require("./CommonEnums"), exports);
|
|
|
28
28
|
__exportStar(require("./ColorEnum"), exports);
|
|
29
29
|
// Barogagu 관련 ENUM들
|
|
30
30
|
__exportStar(require("./BarogaguEnums"), exports);
|
|
31
|
+
// 견적/현장 관련 ENUM들 (Phase 1)
|
|
32
|
+
__exportStar(require("./QuoteEnums"), exports);
|
|
31
33
|
//# sourceMappingURL=index.js.map
|
package/dist/enums/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,gBAAgB;AAChB,8CAA4B;AAE5B,mBAAmB;AACnB,iDAA+B;AAE/B,WAAW;AACX,gDAA8B;AAE9B,cAAc;AACd,8CAA4B;AAE5B,oBAAoB;AACpB,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,gBAAgB;AAChB,8CAA4B;AAE5B,mBAAmB;AACnB,iDAA+B;AAE/B,WAAW;AACX,gDAA8B;AAE9B,cAAc;AACd,8CAA4B;AAE5B,oBAAoB;AACpB,kDAAgC;AAEhC,2BAA2B;AAC3B,+CAA6B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,10 +4,24 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export * from './enums';
|
|
6
6
|
export * from './types/common';
|
|
7
|
+
export * from './types/quote';
|
|
8
|
+
export * from './models/Quote/Client';
|
|
9
|
+
export * from './models/Quote/SiteStage';
|
|
10
|
+
export * from './models/Quote/Site';
|
|
11
|
+
export * from './models/Quote/Price';
|
|
12
|
+
export * from './models/Quote/Quote';
|
|
13
|
+
export * from './models/Quote/QuoteSection';
|
|
14
|
+
export * from './models/Quote/QuoteLine';
|
|
15
|
+
export * from './models/Quote/QuoteVersion';
|
|
16
|
+
export * from './models/Quote/ComplianceDocument';
|
|
17
|
+
export * from './models/Quote/ShareToken';
|
|
18
|
+
export * from './models/Quote/CustomerSession';
|
|
19
|
+
export * from './models/Quote/CustomerRequest';
|
|
20
|
+
export * from './models/Quote/Promotion';
|
|
7
21
|
export * from './constants/color';
|
|
8
22
|
export * from './constants/absorberType';
|
|
9
23
|
export * from './constants/bodyMaterial';
|
|
10
24
|
export * from './constants/cabinetDrawerType';
|
|
11
|
-
export declare const VERSION = "1.0
|
|
25
|
+
export declare const VERSION = "1.1.0";
|
|
12
26
|
export declare const PACKAGE_NAME = "dooring-core-domain";
|
|
13
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAIxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAG9C,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,YAAY,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAIxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AAGzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAG9C,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,YAAY,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,12 +23,28 @@ exports.PACKAGE_NAME = exports.VERSION = void 0;
|
|
|
23
23
|
__exportStar(require("./enums"), exports);
|
|
24
24
|
// 공통 타입들
|
|
25
25
|
__exportStar(require("./types/common"), exports);
|
|
26
|
+
// 견적 도메인 타입 (Phase 1)
|
|
27
|
+
__exportStar(require("./types/quote"), exports);
|
|
28
|
+
// 견적 도메인 모델 (Phase 1)
|
|
29
|
+
__exportStar(require("./models/Quote/Client"), exports);
|
|
30
|
+
__exportStar(require("./models/Quote/SiteStage"), exports);
|
|
31
|
+
__exportStar(require("./models/Quote/Site"), exports);
|
|
32
|
+
__exportStar(require("./models/Quote/Price"), exports);
|
|
33
|
+
__exportStar(require("./models/Quote/Quote"), exports);
|
|
34
|
+
__exportStar(require("./models/Quote/QuoteSection"), exports);
|
|
35
|
+
__exportStar(require("./models/Quote/QuoteLine"), exports);
|
|
36
|
+
__exportStar(require("./models/Quote/QuoteVersion"), exports);
|
|
37
|
+
__exportStar(require("./models/Quote/ComplianceDocument"), exports);
|
|
38
|
+
__exportStar(require("./models/Quote/ShareToken"), exports);
|
|
39
|
+
__exportStar(require("./models/Quote/CustomerSession"), exports);
|
|
40
|
+
__exportStar(require("./models/Quote/CustomerRequest"), exports);
|
|
41
|
+
__exportStar(require("./models/Quote/Promotion"), exports);
|
|
26
42
|
// 상수들
|
|
27
43
|
__exportStar(require("./constants/color"), exports);
|
|
28
44
|
__exportStar(require("./constants/absorberType"), exports);
|
|
29
45
|
__exportStar(require("./constants/bodyMaterial"), exports);
|
|
30
46
|
__exportStar(require("./constants/cabinetDrawerType"), exports);
|
|
31
47
|
// 버전 정보
|
|
32
|
-
exports.VERSION = '1.0
|
|
48
|
+
exports.VERSION = '1.1.0';
|
|
33
49
|
exports.PACKAGE_NAME = 'dooring-core-domain';
|
|
34
50
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAGxB,SAAS;AACT,iDAA+B;AAE/B,MAAM;AACN,oDAAkC;AAClC,2DAAyC;AACzC,2DAAyC;AACzC,gEAA8C;AAE9C,QAAQ;AACK,QAAA,OAAO,GAAG,OAAO,CAAC;AAClB,QAAA,YAAY,GAAG,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAGxB,SAAS;AACT,iDAA+B;AAE/B,sBAAsB;AACtB,gDAA8B;AAE9B,sBAAsB;AACtB,wDAAsC;AACtC,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,8DAA4C;AAC5C,2DAAyC;AACzC,8DAA4C;AAC5C,oEAAkD;AAClD,4DAA0C;AAC1C,iEAA+C;AAC/C,iEAA+C;AAC/C,2DAAyC;AAEzC,MAAM;AACN,oDAAkC;AAClC,2DAAyC;AACzC,2DAAyC;AACzC,gEAA8C;AAE9C,QAAQ;AACK,QAAA,OAAO,GAAG,OAAO,CAAC;AAClB,QAAA,YAAY,GAAG,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 거래처 (clients 테이블)
|
|
3
|
+
*
|
|
4
|
+
* - BizClient(샵 사용자)과는 별개의 어드민용 거래처 마스터.
|
|
5
|
+
* - linked_biz_client_id로 BizClient와 느슨하게 연결 가능.
|
|
6
|
+
* - client_user_id는 Phase 3 고객 로그인 대비 (Phase 1에선 NULL).
|
|
7
|
+
*/
|
|
8
|
+
export declare class Client {
|
|
9
|
+
readonly id?: string;
|
|
10
|
+
readonly created_at?: Date;
|
|
11
|
+
readonly updated_at?: Date;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly phone?: string;
|
|
14
|
+
readonly business_type?: string;
|
|
15
|
+
readonly memo?: string;
|
|
16
|
+
readonly linked_biz_client_id?: string;
|
|
17
|
+
readonly client_user_id?: string;
|
|
18
|
+
constructor(args: {
|
|
19
|
+
id?: string;
|
|
20
|
+
created_at?: Date;
|
|
21
|
+
updated_at?: Date;
|
|
22
|
+
name: string;
|
|
23
|
+
phone?: string;
|
|
24
|
+
business_type?: string;
|
|
25
|
+
memo?: string;
|
|
26
|
+
linked_biz_client_id?: string;
|
|
27
|
+
client_user_id?: string;
|
|
28
|
+
});
|
|
29
|
+
static fromDB(row: {
|
|
30
|
+
id: string;
|
|
31
|
+
created_at: string | Date;
|
|
32
|
+
updated_at?: string | Date | null;
|
|
33
|
+
name: string;
|
|
34
|
+
phone?: string | null;
|
|
35
|
+
business_type?: string | null;
|
|
36
|
+
memo?: string | null;
|
|
37
|
+
linked_biz_client_id?: string | null;
|
|
38
|
+
client_user_id?: string | null;
|
|
39
|
+
}): Client;
|
|
40
|
+
toDB(): {
|
|
41
|
+
id?: string;
|
|
42
|
+
name: string;
|
|
43
|
+
phone?: string | null;
|
|
44
|
+
business_type?: string | null;
|
|
45
|
+
memo?: string | null;
|
|
46
|
+
linked_biz_client_id?: string | null;
|
|
47
|
+
client_user_id?: string | null;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=Client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/models/Quote/Client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,MAAM;IACjB,SAAgB,EAAE,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAgB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAgB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9C,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;gBAE5B,IAAI,EAAE;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,IAAI,CAAC;QAClB,UAAU,CAAC,EAAE,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAYD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;QAClC,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,GAAG,MAAM;IAcV,IAAI,IAAI;QACN,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC;CAWF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Client = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 거래처 (clients 테이블)
|
|
6
|
+
*
|
|
7
|
+
* - BizClient(샵 사용자)과는 별개의 어드민용 거래처 마스터.
|
|
8
|
+
* - linked_biz_client_id로 BizClient와 느슨하게 연결 가능.
|
|
9
|
+
* - client_user_id는 Phase 3 고객 로그인 대비 (Phase 1에선 NULL).
|
|
10
|
+
*/
|
|
11
|
+
class Client {
|
|
12
|
+
constructor(args) {
|
|
13
|
+
this.id = args.id;
|
|
14
|
+
this.created_at = args.created_at;
|
|
15
|
+
this.updated_at = args.updated_at;
|
|
16
|
+
this.name = args.name;
|
|
17
|
+
this.phone = args.phone;
|
|
18
|
+
this.business_type = args.business_type;
|
|
19
|
+
this.memo = args.memo;
|
|
20
|
+
this.linked_biz_client_id = args.linked_biz_client_id;
|
|
21
|
+
this.client_user_id = args.client_user_id;
|
|
22
|
+
}
|
|
23
|
+
static fromDB(row) {
|
|
24
|
+
return new Client({
|
|
25
|
+
id: row.id,
|
|
26
|
+
created_at: row.created_at instanceof Date ? row.created_at : new Date(row.created_at),
|
|
27
|
+
updated_at: row.updated_at ? (row.updated_at instanceof Date ? row.updated_at : new Date(row.updated_at)) : undefined,
|
|
28
|
+
name: row.name,
|
|
29
|
+
phone: row.phone ?? undefined,
|
|
30
|
+
business_type: row.business_type ?? undefined,
|
|
31
|
+
memo: row.memo ?? undefined,
|
|
32
|
+
linked_biz_client_id: row.linked_biz_client_id ?? undefined,
|
|
33
|
+
client_user_id: row.client_user_id ?? undefined,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
toDB() {
|
|
37
|
+
return {
|
|
38
|
+
id: this.id,
|
|
39
|
+
name: this.name,
|
|
40
|
+
phone: this.phone ?? null,
|
|
41
|
+
business_type: this.business_type ?? null,
|
|
42
|
+
memo: this.memo ?? null,
|
|
43
|
+
linked_biz_client_id: this.linked_biz_client_id ?? null,
|
|
44
|
+
client_user_id: this.client_user_id ?? null,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.Client = Client;
|
|
49
|
+
//# sourceMappingURL=Client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/models/Quote/Client.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,MAAa,MAAM;IAWjB,YAAY,IAUX;QACC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAUb;QACC,OAAO,IAAI,MAAM,CAAC;YAChB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,UAAU,EAAE,GAAG,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACtF,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACrH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;YAC7B,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;YAC7C,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,SAAS;YAC3B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,IAAI,SAAS;YAC3D,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;SAChD,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QASF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;YACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,IAAI,IAAI;YACvD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;SAC5C,CAAC;IACJ,CAAC;CACF;AA5ED,wBA4EC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 고지사항/계약서 (compliance_documents 테이블) — 법적 텍스트의 버전 관리.
|
|
3
|
+
*
|
|
4
|
+
* quote_versions.compliance_version_id로 핀하면, 과거 견적은 합의 당시 본문 그대로 재현.
|
|
5
|
+
* is_current=true는 최신 1건만 (DB 제약 또는 트리거로 보장).
|
|
6
|
+
*/
|
|
7
|
+
export declare class ComplianceDocument {
|
|
8
|
+
readonly id?: string;
|
|
9
|
+
readonly created_at?: Date;
|
|
10
|
+
readonly updated_at?: Date;
|
|
11
|
+
readonly version: number;
|
|
12
|
+
readonly title: string;
|
|
13
|
+
readonly body_markdown: string;
|
|
14
|
+
readonly effective_from?: Date;
|
|
15
|
+
readonly is_current: boolean;
|
|
16
|
+
constructor(args: {
|
|
17
|
+
id?: string;
|
|
18
|
+
created_at?: Date;
|
|
19
|
+
updated_at?: Date;
|
|
20
|
+
version: number;
|
|
21
|
+
title: string;
|
|
22
|
+
body_markdown: string;
|
|
23
|
+
effective_from?: Date;
|
|
24
|
+
is_current?: boolean;
|
|
25
|
+
});
|
|
26
|
+
static fromDB(row: {
|
|
27
|
+
id: string;
|
|
28
|
+
created_at: string | Date;
|
|
29
|
+
updated_at?: string | Date | null;
|
|
30
|
+
version: number;
|
|
31
|
+
title: string;
|
|
32
|
+
body_markdown: string;
|
|
33
|
+
effective_from?: string | Date | null;
|
|
34
|
+
is_current?: boolean | null;
|
|
35
|
+
}): ComplianceDocument;
|
|
36
|
+
toDB(): {
|
|
37
|
+
id?: string;
|
|
38
|
+
version: number;
|
|
39
|
+
title: string;
|
|
40
|
+
body_markdown: string;
|
|
41
|
+
effective_from?: string | null;
|
|
42
|
+
is_current: boolean;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ComplianceDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComplianceDocument.d.ts","sourceRoot":"","sources":["../../../src/models/Quote/ComplianceDocument.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,SAAgB,EAAE,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAgB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtC,SAAgB,UAAU,EAAE,OAAO,CAAC;gBAExB,IAAI,EAAE;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,IAAI,CAAC;QAClB,UAAU,CAAC,EAAE,IAAI,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB;IAWD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;QACtC,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KAC7B,GAAG,kBAAkB;IAatB,IAAI,IAAI;QACN,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,UAAU,EAAE,OAAO,CAAC;KACrB;CAUF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ComplianceDocument = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 고지사항/계약서 (compliance_documents 테이블) — 법적 텍스트의 버전 관리.
|
|
6
|
+
*
|
|
7
|
+
* quote_versions.compliance_version_id로 핀하면, 과거 견적은 합의 당시 본문 그대로 재현.
|
|
8
|
+
* is_current=true는 최신 1건만 (DB 제약 또는 트리거로 보장).
|
|
9
|
+
*/
|
|
10
|
+
class ComplianceDocument {
|
|
11
|
+
constructor(args) {
|
|
12
|
+
this.id = args.id;
|
|
13
|
+
this.created_at = args.created_at;
|
|
14
|
+
this.updated_at = args.updated_at;
|
|
15
|
+
this.version = args.version;
|
|
16
|
+
this.title = args.title;
|
|
17
|
+
this.body_markdown = args.body_markdown;
|
|
18
|
+
this.effective_from = args.effective_from;
|
|
19
|
+
this.is_current = args.is_current ?? false;
|
|
20
|
+
}
|
|
21
|
+
static fromDB(row) {
|
|
22
|
+
return new ComplianceDocument({
|
|
23
|
+
id: row.id,
|
|
24
|
+
created_at: row.created_at instanceof Date ? row.created_at : new Date(row.created_at),
|
|
25
|
+
updated_at: row.updated_at ? (row.updated_at instanceof Date ? row.updated_at : new Date(row.updated_at)) : undefined,
|
|
26
|
+
version: row.version,
|
|
27
|
+
title: row.title,
|
|
28
|
+
body_markdown: row.body_markdown,
|
|
29
|
+
effective_from: row.effective_from ? (row.effective_from instanceof Date ? row.effective_from : new Date(row.effective_from)) : undefined,
|
|
30
|
+
is_current: row.is_current ?? false,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
toDB() {
|
|
34
|
+
return {
|
|
35
|
+
id: this.id,
|
|
36
|
+
version: this.version,
|
|
37
|
+
title: this.title,
|
|
38
|
+
body_markdown: this.body_markdown,
|
|
39
|
+
effective_from: this.effective_from ? this.effective_from.toISOString().slice(0, 10) : null,
|
|
40
|
+
is_current: this.is_current,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.ComplianceDocument = ComplianceDocument;
|
|
45
|
+
//# sourceMappingURL=ComplianceDocument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComplianceDocument.js","sourceRoot":"","sources":["../../../src/models/Quote/ComplianceDocument.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,MAAa,kBAAkB;IAU7B,YAAY,IASX;QACC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GASb;QACC,OAAO,IAAI,kBAAkB,CAAC;YAC5B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,UAAU,EAAE,GAAG,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACtF,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACrH,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,cAAc,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACzI,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,KAAK;SACpC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QAQF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3F,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;CACF;AArED,gDAqEC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 고객 견적 요청 이력 (quote_customer_requests 테이블).
|
|
3
|
+
*
|
|
4
|
+
* "이 조합으로 요청" 클릭 시 그 순간의 세션 상태를 snapshot으로 캡처 (불변).
|
|
5
|
+
* - snapshot: { excluded_line_ids, vat_included, computed_total, line_breakdown }
|
|
6
|
+
* - acknowledged_*: 어드민이 인박스에서 "확인" 표시할 때 세팅.
|
|
7
|
+
*/
|
|
8
|
+
export interface CustomerRequestSnapshot {
|
|
9
|
+
excluded_line_ids: string[];
|
|
10
|
+
vat_included: boolean;
|
|
11
|
+
computed_subtotal?: number;
|
|
12
|
+
computed_total?: number;
|
|
13
|
+
line_breakdown?: Array<{
|
|
14
|
+
line_id: string;
|
|
15
|
+
included: boolean;
|
|
16
|
+
amount: number;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
export declare class CustomerRequest {
|
|
20
|
+
readonly id?: string;
|
|
21
|
+
readonly created_at?: Date;
|
|
22
|
+
readonly token: string;
|
|
23
|
+
readonly snapshot: CustomerRequestSnapshot;
|
|
24
|
+
readonly message?: string;
|
|
25
|
+
readonly acknowledged_by?: string;
|
|
26
|
+
readonly acknowledged_at?: Date;
|
|
27
|
+
constructor(args: {
|
|
28
|
+
id?: string;
|
|
29
|
+
created_at?: Date;
|
|
30
|
+
token: string;
|
|
31
|
+
snapshot: CustomerRequestSnapshot;
|
|
32
|
+
message?: string;
|
|
33
|
+
acknowledged_by?: string;
|
|
34
|
+
acknowledged_at?: Date;
|
|
35
|
+
});
|
|
36
|
+
static fromDB(row: {
|
|
37
|
+
id: string;
|
|
38
|
+
created_at: string | Date;
|
|
39
|
+
token: string;
|
|
40
|
+
snapshot: CustomerRequestSnapshot;
|
|
41
|
+
message?: string | null;
|
|
42
|
+
acknowledged_by?: string | null;
|
|
43
|
+
acknowledged_at?: string | Date | null;
|
|
44
|
+
}): CustomerRequest;
|
|
45
|
+
toDB(): {
|
|
46
|
+
id?: string;
|
|
47
|
+
token: string;
|
|
48
|
+
snapshot: CustomerRequestSnapshot;
|
|
49
|
+
message?: string | null;
|
|
50
|
+
acknowledged_by?: string | null;
|
|
51
|
+
acknowledged_at?: string | null;
|
|
52
|
+
};
|
|
53
|
+
isAcknowledged(): boolean;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=CustomerRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomerRequest.d.ts","sourceRoot":"","sources":["../../../src/models/Quote/CustomerRequest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChF;AAED,qBAAa,eAAe;IAC1B,SAAgB,EAAE,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAgB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,EAAE,uBAAuB,CAAC;IAClD,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,SAAgB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzC,SAAgB,eAAe,CAAC,EAAE,IAAI,CAAC;gBAE3B,IAAI,EAAE;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,IAAI,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,IAAI,CAAC;KACxB;IAUD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;KACxC,GAAG,eAAe;IAYnB,IAAI,IAAI;QACN,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC;IAWD,cAAc,IAAI,OAAO;CAG1B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomerRequest = void 0;
|
|
4
|
+
class CustomerRequest {
|
|
5
|
+
constructor(args) {
|
|
6
|
+
this.id = args.id;
|
|
7
|
+
this.created_at = args.created_at;
|
|
8
|
+
this.token = args.token;
|
|
9
|
+
this.snapshot = args.snapshot;
|
|
10
|
+
this.message = args.message;
|
|
11
|
+
this.acknowledged_by = args.acknowledged_by;
|
|
12
|
+
this.acknowledged_at = args.acknowledged_at;
|
|
13
|
+
}
|
|
14
|
+
static fromDB(row) {
|
|
15
|
+
return new CustomerRequest({
|
|
16
|
+
id: row.id,
|
|
17
|
+
created_at: row.created_at instanceof Date ? row.created_at : new Date(row.created_at),
|
|
18
|
+
token: row.token,
|
|
19
|
+
snapshot: row.snapshot,
|
|
20
|
+
message: row.message ?? undefined,
|
|
21
|
+
acknowledged_by: row.acknowledged_by ?? undefined,
|
|
22
|
+
acknowledged_at: row.acknowledged_at ? (row.acknowledged_at instanceof Date ? row.acknowledged_at : new Date(row.acknowledged_at)) : undefined,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
toDB() {
|
|
26
|
+
return {
|
|
27
|
+
id: this.id,
|
|
28
|
+
token: this.token,
|
|
29
|
+
snapshot: this.snapshot,
|
|
30
|
+
message: this.message ?? null,
|
|
31
|
+
acknowledged_by: this.acknowledged_by ?? null,
|
|
32
|
+
acknowledged_at: this.acknowledged_at ? this.acknowledged_at.toISOString() : null,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
isAcknowledged() {
|
|
36
|
+
return this.acknowledged_at != null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.CustomerRequest = CustomerRequest;
|
|
40
|
+
//# sourceMappingURL=CustomerRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomerRequest.js","sourceRoot":"","sources":["../../../src/models/Quote/CustomerRequest.ts"],"names":[],"mappings":";;;AAeA,MAAa,eAAe;IAS1B,YAAY,IAQX;QACC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAQb;QACC,OAAO,IAAI,eAAe,CAAC;YACzB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,UAAU,EAAE,GAAG,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACtF,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,SAAS;YACjD,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/I,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QAQF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;YAC7C,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;SAClF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;IACtC,CAAC;CACF;AApED,0CAoEC"}
|