sk-front-lib 0.18.3 → 0.18.5
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/esm2022/google-analytics/services/google-analytics.service.mjs +27 -4
- package/esm2022/model/lib/coupon.mjs +1 -1
- package/fesm2022/sk-front-lib-google-analytics.mjs +24 -2
- package/fesm2022/sk-front-lib-google-analytics.mjs.map +1 -1
- package/fesm2022/sk-front-lib-model.mjs.map +1 -1
- package/google-analytics/services/google-analytics.service.d.ts +2 -1
- package/model/lib/coupon.d.ts +2 -0
- package/package.json +11 -11
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { Injectable, Inject } from '@angular/core';
|
|
1
|
+
import { Injectable, Inject, PLATFORM_ID } from '@angular/core';
|
|
2
2
|
import { SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN } from "../tokens/google-analytics-settings-token";
|
|
3
|
+
import { isPlatformServer } from "@angular/common";
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class SkGoogleAnalyticsService {
|
|
5
|
-
constructor(_trackingId) {
|
|
6
|
+
constructor(_trackingId, platformId) {
|
|
6
7
|
this._trackingId = _trackingId;
|
|
8
|
+
this.platformId = platformId;
|
|
7
9
|
}
|
|
8
10
|
throw(err) {
|
|
9
11
|
if (console && console.error) {
|
|
@@ -18,6 +20,9 @@ export class SkGoogleAnalyticsService {
|
|
|
18
20
|
* @param options Command configuration
|
|
19
21
|
*/
|
|
20
22
|
gtag(action, command, ...options) {
|
|
23
|
+
if (isPlatformServer(this.platformId)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
21
26
|
try {
|
|
22
27
|
window['gtag'](action, command, ...options);
|
|
23
28
|
}
|
|
@@ -40,6 +45,9 @@ export class SkGoogleAnalyticsService {
|
|
|
40
45
|
* @param value An value to measure something
|
|
41
46
|
*/
|
|
42
47
|
event(action, category, label, value, interaction) {
|
|
48
|
+
if (isPlatformServer(this.platformId)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
43
51
|
try {
|
|
44
52
|
if (window['gtag']) {
|
|
45
53
|
const opt = {};
|
|
@@ -63,6 +71,9 @@ export class SkGoogleAnalyticsService {
|
|
|
63
71
|
}
|
|
64
72
|
}
|
|
65
73
|
purchase(data) {
|
|
74
|
+
if (isPlatformServer(this.platformId)) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
66
77
|
try {
|
|
67
78
|
if (window['gtag']) {
|
|
68
79
|
this.gtag('event', 'purchase', data);
|
|
@@ -90,6 +101,9 @@ export class SkGoogleAnalyticsService {
|
|
|
90
101
|
* @param options '{ ... custom dimentions }'
|
|
91
102
|
*/
|
|
92
103
|
pageView(path, title, location, options) {
|
|
104
|
+
if (isPlatformServer(this.platformId)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
93
107
|
try {
|
|
94
108
|
if (window['gtag']) {
|
|
95
109
|
const opt = {};
|
|
@@ -130,6 +144,9 @@ export class SkGoogleAnalyticsService {
|
|
|
130
144
|
* @param installerId 'app_installer_id'
|
|
131
145
|
*/
|
|
132
146
|
appView(screen, appName, appId, appVersion, installerId) {
|
|
147
|
+
if (isPlatformServer(this.platformId)) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
133
150
|
try {
|
|
134
151
|
if (window['gtag']) {
|
|
135
152
|
const opt = {};
|
|
@@ -169,6 +186,9 @@ export class SkGoogleAnalyticsService {
|
|
|
169
186
|
* @param fatal set to true if the error is fatal
|
|
170
187
|
*/
|
|
171
188
|
exception(description, fatal) {
|
|
189
|
+
if (isPlatformServer(this.platformId)) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
172
192
|
try {
|
|
173
193
|
if (window['gtag']) {
|
|
174
194
|
const opt = {};
|
|
@@ -185,7 +205,7 @@ export class SkGoogleAnalyticsService {
|
|
|
185
205
|
this.throw(error);
|
|
186
206
|
}
|
|
187
207
|
}
|
|
188
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, deps: [{ token: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
208
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, deps: [{ token: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
189
209
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, providedIn: 'root' }); }
|
|
190
210
|
}
|
|
191
211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, decorators: [{
|
|
@@ -196,5 +216,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
196
216
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
197
217
|
type: Inject,
|
|
198
218
|
args: [SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN]
|
|
219
|
+
}] }, { type: Object, decorators: [{
|
|
220
|
+
type: Inject,
|
|
221
|
+
args: [PLATFORM_ID]
|
|
199
222
|
}] }]; } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2dvb2dsZS1hbmFseXRpY3Mvc3JjL3NlcnZpY2VzL2dvb2dsZS1hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFPN0YsTUFBTSxPQUFPLHdCQUF3QjtJQUVqQyxZQUFrRSxXQUF1QztRQUF2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7SUFDekcsQ0FBQztJQUVTLEtBQUssQ0FBQyxHQUFVO1FBQ3RCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxHQUFHLE9BQW1CO1FBQ3hELElBQUk7WUFDQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1NBQy9DO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxLQUFLLENBQUMsTUFBeUIsRUFBRSxRQUFpQixFQUFFLEtBQWMsRUFBRSxLQUFjLEVBQUUsV0FBcUI7UUFDckcsSUFBSTtZQUNBLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoQixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxRQUFRLEVBQUU7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R0FBRyxDQUFDLENBQUM7YUFDMUM7U0FDSjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxTQUFTLENBQUMsV0FBb0IsRUFBRSxLQUFlO1FBQzNDLElBQUk7WUFDQSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUNmLElBQUksV0FBVyxFQUFFO29CQUNiLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLENBQUM7aUJBQ3BDO2dCQUNELElBQUksS0FBSyxFQUFFO29CQUNQLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7aUJBQ3hCO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN4QztTQUNKO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQzsrR0F4TFEsd0JBQXdCLGtCQUViLGtDQUFrQzttSEFGN0Msd0JBQXdCLGNBRnJCLE1BQU07OzRGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdnQixNQUFNOzJCQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U0tfR09PR0xFX0FOQUxZVElDU19TRVRUSU5HU19UT0tFTn0gZnJvbSBcIi4uL3Rva2Vucy9nb29nbGUtYW5hbHl0aWNzLXNldHRpbmdzLXRva2VuXCI7XG5pbXBvcnQge0lTa0dvb2dsZUFuYWx5dGljc1NldHRpbmdzfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9nb29nbGUtYW5hbHl0aWNzLXNldHRpbmdzXCI7XG5pbXBvcnQge0dhQWN0aW9ufSBmcm9tIFwiLi4vdHlwZXMvZ2EtYWN0aW9uLnR5cGVcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0dvb2dsZUFuYWx5dGljc1NlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChTS19HT09HTEVfQU5BTFlUSUNTX1NFVFRJTkdTX1RPS0VOKSBwcm90ZWN0ZWQgX3RyYWNraW5nSWQ6IElTa0dvb2dsZUFuYWx5dGljc1NldHRpbmdzKSB7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRocm93KGVycjogRXJyb3IpIHtcbiAgICAgICAgaWYgKGNvbnNvbGUgJiYgY29uc29sZS5lcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbCBuYXRpdmUgR0EgVGFnXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWN0aW9uIGNvbmZpZ3xldmVudFxuICAgICAqIEBwYXJhbSBjb21tYW5kIEFjdGlvbiBzcGVjaWFsaXphdGlvblxuICAgICAqIEBwYXJhbSBvcHRpb25zIENvbW1hbmQgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIGd0YWcoYWN0aW9uOiBzdHJpbmcsIGNvbW1hbmQ6IHN0cmluZywgLi4ub3B0aW9uczogQXJyYXk8YW55Pikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgd2luZG93WydndGFnJ10oYWN0aW9uLCBjb21tYW5kLCAuLi5vcHRpb25zKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLnRocm93KGVycik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kIGFuIGV2ZW50IHRyaWdnZXIgdG8gR0EuIEl0IGlzIHRoZSBzYW1lIGFzIGNhbGw6XG4gICAgICogYGBganNcbiAgICAgKiBndGFnKCdldmVudCcsICd2aWRlb19hdXRvX3BsYXlfc3RhcnQnLCB7XG4gICAgICogICAnZXZlbnRfbGFiZWwnOiAnTXkgcHJvbW90aW9uYWwgdmlkZW8nLFxuICAgICAqICAgJ2V2ZW50X2NhdGVnb3J5JzogJ3ZpZGVvX2F1dG9fcGxheSdcbiAgICAgKiB9KTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhY3Rpb24gJ3ZpZGVvX2F1dG9fcGxheV9zdGFydCdcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnkgJ3ZpZGVvX2F1dG9fcGxheSdcbiAgICAgKiBAcGFyYW0gbGFiZWwgJ015IHByb21vdGlvbmFsIHZpZGVvJ1xuICAgICAqIEBwYXJhbSB2YWx1ZSBBbiB2YWx1ZSB0byBtZWFzdXJlIHNvbWV0aGluZ1xuICAgICAqL1xuICAgIGV2ZW50KGFjdGlvbjogR2FBY3Rpb24gfCBzdHJpbmcsIGNhdGVnb3J5Pzogc3RyaW5nLCBsYWJlbD86IHN0cmluZywgdmFsdWU/OiBudW1iZXIsIGludGVyYWN0aW9uPzogYm9vbGVhbikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHdpbmRvd1snZ3RhZyddKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0ge307XG4gICAgICAgICAgICAgICAgaWYgKGNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnZXZlbnRfY2F0ZWdvcnknXSA9IGNhdGVnb3J5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydldmVudF9sYWJlbCddID0gbGFiZWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ3ZhbHVlJ10gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGludGVyYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydpbnRlcmFjdGlvbiddID0gaW50ZXJhY3Rpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ3RhZygnZXZlbnQnLCBhY3Rpb24gYXMgc3RyaW5nLCBvcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy50aHJvdyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdXJjaGFzZShkYXRhKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAod2luZG93WydndGFnJ10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmd0YWcoJ2V2ZW50JywgJ3B1cmNoYXNlJywgZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnRocm93KGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmQgYW4gcGFnZSB2aWV3IGV2ZW50LiBUaGlzIGlzIHRoZSBzYW1lIGFzXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGd0YWcoJ2NvbmZpZycsICdHQV9UUkFDS0lOR19JRCcsIHtcbiAgICAgKiAgICdwYWdlX3RpdGxlJyA6ICdIb21lcGFnZScsXG4gICAgICogICAncGFnZV9wYXRoJzogJy9ob21lJ1xuICAgICAqIH0pO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogVGhlIHRyYWNraW5nIElEIGlzIGluamVjdGVkIGF1dG9tYXRpY2FsbHkgYnkgSW5qZWN0IFRva2VuIE5HWF9HT09HTEVfQU5BTFlUSUNTX1NFVFRJTkdTX1RPS0VOXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGF0aCAvaG9tZVxuICAgICAqIEBwYXJhbSB0aXRsZSBIb21lcGFnZVxuICAgICAqIEBwYXJhbSBsb2NhdGlvbiAneyBwYWdlX2xvY2F0aW9uIH0nXG4gICAgICogQHBhcmFtIG9wdGlvbnMgJ3sgLi4uIGN1c3RvbSBkaW1lbnRpb25zIH0nXG4gICAgICovXG4gICAgcGFnZVZpZXcocGF0aD86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcsIGxvY2F0aW9uPzogc3RyaW5nLCBvcHRpb25zPzogT2JqZWN0KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAod2luZG93WydndGFnJ10pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHQgPSB7fTtcbiAgICAgICAgICAgICAgICBpZiAocGF0aCkge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ3BhZ2VfcGF0aCddID0gcGF0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsncGFnZV90aXRsZSddID0gdGl0bGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ3BhZ2VfbG9jYXRpb24nXSA9IGxvY2F0aW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKG9wdCwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ3RhZygnY29uZmlnJywgdGhpcy5fdHJhY2tpbmdJZC50cmFja2luZ0NvZGUsIG9wdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnRocm93KGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmQgYW4gZXZlbnRvIHRvIHJlcG9ydCBhIEFwcCBQYWdlIFZpZXcuIEl0IGlzIHRoZSBzYW1lIGFzXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGd0YWcoJ2V2ZW50JywgJ3NjcmVlbl92aWV3Jywge1xuICAgICAqICAgJ2FwcF9uYW1lJzogJ215QXBwTmFtZScsXG4gICAgICogICAnc2NyZWVuX25hbWUnIDogJ0hvbWUnXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzY3JlZW4gJ3NjcmVlbl9uYW1lJ1xuICAgICAqIEBwYXJhbSBuYW1lICdhcHBfbmFtZSdcbiAgICAgKiBAcGFyYW0gYXBwSWQgJ2FwcF9pZCdcbiAgICAgKiBAcGFyYW0gYXBwVmVyc2lvbiAnYXBwX3ZlcnNpb24nXG4gICAgICogQHBhcmFtIGluc3RhbGxlcklkICdhcHBfaW5zdGFsbGVyX2lkJ1xuICAgICAqL1xuICAgIGFwcFZpZXcoc2NyZWVuOiBzdHJpbmcsIGFwcE5hbWU6IHN0cmluZywgYXBwSWQ/OiBzdHJpbmcsIGFwcFZlcnNpb24/OiBzdHJpbmcsIGluc3RhbGxlcklkPzogc3RyaW5nKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAod2luZG93WydndGFnJ10pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHQgPSB7fTtcbiAgICAgICAgICAgICAgICBpZiAoc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnc2NyZWVuX25hbWUnXSA9IHNjcmVlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFwcE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydhcHBfbmFtZSddID0gYXBwTmFtZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFwcElkKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnYXBwX2lkJ10gPSBhcHBJZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFwcFZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydhcHBfdmVyc2lvbiddID0gYXBwVmVyc2lvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbGxlcklkKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnYXBwX2luc3RhbGxlcl9pZCddID0gaW5zdGFsbGVySWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ3RhZygnZXZlbnQnLCAnc2NyZWVuX3ZpZXcnLCBvcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy50aHJvdyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kIGFuIGV2ZW50IHRvIEdBIHRvIHJlcG9ydCBhbiBhcHBsaWNhdGlvbiBlcnJvci4gSXQgaXMgdGhlIHNhbWUgYXNcbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogZ3RhZygnZXZlbnQnLCAnZXhjZXB0aW9uJywge1xuICAgICAqICAgJ2Rlc2NyaXB0aW9uJzogJ2Vycm9yX2Rlc2NyaXB0aW9uJyxcbiAgICAgKiAgICdmYXRhbCc6IGZhbHNlICAgLy8gc2V0IHRvIHRydWUgaWYgdGhlIGVycm9yIGlzIGZhdGFsXG4gICAgICogfSk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gJ2Vycm9yX2Rlc2NyaXB0aW9uJ1xuICAgICAqIEBwYXJhbSBmYXRhbCBzZXQgdG8gdHJ1ZSBpZiB0aGUgZXJyb3IgaXMgZmF0YWxcbiAgICAgKi9cbiAgICBleGNlcHRpb24oZGVzY3JpcHRpb24/OiBzdHJpbmcsIGZhdGFsPzogYm9vbGVhbikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHdpbmRvd1snZ3RhZyddKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0ge307XG4gICAgICAgICAgICAgICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnZGVzY3JpcHRpb24nXSA9IGRlc2NyaXB0aW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZmF0YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydmYXRhbCddID0gZmF0YWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ3RhZygnZXZlbnQnLCAnZXhjZXB0aW9uJywgb3B0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMudGhyb3coZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2dvb2dsZS1hbmFseXRpY3Mvc3JjL3NlcnZpY2VzL2dvb2dsZS1hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFHN0YsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBS2pELE1BQU0sT0FBTyx3QkFBd0I7SUFFakMsWUFBa0UsV0FBdUMsRUFDaEUsVUFBa0I7UUFETyxnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUFDaEUsZUFBVSxHQUFWLFVBQVUsQ0FBUTtJQUMzRCxDQUFDO0lBRVMsS0FBSyxDQUFDLEdBQVU7UUFDdEIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUMxQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLEdBQUcsT0FBbUI7UUFDeEQsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkMsT0FBTztTQUNWO1FBRUQsSUFBSTtZQUNBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7U0FDL0M7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILEtB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O2FBQ3hDO1NBQ0o7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7SUFDTCxDQUFDOytHQWpOUSx3QkFBd0Isa0JBRWIsa0NBQWtDLGFBQ2xDLFdBQVc7bUhBSHRCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFHZ0IsTUFBTTsyQkFBQyxrQ0FBa0M7OzBCQUN6QyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTS19HT09HTEVfQU5BTFlUSUNTX1NFVFRJTkdTX1RPS0VOfSBmcm9tIFwiLi4vdG9rZW5zL2dvb2dsZS1hbmFseXRpY3Mtc2V0dGluZ3MtdG9rZW5cIjtcbmltcG9ydCB7SVNrR29vZ2xlQW5hbHl0aWNzU2V0dGluZ3N9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2dvb2dsZS1hbmFseXRpY3Mtc2V0dGluZ3NcIjtcbmltcG9ydCB7R2FBY3Rpb259IGZyb20gXCIuLi90eXBlcy9nYS1hY3Rpb24udHlwZVwiO1xuaW1wb3J0IHtpc1BsYXRmb3JtU2VydmVyfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tHb29nbGVBbmFseXRpY3NTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoU0tfR09PR0xFX0FOQUxZVElDU19TRVRUSU5HU19UT0tFTikgcHJvdGVjdGVkIF90cmFja2luZ0lkOiBJU2tHb29nbGVBbmFseXRpY3NTZXR0aW5ncyxcbiAgICAgICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCkge1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0aHJvdyhlcnI6IEVycm9yKSB7XG4gICAgICAgIGlmIChjb25zb2xlICYmIGNvbnNvbGUuZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGwgbmF0aXZlIEdBIFRhZ1xuICAgICAqXG4gICAgICogQHBhcmFtIGFjdGlvbiBjb25maWd8ZXZlbnRcbiAgICAgKiBAcGFyYW0gY29tbWFuZCBBY3Rpb24gc3BlY2lhbGl6YXRpb25cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBDb21tYW5kIGNvbmZpZ3VyYXRpb25cbiAgICAgKi9cbiAgICBndGFnKGFjdGlvbjogc3RyaW5nLCBjb21tYW5kOiBzdHJpbmcsIC4uLm9wdGlvbnM6IEFycmF5PGFueT4pIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHdpbmRvd1snZ3RhZyddKGFjdGlvbiwgY29tbWFuZCwgLi4ub3B0aW9ucyk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy50aHJvdyhlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VuZCBhbiBldmVudCB0cmlnZ2VyIHRvIEdBLiBJdCBpcyB0aGUgc2FtZSBhcyBjYWxsOlxuICAgICAqIGBgYGpzXG4gICAgICogZ3RhZygnZXZlbnQnLCAndmlkZW9fYXV0b19wbGF5X3N0YXJ0Jywge1xuICAgICAqICAgJ2V2ZW50X2xhYmVsJzogJ015IHByb21vdGlvbmFsIHZpZGVvJyxcbiAgICAgKiAgICdldmVudF9jYXRlZ29yeSc6ICd2aWRlb19hdXRvX3BsYXknXG4gICAgICogfSk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWN0aW9uICd2aWRlb19hdXRvX3BsYXlfc3RhcnQnXG4gICAgICogQHBhcmFtIGNhdGVnb3J5ICd2aWRlb19hdXRvX3BsYXknXG4gICAgICogQHBhcmFtIGxhYmVsICdNeSBwcm9tb3Rpb25hbCB2aWRlbydcbiAgICAgKiBAcGFyYW0gdmFsdWUgQW4gdmFsdWUgdG8gbWVhc3VyZSBzb21ldGhpbmdcbiAgICAgKi9cbiAgICBldmVudChhY3Rpb246IEdhQWN0aW9uIHwgc3RyaW5nLCBjYXRlZ29yeT86IHN0cmluZywgbGFiZWw/OiBzdHJpbmcsIHZhbHVlPzogbnVtYmVyLCBpbnRlcmFjdGlvbj86IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh3aW5kb3dbJ2d0YWcnXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IHt9O1xuICAgICAgICAgICAgICAgIGlmIChjYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ2V2ZW50X2NhdGVnb3J5J10gPSBjYXRlZ29yeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnZXZlbnRfbGFiZWwnXSA9IGxhYmVsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0Wyd2YWx1ZSddID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpbnRlcmFjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnaW50ZXJhY3Rpb24nXSA9IGludGVyYWN0aW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmd0YWcoJ2V2ZW50JywgYWN0aW9uIGFzIHN0cmluZywgb3B0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMudGhyb3coZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVyY2hhc2UoZGF0YSkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHdpbmRvd1snZ3RhZyddKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ndGFnKCdldmVudCcsICdwdXJjaGFzZScsIGRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy50aHJvdyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kIGFuIHBhZ2UgdmlldyBldmVudC4gVGhpcyBpcyB0aGUgc2FtZSBhc1xuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBndGFnKCdjb25maWcnLCAnR0FfVFJBQ0tJTkdfSUQnLCB7XG4gICAgICogICAncGFnZV90aXRsZScgOiAnSG9tZXBhZ2UnLFxuICAgICAqICAgJ3BhZ2VfcGF0aCc6ICcvaG9tZSdcbiAgICAgKiB9KTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIFRoZSB0cmFja2luZyBJRCBpcyBpbmplY3RlZCBhdXRvbWF0aWNhbGx5IGJ5IEluamVjdCBUb2tlbiBOR1hfR09PR0xFX0FOQUxZVElDU19TRVRUSU5HU19UT0tFTlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhdGggL2hvbWVcbiAgICAgKiBAcGFyYW0gdGl0bGUgSG9tZXBhZ2VcbiAgICAgKiBAcGFyYW0gbG9jYXRpb24gJ3sgcGFnZV9sb2NhdGlvbiB9J1xuICAgICAqIEBwYXJhbSBvcHRpb25zICd7IC4uLiBjdXN0b20gZGltZW50aW9ucyB9J1xuICAgICAqL1xuICAgIHBhZ2VWaWV3KHBhdGg/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCBsb2NhdGlvbj86IHN0cmluZywgb3B0aW9ucz86IE9iamVjdCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHdpbmRvd1snZ3RhZyddKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0ge307XG4gICAgICAgICAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydwYWdlX3BhdGgnXSA9IHBhdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ3BhZ2VfdGl0bGUnXSA9IHRpdGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobG9jYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydwYWdlX2xvY2F0aW9uJ10gPSBsb2NhdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihvcHQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmd0YWcoJ2NvbmZpZycsIHRoaXMuX3RyYWNraW5nSWQudHJhY2tpbmdDb2RlLCBvcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy50aHJvdyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kIGFuIGV2ZW50byB0byByZXBvcnQgYSBBcHAgUGFnZSBWaWV3LiBJdCBpcyB0aGUgc2FtZSBhc1xuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBndGFnKCdldmVudCcsICdzY3JlZW5fdmlldycsIHtcbiAgICAgKiAgICdhcHBfbmFtZSc6ICdteUFwcE5hbWUnLFxuICAgICAqICAgJ3NjcmVlbl9uYW1lJyA6ICdIb21lJ1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2NyZWVuICdzY3JlZW5fbmFtZSdcbiAgICAgKiBAcGFyYW0gbmFtZSAnYXBwX25hbWUnXG4gICAgICogQHBhcmFtIGFwcElkICdhcHBfaWQnXG4gICAgICogQHBhcmFtIGFwcFZlcnNpb24gJ2FwcF92ZXJzaW9uJ1xuICAgICAqIEBwYXJhbSBpbnN0YWxsZXJJZCAnYXBwX2luc3RhbGxlcl9pZCdcbiAgICAgKi9cbiAgICBhcHBWaWV3KHNjcmVlbjogc3RyaW5nLCBhcHBOYW1lOiBzdHJpbmcsIGFwcElkPzogc3RyaW5nLCBhcHBWZXJzaW9uPzogc3RyaW5nLCBpbnN0YWxsZXJJZD86IHN0cmluZykge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHdpbmRvd1snZ3RhZyddKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0ge307XG4gICAgICAgICAgICAgICAgaWYgKHNjcmVlbikge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ3NjcmVlbl9uYW1lJ10gPSBzY3JlZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcHBOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnYXBwX25hbWUnXSA9IGFwcE5hbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcHBJZCkge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ2FwcF9pZCddID0gYXBwSWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcHBWZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnYXBwX3ZlcnNpb24nXSA9IGFwcFZlcnNpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpbnN0YWxsZXJJZCkge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ2FwcF9pbnN0YWxsZXJfaWQnXSA9IGluc3RhbGxlcklkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmd0YWcoJ2V2ZW50JywgJ3NjcmVlbl92aWV3Jywgb3B0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMudGhyb3coZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VuZCBhbiBldmVudCB0byBHQSB0byByZXBvcnQgYW4gYXBwbGljYXRpb24gZXJyb3IuIEl0IGlzIHRoZSBzYW1lIGFzXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGd0YWcoJ2V2ZW50JywgJ2V4Y2VwdGlvbicsIHtcbiAgICAgKiAgICdkZXNjcmlwdGlvbic6ICdlcnJvcl9kZXNjcmlwdGlvbicsXG4gICAgICogICAnZmF0YWwnOiBmYWxzZSAgIC8vIHNldCB0byB0cnVlIGlmIHRoZSBlcnJvciBpcyBmYXRhbFxuICAgICAqIH0pO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQHBhcmFtIGRlc2NyaXB0aW9uICdlcnJvcl9kZXNjcmlwdGlvbidcbiAgICAgKiBAcGFyYW0gZmF0YWwgc2V0IHRvIHRydWUgaWYgdGhlIGVycm9yIGlzIGZhdGFsXG4gICAgICovXG4gICAgZXhjZXB0aW9uKGRlc2NyaXB0aW9uPzogc3RyaW5nLCBmYXRhbD86IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh3aW5kb3dbJ2d0YWcnXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IHt9O1xuICAgICAgICAgICAgICAgIGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ2Rlc2NyaXB0aW9uJ10gPSBkZXNjcmlwdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGZhdGFsKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnZmF0YWwnXSA9IGZhdGFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmd0YWcoJ2V2ZW50JywgJ2V4Y2VwdGlvbicsIG9wdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnRocm93KGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -20,4 +20,4 @@ export var SkCouponTrigger;
|
|
|
20
20
|
SkCouponTrigger["SubCategory"] = "SUBCATEGORY";
|
|
21
21
|
SkCouponTrigger["Product"] = "PRODUCT";
|
|
22
22
|
})(SkCouponTrigger || (SkCouponTrigger = {}));
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL21vZGVsL3NyYy9saWIvY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDcEIsNkJBQWEsQ0FBQTtJQUNiLGlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7SUFDdEIsNkJBQVcsQ0FBQTtJQUNYLGlDQUFlLENBQUE7SUFDZix1Q0FBcUIsQ0FBQTtJQUNyQiw2Q0FBMkIsQ0FBQTtJQUMzQixxQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsY0FBYyxLQUFkLGNBQWMsUUFNekI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQU9YO0FBUEQsV0FBWSxlQUFlO0lBQ3ZCLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLHdDQUFxQixDQUFBO0lBQ3JCLDhDQUEyQixDQUFBO0lBQzNCLHNDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFQVyxlQUFlLEtBQWYsZUFBZSxRQU8xQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBdWRpdCB9IGZyb20gJy4vYXVkaXQnO1xuaW1wb3J0IHsgSVNrSWRUaXRsZVZhbHVlLCBTa0JyYW5kLCBTa0NhdGVnb3J5LCBTa1N1YkNhdGVnb3J5SXRlbSwgU2tWYWx1ZVR5cGUgfSBmcm9tICcuL2V0Yyc7XG5pbXBvcnQgeyBJU2tPcmRlckxpc3QgfSBmcm9tICcuL29yZGVyJztcbmltcG9ydCB7IFNrUHJvZHVjdExpc3RJdGVtIH0gZnJvbSAnLi9wcm9kdWN0JztcbmltcG9ydCB7IElTa1VzZXIgfSBmcm9tICcuL3VzZXInO1xuXG5leHBvcnQgZW51bSBTa0NvdXBvblR5cGUge1xuICAgIENvZGUgPSAnQ09ERScsXG4gICAgSW5qZWN0ID0gJ0lOSkVDVCdcbn1cblxuZXhwb3J0IGVudW0gU2tDb3Vwb25UYXJnZXQge1xuICAgIEFsbCA9ICdBTEwnLFxuICAgIEJyYW5kID0gJ0JSQU5EJyxcbiAgICBDYXRlZ29yeSA9ICdDQVRFR09SWScsXG4gICAgU3ViQ2F0ZWdvcnkgPSAnU1VCQ0FURUdPUlknLFxuICAgIFByb2R1Y3QgPSAnUFJPRFVDVCdcbn1cblxuZXhwb3J0IGVudW0gU2tDb3Vwb25UcmlnZ2VyIHtcbiAgICBOb25lID0gJ05PTkUnLFxuICAgIEFsbCA9ICdBTEwnLFxuICAgIEJyYW5kID0gJ0JSQU5EJyxcbiAgICBDYXRlZ29yeSA9ICdDQVRFR09SWScsXG4gICAgU3ViQ2F0ZWdvcnkgPSAnU1VCQ0FURUdPUlknLFxuICAgIFByb2R1Y3QgPSAnUFJPRFVDVCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tDb3Vwb25Db3VudCB7XG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgdHJhc2g/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrQ291cG9uTGlzdEl0ZW0gZXh0ZW5kcyBJQXVkaXQge1xuICAgIGlkPzogbnVtYmVyO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHR5cGU/OiBTa0NvdXBvblR5cGU7XG4gICAgc3RhcnREYXRlPzogc3RyaW5nO1xuICAgIGVuZERhdGU/OiBzdHJpbmc7XG4gICAgZm9yZXZlcj86IGJvb2xlYW47XG4gICAgc2luZ2xlQ29kZT86IHN0cmluZztcbiAgICBhY3RpdmF0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa0NvdXBvbkRldGFpbCBleHRlbmRzIElTa0NvdXBvbkxpc3RJdGVtIHtcbiAgICB1c2FibGVXaXRoT3RoZXJzPzogYm9vbGVhbjsgICAgICAgICAgIC8vIOuLpOuluCDsv6Dtj7Dqs7wg7ZWo6ruYIOyCrOyaqSDqsIDriqXtlZzsp4Ag7Jes67aAXG4gICAgZHVwbGljYXRhYmxlPzogYm9vbGVhbjsgICAgICAgICAgIC8vIOykkeuzteycvOuhnCDsgqzsmqkg6rCA64ql7ZWc7KeAIOyXrOu2gFxuICAgIGFub255bW91cz86IGJvb2xlYW47ICAgICAgICAgICAgICAvLyDruYTroZzqt7jsnbgg7Jyg7KCA64+EIOyCrOyaqSDqsIDriqUg7Jes67aAXG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgdXNlZD86IG51bWJlcjtcbiAgICBjb3Vwb25UYXJnZXQ/OiBTa0NvdXBvblRhcmdldDtcbiAgICBjb3Vwb25UYXJnZXRCcmFuZHM/OiBTa0JyYW5kW107XG4gICAgY291cG9uVGFyZ2V0Q2F0ZWdvcmllcz86IFNrQ2F0ZWdvcnlbXTtcbiAgICBjb3Vwb25UYXJnZXRTdWJDYXRlZ29yaWVzPzogU2tTdWJDYXRlZ29yeUl0ZW1bXTtcbiAgICBjb3Vwb25UYXJnZXRQcm9kdWN0cz86IFNrUHJvZHVjdExpc3RJdGVtW107XG4gICAgY291cG9uVHJpZ2dlcj86IFNrQ291cG9uVHJpZ2dlcjtcbiAgICBjb3Vwb25UcmlnZ2VyQW1vdW50PzogbnVtYmVyO1xuICAgIGNvdXBvblRyaWdnZXJCcmFuZHM/OiBTa0JyYW5kW107XG4gICAgY291cG9uVHJpZ2dlckNhdGVnb3JpZXM/OiBTa0NhdGVnb3J5W107XG4gICAgY291cG9uVHJpZ2dlclN1YkNhdGVnb3JpZXM/OiBTa1N1YkNhdGVnb3J5SXRlbVtdO1xuICAgIGNvdXBvblRyaWdnZXJQcm9kdWN0cz86IFNrUHJvZHVjdExpc3RJdGVtW107XG4gICAgZGlzY291bnRBbW91bnQ/OiBudW1iZXI7XG4gICAgZGlzY291bnRUeXBlPzogU2tWYWx1ZVR5cGU7XG4gICAgbWluVXNhYmxlUHJpY2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrQ291cG9uVGlja2V0IHtcbiAgICBpZD86IG51bWJlcjtcbiAgICBjb2RlPzogc3RyaW5nO1xuICAgIGNvdXBvbj86IElTa0NvdXBvbkRldGFpbDtcbiAgICBvcmRlcj86IElTa09yZGVyTGlzdDtcbiAgICB1c2VyPzogSVNrVXNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tDb3Vwb25UcmlnZ2VyVXBkYXRlIHtcbiAgICBjb3Vwb25UcmlnZ2VyPzogU2tDb3Vwb25UcmlnZ2VyO1xuICAgIGNvdXBvblRyaWdnZXJBbW91bnQ/OiBudW1iZXI7XG4gICAgY291cG9uVHJpZ2dlckJyYW5kSWRzPzogbnVtYmVyW107XG4gICAgY291cG9uVHJpZ2dlckNhdGVnb3J5SWRzPzogbnVtYmVyW107XG4gICAgY291cG9uVHJpZ2dlclN1YkNhdGVnb3J5SWRzPzogbnVtYmVyW107XG4gICAgY291cG9uVHJpZ2dlclByb2R1Y3RJZHM/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tVc2VyQ291cG9uSW5mbyB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgY29kZT86IHN0cmluZztcblxuICAgIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgICBlbmREYXRlPzogc3RyaW5nO1xuICAgIGZvcmV2ZXI/OiBib29sZWFuO1xuXG4gICAgYWN0aXZhdGVkPzogYm9vbGVhbjtcbiAgICB1c2FibGVXaXRoT3RoZXJzPzogYm9vbGVhbjtcblxuICAgIGNvdXBvblRhcmdldD86IFNrQ291cG9uVGFyZ2V0O1xuICAgIGNvdXBvblRhcmdldEJyYW5kcz86IElTa0lkVGl0bGVWYWx1ZVtdO1xuICAgIGNvdXBvblRhcmdldENhdGVnb3JpZXM/OiBJU2tJZFRpdGxlVmFsdWVbXTtcbiAgICBjb3Vwb25UYXJnZXRTdWJDYXRlZ29yaWVzPzogSVNrSWRUaXRsZVZhbHVlW107XG4gICAgY291cG9uVGFyZ2V0UHJvZHVjdHM/OiBJU2tJZFRpdGxlVmFsdWVbXTtcblxuICAgIGRpc2NvdW50QW1vdW50PzogbnVtYmVyO1xuICAgIGRpc2NvdW50VHlwZT86IFNrVmFsdWVUeXBlO1xuICAgIG1pblVzYWJsZVByaWNlPzogbnVtYmVyO1xuXG4gICAgb3JkZXJJZD86IHN0cmluZztcbiAgICBwYWlkRGF0ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tVc2VyQ291cG9uSW5mbyB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgY29kZT86IHN0cmluZztcblxuICAgIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgICBlbmREYXRlPzogc3RyaW5nO1xuICAgIGZvcmV2ZXI/OiBib29sZWFuO1xuXG4gICAgYWN0aXZhdGVkPzogYm9vbGVhbjtcbiAgICB1c2FibGVXaXRoT3RoZXJzPzogYm9vbGVhbjtcblxuICAgIGNvdXBvblRhcmdldD86IFNrQ291cG9uVGFyZ2V0O1xuICAgIGNvdXBvblRhcmdldEJyYW5kcz86IElTa0lkVGl0bGVWYWx1ZVtdO1xuICAgIGNvdXBvblRhcmdldENhdGVnb3JpZXM/OiBJU2tJZFRpdGxlVmFsdWVbXTtcbiAgICBjb3Vwb25UYXJnZXRTdWJDYXRlZ29yaWVzPzogSVNrSWRUaXRsZVZhbHVlW107XG4gICAgY291cG9uVGFyZ2V0UHJvZHVjdHM/OiBJU2tJZFRpdGxlVmFsdWVbXTtcblxuICAgIGRpc2NvdW50QW1vdW50PzogbnVtYmVyO1xuICAgIGRpc2NvdW50VHlwZT86IFNrVmFsdWVUeXBlO1xuICAgIG1pblVzYWJsZVByaWNlPzogbnVtYmVyO1xuXG4gICAgb3JkZXJJZD86IHN0cmluZztcbiAgICBwYWlkRGF0ZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL21vZGVsL3NyYy9saWIvY291cG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDcEIsNkJBQWEsQ0FBQTtJQUNiLGlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7SUFDdEIsNkJBQVcsQ0FBQTtJQUNYLGlDQUFlLENBQUE7SUFDZix1Q0FBcUIsQ0FBQTtJQUNyQiw2Q0FBMkIsQ0FBQTtJQUMzQixxQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsY0FBYyxLQUFkLGNBQWMsUUFNekI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQU9YO0FBUEQsV0FBWSxlQUFlO0lBQ3ZCLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsa0NBQWUsQ0FBQTtJQUNmLHdDQUFxQixDQUFBO0lBQ3JCLDhDQUEyQixDQUFBO0lBQzNCLHNDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFQVyxlQUFlLEtBQWYsZUFBZSxRQU8xQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBdWRpdCB9IGZyb20gJy4vYXVkaXQnO1xuaW1wb3J0IHsgSVNrSWRUaXRsZVZhbHVlLCBTa0JyYW5kLCBTa0NhdGVnb3J5LCBTa1N1YkNhdGVnb3J5SXRlbSwgU2tWYWx1ZVR5cGUgfSBmcm9tICcuL2V0Yyc7XG5pbXBvcnQgeyBJU2tPcmRlckxpc3QgfSBmcm9tICcuL29yZGVyJztcbmltcG9ydCB7IFNrUHJvZHVjdExpc3RJdGVtIH0gZnJvbSAnLi9wcm9kdWN0JztcbmltcG9ydCB7IElTa1VzZXIgfSBmcm9tICcuL3VzZXInO1xuXG5leHBvcnQgZW51bSBTa0NvdXBvblR5cGUge1xuICAgIENvZGUgPSAnQ09ERScsXG4gICAgSW5qZWN0ID0gJ0lOSkVDVCdcbn1cblxuZXhwb3J0IGVudW0gU2tDb3Vwb25UYXJnZXQge1xuICAgIEFsbCA9ICdBTEwnLFxuICAgIEJyYW5kID0gJ0JSQU5EJyxcbiAgICBDYXRlZ29yeSA9ICdDQVRFR09SWScsXG4gICAgU3ViQ2F0ZWdvcnkgPSAnU1VCQ0FURUdPUlknLFxuICAgIFByb2R1Y3QgPSAnUFJPRFVDVCdcbn1cblxuZXhwb3J0IGVudW0gU2tDb3Vwb25UcmlnZ2VyIHtcbiAgICBOb25lID0gJ05PTkUnLFxuICAgIEFsbCA9ICdBTEwnLFxuICAgIEJyYW5kID0gJ0JSQU5EJyxcbiAgICBDYXRlZ29yeSA9ICdDQVRFR09SWScsXG4gICAgU3ViQ2F0ZWdvcnkgPSAnU1VCQ0FURUdPUlknLFxuICAgIFByb2R1Y3QgPSAnUFJPRFVDVCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tDb3Vwb25Db3VudCB7XG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgdHJhc2g/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrQ291cG9uTGlzdEl0ZW0gZXh0ZW5kcyBJQXVkaXQge1xuICAgIGlkPzogbnVtYmVyO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHR5cGU/OiBTa0NvdXBvblR5cGU7XG4gICAgc3RhcnREYXRlPzogc3RyaW5nO1xuICAgIGVuZERhdGU/OiBzdHJpbmc7XG4gICAgZXhwaXJlU3RhcnREYXRlPzogc3RyaW5nO1xuICAgIGV4cGlyZUVuZERhdGU/OiBzdHJpbmc7XG4gICAgZm9yZXZlcj86IGJvb2xlYW47XG4gICAgc2luZ2xlQ29kZT86IHN0cmluZztcbiAgICBhY3RpdmF0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa0NvdXBvbkRldGFpbCBleHRlbmRzIElTa0NvdXBvbkxpc3RJdGVtIHtcbiAgICB1c2FibGVXaXRoT3RoZXJzPzogYm9vbGVhbjsgICAgICAgICAgIC8vIOuLpOuluCDsv6Dtj7Dqs7wg7ZWo6ruYIOyCrOyaqSDqsIDriqXtlZzsp4Ag7Jes67aAXG4gICAgZHVwbGljYXRhYmxlPzogYm9vbGVhbjsgICAgICAgICAgIC8vIOykkeuzteycvOuhnCDsgqzsmqkg6rCA64ql7ZWc7KeAIOyXrOu2gFxuICAgIGFub255bW91cz86IGJvb2xlYW47ICAgICAgICAgICAgICAvLyDruYTroZzqt7jsnbgg7Jyg7KCA64+EIOyCrOyaqSDqsIDriqUg7Jes67aAXG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgdXNlZD86IG51bWJlcjtcbiAgICBjb3Vwb25UYXJnZXQ/OiBTa0NvdXBvblRhcmdldDtcbiAgICBjb3Vwb25UYXJnZXRCcmFuZHM/OiBTa0JyYW5kW107XG4gICAgY291cG9uVGFyZ2V0Q2F0ZWdvcmllcz86IFNrQ2F0ZWdvcnlbXTtcbiAgICBjb3Vwb25UYXJnZXRTdWJDYXRlZ29yaWVzPzogU2tTdWJDYXRlZ29yeUl0ZW1bXTtcbiAgICBjb3Vwb25UYXJnZXRQcm9kdWN0cz86IFNrUHJvZHVjdExpc3RJdGVtW107XG4gICAgY291cG9uVHJpZ2dlcj86IFNrQ291cG9uVHJpZ2dlcjtcbiAgICBjb3Vwb25UcmlnZ2VyQW1vdW50PzogbnVtYmVyO1xuICAgIGNvdXBvblRyaWdnZXJCcmFuZHM/OiBTa0JyYW5kW107XG4gICAgY291cG9uVHJpZ2dlckNhdGVnb3JpZXM/OiBTa0NhdGVnb3J5W107XG4gICAgY291cG9uVHJpZ2dlclN1YkNhdGVnb3JpZXM/OiBTa1N1YkNhdGVnb3J5SXRlbVtdO1xuICAgIGNvdXBvblRyaWdnZXJQcm9kdWN0cz86IFNrUHJvZHVjdExpc3RJdGVtW107XG4gICAgZGlzY291bnRBbW91bnQ/OiBudW1iZXI7XG4gICAgZGlzY291bnRUeXBlPzogU2tWYWx1ZVR5cGU7XG4gICAgbWluVXNhYmxlUHJpY2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrQ291cG9uVGlja2V0IHtcbiAgICBpZD86IG51bWJlcjtcbiAgICBjb2RlPzogc3RyaW5nO1xuICAgIGNvdXBvbj86IElTa0NvdXBvbkRldGFpbDtcbiAgICBvcmRlcj86IElTa09yZGVyTGlzdDtcbiAgICB1c2VyPzogSVNrVXNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tDb3Vwb25UcmlnZ2VyVXBkYXRlIHtcbiAgICBjb3Vwb25UcmlnZ2VyPzogU2tDb3Vwb25UcmlnZ2VyO1xuICAgIGNvdXBvblRyaWdnZXJBbW91bnQ/OiBudW1iZXI7XG4gICAgY291cG9uVHJpZ2dlckJyYW5kSWRzPzogbnVtYmVyW107XG4gICAgY291cG9uVHJpZ2dlckNhdGVnb3J5SWRzPzogbnVtYmVyW107XG4gICAgY291cG9uVHJpZ2dlclN1YkNhdGVnb3J5SWRzPzogbnVtYmVyW107XG4gICAgY291cG9uVHJpZ2dlclByb2R1Y3RJZHM/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tVc2VyQ291cG9uSW5mbyB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgY29kZT86IHN0cmluZztcblxuICAgIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgICBlbmREYXRlPzogc3RyaW5nO1xuICAgIGZvcmV2ZXI/OiBib29sZWFuO1xuXG4gICAgYWN0aXZhdGVkPzogYm9vbGVhbjtcbiAgICB1c2FibGVXaXRoT3RoZXJzPzogYm9vbGVhbjtcblxuICAgIGNvdXBvblRhcmdldD86IFNrQ291cG9uVGFyZ2V0O1xuICAgIGNvdXBvblRhcmdldEJyYW5kcz86IElTa0lkVGl0bGVWYWx1ZVtdO1xuICAgIGNvdXBvblRhcmdldENhdGVnb3JpZXM/OiBJU2tJZFRpdGxlVmFsdWVbXTtcbiAgICBjb3Vwb25UYXJnZXRTdWJDYXRlZ29yaWVzPzogSVNrSWRUaXRsZVZhbHVlW107XG4gICAgY291cG9uVGFyZ2V0UHJvZHVjdHM/OiBJU2tJZFRpdGxlVmFsdWVbXTtcblxuICAgIGRpc2NvdW50QW1vdW50PzogbnVtYmVyO1xuICAgIGRpc2NvdW50VHlwZT86IFNrVmFsdWVUeXBlO1xuICAgIG1pblVzYWJsZVByaWNlPzogbnVtYmVyO1xuXG4gICAgb3JkZXJJZD86IHN0cmluZztcbiAgICBwYWlkRGF0ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tVc2VyQ291cG9uSW5mbyB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgY29kZT86IHN0cmluZztcblxuICAgIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgICBlbmREYXRlPzogc3RyaW5nO1xuICAgIGZvcmV2ZXI/OiBib29sZWFuO1xuXG4gICAgYWN0aXZhdGVkPzogYm9vbGVhbjtcbiAgICB1c2FibGVXaXRoT3RoZXJzPzogYm9vbGVhbjtcblxuICAgIGNvdXBvblRhcmdldD86IFNrQ291cG9uVGFyZ2V0O1xuICAgIGNvdXBvblRhcmdldEJyYW5kcz86IElTa0lkVGl0bGVWYWx1ZVtdO1xuICAgIGNvdXBvblRhcmdldENhdGVnb3JpZXM/OiBJU2tJZFRpdGxlVmFsdWVbXTtcbiAgICBjb3Vwb25UYXJnZXRTdWJDYXRlZ29yaWVzPzogSVNrSWRUaXRsZVZhbHVlW107XG4gICAgY291cG9uVGFyZ2V0UHJvZHVjdHM/OiBJU2tJZFRpdGxlVmFsdWVbXTtcblxuICAgIGRpc2NvdW50QW1vdW50PzogbnVtYmVyO1xuICAgIGRpc2NvdW50VHlwZT86IFNrVmFsdWVUeXBlO1xuICAgIG1pblVzYWJsZVByaWNlPzogbnVtYmVyO1xuXG4gICAgb3JkZXJJZD86IHN0cmluZztcbiAgICBwYWlkRGF0ZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -51,8 +51,9 @@ function GoogleAnalyticsInitializer(_settings, platform) {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
class SkGoogleAnalyticsService {
|
|
54
|
-
constructor(_trackingId) {
|
|
54
|
+
constructor(_trackingId, platformId) {
|
|
55
55
|
this._trackingId = _trackingId;
|
|
56
|
+
this.platformId = platformId;
|
|
56
57
|
}
|
|
57
58
|
throw(err) {
|
|
58
59
|
if (console && console.error) {
|
|
@@ -67,6 +68,9 @@ class SkGoogleAnalyticsService {
|
|
|
67
68
|
* @param options Command configuration
|
|
68
69
|
*/
|
|
69
70
|
gtag(action, command, ...options) {
|
|
71
|
+
if (isPlatformServer(this.platformId)) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
70
74
|
try {
|
|
71
75
|
window['gtag'](action, command, ...options);
|
|
72
76
|
}
|
|
@@ -89,6 +93,9 @@ class SkGoogleAnalyticsService {
|
|
|
89
93
|
* @param value An value to measure something
|
|
90
94
|
*/
|
|
91
95
|
event(action, category, label, value, interaction) {
|
|
96
|
+
if (isPlatformServer(this.platformId)) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
92
99
|
try {
|
|
93
100
|
if (window['gtag']) {
|
|
94
101
|
const opt = {};
|
|
@@ -112,6 +119,9 @@ class SkGoogleAnalyticsService {
|
|
|
112
119
|
}
|
|
113
120
|
}
|
|
114
121
|
purchase(data) {
|
|
122
|
+
if (isPlatformServer(this.platformId)) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
115
125
|
try {
|
|
116
126
|
if (window['gtag']) {
|
|
117
127
|
this.gtag('event', 'purchase', data);
|
|
@@ -139,6 +149,9 @@ class SkGoogleAnalyticsService {
|
|
|
139
149
|
* @param options '{ ... custom dimentions }'
|
|
140
150
|
*/
|
|
141
151
|
pageView(path, title, location, options) {
|
|
152
|
+
if (isPlatformServer(this.platformId)) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
142
155
|
try {
|
|
143
156
|
if (window['gtag']) {
|
|
144
157
|
const opt = {};
|
|
@@ -179,6 +192,9 @@ class SkGoogleAnalyticsService {
|
|
|
179
192
|
* @param installerId 'app_installer_id'
|
|
180
193
|
*/
|
|
181
194
|
appView(screen, appName, appId, appVersion, installerId) {
|
|
195
|
+
if (isPlatformServer(this.platformId)) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
182
198
|
try {
|
|
183
199
|
if (window['gtag']) {
|
|
184
200
|
const opt = {};
|
|
@@ -218,6 +234,9 @@ class SkGoogleAnalyticsService {
|
|
|
218
234
|
* @param fatal set to true if the error is fatal
|
|
219
235
|
*/
|
|
220
236
|
exception(description, fatal) {
|
|
237
|
+
if (isPlatformServer(this.platformId)) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
221
240
|
try {
|
|
222
241
|
if (window['gtag']) {
|
|
223
242
|
const opt = {};
|
|
@@ -234,7 +253,7 @@ class SkGoogleAnalyticsService {
|
|
|
234
253
|
this.throw(error);
|
|
235
254
|
}
|
|
236
255
|
}
|
|
237
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, deps: [{ token: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
256
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, deps: [{ token: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
238
257
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, providedIn: 'root' }); }
|
|
239
258
|
}
|
|
240
259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, decorators: [{
|
|
@@ -245,6 +264,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
245
264
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
246
265
|
type: Inject,
|
|
247
266
|
args: [SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN]
|
|
267
|
+
}] }, { type: Object, decorators: [{
|
|
268
|
+
type: Inject,
|
|
269
|
+
args: [PLATFORM_ID]
|
|
248
270
|
}] }]; } });
|
|
249
271
|
|
|
250
272
|
const SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sk-front-lib-google-analytics.mjs","sources":["../../../projects/sk-front-lib/google-analytics/src/tokens/google-analytics-settings-token.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/services/google-analytics.service.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics-router.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics.module.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics-router.module.ts","../../../projects/sk-front-lib/google-analytics/src/sk-front-lib-google-analytics.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\n\nexport const SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN = new InjectionToken<ISkGoogleAnalyticsSettings>('sk-google-analytics-setting', {\n factory: () => ({ trackingCode: '' })\n});\n","import {APP_INITIALIZER, Inject, isDevMode, PLATFORM_ID, Provider} from \"@angular/core\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsCommand} from \"../interfaces/google-analytics-command\";\nimport {isPlatformServer} from \"@angular/common\";\n\nexport const SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER: Provider = {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: GoogleAnalyticsInitializer,\n deps: [\n SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n PLATFORM_ID\n ]\n};\n\nexport function GoogleAnalyticsInitializer(_settings: ISkGoogleAnalyticsSettings,\n platform: Object) {\n return async () => {\n if (!_settings.trackingCode) {\n if (!isDevMode()) {\n console.error('Empty tracking code for Google Analytics. Make sure to provide one when initializing SkGoogleAnalyticsModule.');\n }\n\n return;\n }\n\n if (isPlatformServer(platform)) {\n return;\n }\n\n // Set default ga.js uri\n _settings.uri = _settings.uri || `https://www.googletagmanager.com/gtag/js?id=${_settings.trackingCode}`;\n\n // these commands should run first!\n const initialCommands: Array<ISkGoogleAnalyticsCommand> = [\n {command: 'js', values: [new Date()]},\n {command: 'config', values: [_settings.trackingCode]}\n ];\n\n _settings.initCommands = [...initialCommands, ...(_settings.initCommands || [])];\n\n window['dataLayer'] = window['dataLayer'] || [];\n window['gtag'] = window['gtag'] || function () {\n window['dataLayer'].push(arguments);\n };\n\n for (const command of _settings.initCommands) {\n window['gtag'](command.command, ...command.values);\n }\n\n const s: HTMLScriptElement = document.createElement('script');\n s.async = true;\n s.src = _settings.uri;\n\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n head.appendChild(s);\n };\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {GaAction} from \"../types/ga-action.type\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkGoogleAnalyticsService {\n\n constructor(@Inject(SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN) protected _trackingId: ISkGoogleAnalyticsSettings) {\n }\n\n protected throw(err: Error) {\n if (console && console.error) {\n console.error(err);\n }\n }\n\n /**\n * Call native GA Tag\n *\n * @param action config|event\n * @param command Action specialization\n * @param options Command configuration\n */\n gtag(action: string, command: string, ...options: Array<any>) {\n try {\n window['gtag'](action, command, ...options);\n } catch (err) {\n this.throw(err);\n }\n }\n\n /**\n * Send an event trigger to GA. It is the same as call:\n * ```js\n * gtag('event', 'video_auto_play_start', {\n * 'event_label': 'My promotional video',\n * 'event_category': 'video_auto_play'\n * });\n * ```\n *\n * @param action 'video_auto_play_start'\n * @param category 'video_auto_play'\n * @param label 'My promotional video'\n * @param value An value to measure something\n */\n event(action: GaAction | string, category?: string, label?: string, value?: number, interaction?: boolean) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (category) {\n opt['event_category'] = category;\n }\n if (label) {\n opt['event_label'] = label;\n }\n if (value) {\n opt['value'] = value;\n }\n if (interaction !== undefined) {\n opt['interaction'] = interaction;\n }\n this.gtag('event', action as string, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n purchase(data) {\n try {\n if (window['gtag']) {\n this.gtag('event', 'purchase', data);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an page view event. This is the same as\n *\n * ```js\n * gtag('config', 'GA_TRACKING_ID', {\n * 'page_title' : 'Homepage',\n * 'page_path': '/home'\n * });\n * ```\n *\n * The tracking ID is injected automatically by Inject Token NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN\n *\n * @param path /home\n * @param title Homepage\n * @param location '{ page_location }'\n * @param options '{ ... custom dimentions }'\n */\n pageView(path?: string, title?: string, location?: string, options?: Object) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (path) {\n opt['page_path'] = path;\n }\n if (title) {\n opt['page_title'] = title;\n }\n if (location) {\n opt['page_location'] = location;\n }\n if (options) {\n Object.assign(opt, options);\n }\n this.gtag('config', this._trackingId.trackingCode, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an evento to report a App Page View. It is the same as\n *\n * ```js\n * gtag('event', 'screen_view', {\n * 'app_name': 'myAppName',\n * 'screen_name' : 'Home'\n * });\n *\n * ```\n *\n * @param screen 'screen_name'\n * @param name 'app_name'\n * @param appId 'app_id'\n * @param appVersion 'app_version'\n * @param installerId 'app_installer_id'\n */\n appView(screen: string, appName: string, appId?: string, appVersion?: string, installerId?: string) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (screen) {\n opt['screen_name'] = screen;\n }\n if (appName) {\n opt['app_name'] = appName;\n }\n if (appId) {\n opt['app_id'] = appId;\n }\n if (appVersion) {\n opt['app_version'] = appVersion;\n }\n if (installerId) {\n opt['app_installer_id'] = installerId;\n }\n this.gtag('event', 'screen_view', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an event to GA to report an application error. It is the same as\n *\n * ```js\n * gtag('event', 'exception', {\n * 'description': 'error_description',\n * 'fatal': false // set to true if the error is fatal\n * });\n * ```\n *\n * @param description 'error_description'\n * @param fatal set to true if the error is fatal\n */\n exception(description?: string, fatal?: boolean) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (description) {\n opt['description'] = description;\n }\n if (fatal) {\n opt['fatal'] = fatal;\n }\n this.gtag('event', 'exception', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n}\n","import {APP_BOOTSTRAP_LISTENER, ComponentRef, Provider} from \"@angular/core\";\nimport {NavigationEnd, Router} from \"@angular/router\";\nimport {SkGoogleAnalyticsService} from \"../services/google-analytics.service\";\n\nexport const SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER: Provider = {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n useFactory: GoogleAnalyticsRouterInitializer,\n deps: [\n SkGoogleAnalyticsService,\n Router\n ]\n};\n\nexport function GoogleAnalyticsRouterInitializer(\n _googleAnalyticsService: SkGoogleAnalyticsService,\n _router: Router\n) {\n return async (c: ComponentRef<any>) => {\n _router\n .events\n .subscribe(event => {\n if (event instanceof NavigationEnd) {\n _googleAnalyticsService.pageView(event.urlAfterRedirects, undefined, document.location.href);\n }\n });\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN } from './tokens/google-analytics-settings-token';\nimport { ISkGoogleAnalyticsCommand } from './interfaces/google-analytics-command';\nimport { SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER } from './initializers/google-analytics.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [],\n exports: []\n})\nexport class SkGoogleAnalyticsModule {\n static forRoot(trackingCode: string, commands: ISkGoogleAnalyticsCommand[] = [], uri?: string): ModuleWithProviders<SkGoogleAnalyticsModule> {\n return {\n ngModule: SkGoogleAnalyticsModule,\n providers: [\n {\n provide: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n useValue: {\n trackingCode,\n commands,\n uri\n }\n },\n SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER,\n ]\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkGoogleAnalyticsModule } from './google-analytics.module';\nimport { SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER } from './initializers/google-analytics-router.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n SkGoogleAnalyticsModule\n ],\n providers: [\n SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER\n ],\n declarations: []\n})\nexport class SkGoogleAnalyticsRouterModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sk-front-lib-google-analytics.mjs","sources":["../../../projects/sk-front-lib/google-analytics/src/tokens/google-analytics-settings-token.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/services/google-analytics.service.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics-router.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics.module.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics-router.module.ts","../../../projects/sk-front-lib/google-analytics/src/sk-front-lib-google-analytics.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\n\nexport const SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN = new InjectionToken<ISkGoogleAnalyticsSettings>('sk-google-analytics-setting', {\n factory: () => ({ trackingCode: '' })\n});\n","import {APP_INITIALIZER, Inject, isDevMode, PLATFORM_ID, Provider} from \"@angular/core\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsCommand} from \"../interfaces/google-analytics-command\";\nimport {isPlatformServer} from \"@angular/common\";\n\nexport const SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER: Provider = {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: GoogleAnalyticsInitializer,\n deps: [\n SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n PLATFORM_ID\n ]\n};\n\nexport function GoogleAnalyticsInitializer(_settings: ISkGoogleAnalyticsSettings,\n platform: Object) {\n return async () => {\n if (!_settings.trackingCode) {\n if (!isDevMode()) {\n console.error('Empty tracking code for Google Analytics. Make sure to provide one when initializing SkGoogleAnalyticsModule.');\n }\n\n return;\n }\n\n if (isPlatformServer(platform)) {\n return;\n }\n\n // Set default ga.js uri\n _settings.uri = _settings.uri || `https://www.googletagmanager.com/gtag/js?id=${_settings.trackingCode}`;\n\n // these commands should run first!\n const initialCommands: Array<ISkGoogleAnalyticsCommand> = [\n {command: 'js', values: [new Date()]},\n {command: 'config', values: [_settings.trackingCode]}\n ];\n\n _settings.initCommands = [...initialCommands, ...(_settings.initCommands || [])];\n\n window['dataLayer'] = window['dataLayer'] || [];\n window['gtag'] = window['gtag'] || function () {\n window['dataLayer'].push(arguments);\n };\n\n for (const command of _settings.initCommands) {\n window['gtag'](command.command, ...command.values);\n }\n\n const s: HTMLScriptElement = document.createElement('script');\n s.async = true;\n s.src = _settings.uri;\n\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n head.appendChild(s);\n };\n}\n","import {Injectable, Inject, PLATFORM_ID} from '@angular/core';\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {GaAction} from \"../types/ga-action.type\";\nimport {isPlatformServer} from \"@angular/common\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkGoogleAnalyticsService {\n\n constructor(@Inject(SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN) protected _trackingId: ISkGoogleAnalyticsSettings,\n @Inject(PLATFORM_ID) private platformId: Object) {\n }\n\n protected throw(err: Error) {\n if (console && console.error) {\n console.error(err);\n }\n }\n\n /**\n * Call native GA Tag\n *\n * @param action config|event\n * @param command Action specialization\n * @param options Command configuration\n */\n gtag(action: string, command: string, ...options: Array<any>) {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n try {\n window['gtag'](action, command, ...options);\n } catch (err) {\n this.throw(err);\n }\n }\n\n /**\n * Send an event trigger to GA. It is the same as call:\n * ```js\n * gtag('event', 'video_auto_play_start', {\n * 'event_label': 'My promotional video',\n * 'event_category': 'video_auto_play'\n * });\n * ```\n *\n * @param action 'video_auto_play_start'\n * @param category 'video_auto_play'\n * @param label 'My promotional video'\n * @param value An value to measure something\n */\n event(action: GaAction | string, category?: string, label?: string, value?: number, interaction?: boolean) {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n try {\n if (window['gtag']) {\n const opt = {};\n if (category) {\n opt['event_category'] = category;\n }\n if (label) {\n opt['event_label'] = label;\n }\n if (value) {\n opt['value'] = value;\n }\n if (interaction !== undefined) {\n opt['interaction'] = interaction;\n }\n this.gtag('event', action as string, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n purchase(data) {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n try {\n if (window['gtag']) {\n this.gtag('event', 'purchase', data);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an page view event. This is the same as\n *\n * ```js\n * gtag('config', 'GA_TRACKING_ID', {\n * 'page_title' : 'Homepage',\n * 'page_path': '/home'\n * });\n * ```\n *\n * The tracking ID is injected automatically by Inject Token NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN\n *\n * @param path /home\n * @param title Homepage\n * @param location '{ page_location }'\n * @param options '{ ... custom dimentions }'\n */\n pageView(path?: string, title?: string, location?: string, options?: Object) {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n try {\n if (window['gtag']) {\n const opt = {};\n if (path) {\n opt['page_path'] = path;\n }\n if (title) {\n opt['page_title'] = title;\n }\n if (location) {\n opt['page_location'] = location;\n }\n if (options) {\n Object.assign(opt, options);\n }\n this.gtag('config', this._trackingId.trackingCode, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an evento to report a App Page View. It is the same as\n *\n * ```js\n * gtag('event', 'screen_view', {\n * 'app_name': 'myAppName',\n * 'screen_name' : 'Home'\n * });\n *\n * ```\n *\n * @param screen 'screen_name'\n * @param name 'app_name'\n * @param appId 'app_id'\n * @param appVersion 'app_version'\n * @param installerId 'app_installer_id'\n */\n appView(screen: string, appName: string, appId?: string, appVersion?: string, installerId?: string) {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n try {\n if (window['gtag']) {\n const opt = {};\n if (screen) {\n opt['screen_name'] = screen;\n }\n if (appName) {\n opt['app_name'] = appName;\n }\n if (appId) {\n opt['app_id'] = appId;\n }\n if (appVersion) {\n opt['app_version'] = appVersion;\n }\n if (installerId) {\n opt['app_installer_id'] = installerId;\n }\n this.gtag('event', 'screen_view', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an event to GA to report an application error. It is the same as\n *\n * ```js\n * gtag('event', 'exception', {\n * 'description': 'error_description',\n * 'fatal': false // set to true if the error is fatal\n * });\n * ```\n *\n * @param description 'error_description'\n * @param fatal set to true if the error is fatal\n */\n exception(description?: string, fatal?: boolean) {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n try {\n if (window['gtag']) {\n const opt = {};\n if (description) {\n opt['description'] = description;\n }\n if (fatal) {\n opt['fatal'] = fatal;\n }\n this.gtag('event', 'exception', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n}\n","import {APP_BOOTSTRAP_LISTENER, ComponentRef, Provider} from \"@angular/core\";\nimport {NavigationEnd, Router} from \"@angular/router\";\nimport {SkGoogleAnalyticsService} from \"../services/google-analytics.service\";\n\nexport const SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER: Provider = {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n useFactory: GoogleAnalyticsRouterInitializer,\n deps: [\n SkGoogleAnalyticsService,\n Router\n ]\n};\n\nexport function GoogleAnalyticsRouterInitializer(\n _googleAnalyticsService: SkGoogleAnalyticsService,\n _router: Router\n) {\n return async (c: ComponentRef<any>) => {\n _router\n .events\n .subscribe(event => {\n if (event instanceof NavigationEnd) {\n _googleAnalyticsService.pageView(event.urlAfterRedirects, undefined, document.location.href);\n }\n });\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN } from './tokens/google-analytics-settings-token';\nimport { ISkGoogleAnalyticsCommand } from './interfaces/google-analytics-command';\nimport { SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER } from './initializers/google-analytics.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [],\n exports: []\n})\nexport class SkGoogleAnalyticsModule {\n static forRoot(trackingCode: string, commands: ISkGoogleAnalyticsCommand[] = [], uri?: string): ModuleWithProviders<SkGoogleAnalyticsModule> {\n return {\n ngModule: SkGoogleAnalyticsModule,\n providers: [\n {\n provide: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n useValue: {\n trackingCode,\n commands,\n uri\n }\n },\n SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER,\n ]\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkGoogleAnalyticsModule } from './google-analytics.module';\nimport { SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER } from './initializers/google-analytics-router.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n SkGoogleAnalyticsModule\n ],\n providers: [\n SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER\n ],\n declarations: []\n})\nexport class SkGoogleAnalyticsRouterModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sk-front-lib-model.mjs","sources":["../../../projects/sk-front-lib/model/src/lib/audit.ts","../../../projects/sk-front-lib/model/src/lib/user.ts","../../../projects/sk-front-lib/model/src/lib/file.ts","../../../projects/sk-front-lib/model/src/lib/filetype.ts","../../../projects/sk-front-lib/model/src/lib/article.ts","../../../projects/sk-front-lib/model/src/lib/board.ts","../../../projects/sk-front-lib/model/src/lib/product.ts","../../../projects/sk-front-lib/model/src/lib/document.ts","../../../projects/sk-front-lib/model/src/lib/cart.ts","../../../projects/sk-front-lib/model/src/lib/etc.ts","../../../projects/sk-front-lib/model/src/lib/promotion.ts","../../../projects/sk-front-lib/model/src/lib/order.ts","../../../projects/sk-front-lib/model/src/lib/payment.ts","../../../projects/sk-front-lib/model/src/lib/shipping.ts","../../../projects/sk-front-lib/model/src/lib/nicepay.ts","../../../projects/sk-front-lib/model/src/lib/point.ts","../../../projects/sk-front-lib/model/src/lib/coupon.ts","../../../projects/sk-front-lib/model/src/lib/comment.ts","../../../projects/sk-front-lib/model/src/lib/contact.ts","../../../projects/sk-front-lib/model/src/lib/grid.ts","../../../projects/sk-front-lib/model/src/sk-front-lib-model.ts"],"sourcesContent":["export interface IAudit {\n createdBy?: string;\n createdDate?: string;\n updatedBy?: string;\n updatedDate?: string;\n}\n\nexport class Audit {\n public createdBy: string;\n public createdDate: string;\n public updatedBy: string;\n public updatedDate: string;\n\n constructor(data: IAudit = {}) {\n if (data === null) {\n data = {};\n }\n\n this.createdBy = data.createdBy || '';\n this.createdDate = data.createdDate || '';\n this.updatedBy = data.updatedBy || '';\n this.updatedDate = data.updatedDate || '';\n }\n}\n","import {Audit, IAudit} from './audit';\n\nexport interface SkUserCount {\n total?: number;\n trash?: number;\n}\n\nexport enum SkUserRoleName {\n Admin = 'ROLE_ADMIN',\n Developer = 'ROLE_DEVELOPER',\n Manager = 'ROLE_MANAGER',\n User = 'ROLE_USER',\n Dealer = 'ROLE_DEALER',\n Leave = 'ROLE_LEAVE',\n Affiliate = 'ROLE_AFFILIATE'\n}\n\nexport interface ISkUserRole {\n name: SkUserRoleName;\n}\n\nexport interface ISkUser extends IAudit {\n id?: number;\n email?: string;\n nickname?: string;\n emailValid?: boolean;\n roles?: ISkUserRole[];\n}\n\nexport class SkUser extends Audit {\n id: number;\n email: string;\n nickname: string;\n emailValid: boolean;\n roles: ISkUserRole[];\n\n // transient values\n roleNames: SkUserRoleName[];\n\n constructor(data: ISkUser = {}) {\n super(data);\n\n this.id = data.id;\n this.email = data.email;\n this.nickname = data.nickname;\n this.emailValid = data.emailValid || false;\n this.roles = data.roles || [];\n\n // set transient values\n this.roleNames = this.roles.map(value => value.name);\n\n }\n\n hasRole(role: SkUserRoleName): boolean {\n return this.roleNames.indexOf(role) > -1;\n }\n\n hasRoleFromArray(roles: SkUserRoleName[] = []): boolean {\n if (!roles || roles.length === 0) { return false; }\n\n let result = false;\n roles.forEach(role => {\n result = result || this.hasRole(role);\n });\n\n return result;\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n\n isAnonymous(): boolean {\n return this.isEmpty();\n }\n\n isAdmin(): boolean {\n return this.hasRole(SkUserRoleName.Admin);\n }\n\n isDeveloper(): boolean {\n return this.hasRole(SkUserRoleName.Developer);\n }\n\n isManager(): boolean {\n return this.hasRole(SkUserRoleName.Manager);\n }\n\n isDealer(): boolean {\n return this.hasRole(SkUserRoleName.Dealer);\n }\n\n isUser(): boolean {\n return this.hasRole(SkUserRoleName.User);\n }\n\n isAdminAccessable(): boolean {\n return this.isAdmin() || this.isDeveloper() || this.isManager();\n }\n}\n\nexport interface SkUserSignup {\n email: string;\n password: string;\n passwordConfirm: string;\n nickname: string;\n}\n\nexport interface ISkAuthor {\n id?: number;\n nickname?: number;\n email?: number;\n}\n","import {Audit, IAudit} from './audit';\n\nexport interface ISkFile extends IAudit {\n id?: number;\n mime?: string;\n fileSize?: number;\n sourceFilename?: string;\n ext?: string;\n uploadedFilename?: string;\n uploadedPath?: string;\n isValid?: boolean;\n isPrivate?: boolean;\n}\n\nexport class SkFile extends Audit {\n id: number;\n mime: string;\n fileSize: number;\n sourceFilename: string;\n ext: string;\n uploadedFilename: string;\n uploadedPath: string;\n isValid: boolean;\n isPrivate: boolean;\n\n constructor(data: ISkFile = {}) {\n super(data);\n Object.assign(this, data);\n }\n}\n","import {SkFile} from './file';\n\nexport class FileType {\n /* MS office */\n public static mime_doc: string[] = [\n 'application/msword',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n 'application/vnd.ms-word.document.macroEnabled.12',\n 'application/vnd.ms-word.template.macroEnabled.12'\n ];\n public static mime_xsl: string[] = [\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n 'application/vnd.ms-excel.template.macroEnabled.12',\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'\n ];\n public static mime_ppt: string[] = [\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'\n ];\n\n /* PSD */\n public static mime_psd: string[] = [\n 'image/photoshop',\n 'image/x-photoshop',\n 'image/psd',\n 'application/photoshop',\n 'application/psd',\n 'zz-application/zz-winassoc-psd'\n ];\n\n /* Compressed files */\n public static mime_compress: string[] = [\n 'application/x-gtar',\n 'application/x-gcompress',\n 'application/compress',\n 'application/x-tar',\n 'application/x-rar-compressed',\n 'application/octet-stream',\n 'application/x-zip-compressed',\n 'application/zip-compressed',\n 'application/x-7z-compressed',\n 'application/gzip',\n 'application/x-bzip2'\n ];\n\n public static getMimeClass(file: SkFile | File): string {\n let mime = '';\n let name = '';\n if (file instanceof SkFile) {\n mime = (file as SkFile).mime;\n name = (file as SkFile).sourceFilename;\n }\n\n if (file instanceof File) {\n mime = (file as File).type;\n name = (file as File).name;\n }\n\n let mimeClass = 'application';\n if (this.mime_psd.indexOf(mime) !== -1) {\n mimeClass = 'image';\n } else if (mime.match('image.*')) {\n mimeClass = 'image';\n } else if (mime.match('video.*')) {\n mimeClass = 'video';\n } else if (mime.match('audio.*')) {\n mimeClass = 'audio';\n } else if (mime === 'application/pdf') {\n mimeClass = 'pdf';\n } else if (this.mime_compress.indexOf(mime) !== -1) {\n mimeClass = 'compress';\n } else if (this.mime_doc.indexOf(mime) !== -1) {\n mimeClass = 'doc';\n } else if (this.mime_xsl.indexOf(mime) !== -1) {\n mimeClass = 'xls';\n } else if (this.mime_ppt.indexOf(mime) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application') {\n mimeClass = this.fileTypeDetection(name);\n }\n\n return mimeClass;\n }\n\n public static fileTypeDetection(inputFilename: string): string {\n const types: { [ key: string ]: string } = {\n jpg: 'image',\n jpeg: 'image',\n tif: 'image',\n psd: 'image',\n bmp: 'image',\n png: 'image',\n nef: 'image',\n tiff: 'image',\n cr2: 'image',\n dwg: 'image',\n cdr: 'image',\n ai: 'image',\n indd: 'image',\n pin: 'image',\n cdp: 'image',\n skp: 'image',\n stp: 'image',\n '3dm': 'image',\n mp3: 'audio',\n wav: 'audio',\n wma: 'audio',\n mod: 'audio',\n m4a: 'audio',\n compress: 'compress',\n zip: 'compress',\n rar: 'compress',\n '7z': 'compress',\n lz: 'compress',\n z01: 'compress',\n bz2: 'compress',\n gz: 'compress',\n alz: 'compress',\n pdf: 'pdf',\n xls: 'xls',\n xlsx: 'xls',\n ods: 'xls',\n mp4: 'video',\n avi: 'video',\n wmv: 'video',\n mpg: 'video',\n mts: 'video',\n flv: 'video',\n '3gp': 'video',\n vob: 'video',\n m4v: 'video',\n mpeg: 'video',\n m2ts: 'video',\n mov: 'video',\n doc: 'doc',\n docx: 'doc',\n eps: 'doc',\n txt: 'doc',\n odt: 'doc',\n rtf: 'doc',\n ppt: 'ppt',\n pptx: 'ppt',\n pps: 'ppt',\n ppsx: 'ppt',\n key: 'ppt',\n odp: 'ppt'\n };\n\n const chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n const extension = chunks[ chunks.length - 1 ].toLowerCase();\n if (types[ extension ] === undefined) {\n return 'application';\n } else {\n return types[ extension ];\n }\n }\n}\n","import {ISkFile, SkFile} from \"./file\";\nimport {Audit, IAudit} from \"./audit\";\n\nexport interface ISkArticle extends IAudit {\n id?: number;\n content?: string;\n images?: ISkFile[];\n}\n\nexport class SkArticle extends Audit {\n id: number;\n content: string;\n images: SkFile[];\n\n constructor(data: ISkArticle = {}) {\n super(data);\n this.id = data.id;\n this.content = data.content;\n this.images = (data.images || []).map(item => new SkFile(item));\n }\n}\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkDocumentPublicList} from \"./document\";\nimport {ApiPageable} from \"sk-front-lib/api\";\n\nexport interface ISkBoard extends IAudit {\n id?: number;\n url?: string;\n title?: string;\n subtitle?: string;\n skin?: string;\n\n showSupport?: boolean;\n\n permissions?: {\n publicRead?: boolean;\n publicWrite?: boolean;\n secretRead?: boolean;\n secretWrite?: boolean;\n useNotice?: boolean;\n }\n\n}\n\nexport class SkBoard extends Audit {\n id: number;\n url: string;\n title: string;\n subtitle?: string;\n skin: string;\n\n showSupport: boolean;\n\n permissions: {\n publicRead?: boolean;\n publicWrite?: boolean;\n secretRead?: boolean;\n secretWrite?: boolean;\n useNotice?: boolean;\n };\n\n\n constructor(data: ISkBoard = {}) {\n super(data);\n Object.assign(this,\n {\n skin: 'default',\n showSupport: false,\n permissions: {\n publicRead: true,\n publicWrite: false,\n secretRead: false,\n secretWrite: false,\n useNotice: false\n }\n },\n data\n );\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkBoardDetail extends ISkBoard {\n noticeDocuments?: ISkDocumentPublicList[];\n documents?: ApiPageable<ISkDocumentPublicList>;\n}\n","import { ISkArticle, SkArticle } from './article';\nimport { Audit, IAudit } from './audit';\nimport { ISkDocumentPublicList } from './document';\nimport {\n SkBrand,\n SkCatalogEmbed,\n SkCategory,\n SkKeyword,\n SkNaverEpEmbed,\n SkOpengraph,\n SkSubCategoryItem,\n SkValueType\n} from './etc';\nimport { ISkFile, SkFile } from './file';\nimport { SkPaymentStatus } from './payment';\nimport { ISkPromotionGiftGroupItem, ISkPromotionPublicList } from './promotion';\n\nexport interface SkProductCount {\n total?: number;\n trash?: number;\n}\n\nexport interface SkProductStockCount {\n totalIn?: number;\n totalOut?: number;\n current?: number;\n}\n\nexport enum SkProductType {\n Package = 'PACKAGE',\n Single = 'SINGLE'\n}\n\nexport enum SkProductStuffType {\n Hardware = 'HARDWARE',\n Software = 'SOFTWARE',\n Furniture = 'FURNITURE'\n}\n\nexport enum SkProductStatus {\n Preorder = 'PREORDER',\n Onsale = 'ONSALE',\n Soldout = 'SOLDOUT',\n Deactivate = 'DEACTIVATE'\n}\n\nexport enum SkProductAccessPolicy {\n Public = 'PUBLIC',\n Hidden = 'HIDDEN',\n PrivateLink = 'PRIVATE_LINK',\n PrivateUser = 'PRIVATE_USER'\n}\n\nexport interface ISkProductBrand {\n id?: number;\n product?: ISkProduct;\n brand?: SkBrand;\n isDefault?: boolean;\n}\n\nexport class SkProductBrand {\n id: number;\n product: SkProduct;\n brand: SkBrand;\n isDefault: boolean;\n\n constructor(data: ISkProductBrand = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.brand = data.brand;\n this.isDefault = data.isDefault || false;\n }\n}\n\nexport interface ISkProductCategory {\n id?: number;\n product?: ISkProduct;\n category?: SkCategory;\n isDefault?: boolean;\n}\n\nexport class SkProductCategory {\n id: number;\n product: SkProduct;\n category: SkCategory;\n isDefault: boolean;\n\n constructor(data: ISkProductCategory = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.category = data.category;\n this.isDefault = data.isDefault || false;\n }\n}\n\nexport interface ISkProductImage {\n id?: number;\n product?: ISkProduct;\n file?: ISkFile;\n orderIndex?: number;\n}\n\nexport class SkProductImage {\n id: number;\n product: SkProduct;\n file: SkFile;\n orderIndex: number;\n\n constructor(data: ISkProductImage = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : new SkProduct();\n this.file = data.file ? new SkFile(data.file) : new SkFile();\n this.orderIndex = data.orderIndex || -1;\n }\n}\n\nexport enum SkProductOptionType {\n Base = 'BASE', // 기본옵션 (상품의 가격 범위 산정에 영향을 미침)\n Additional = 'ADDITIONAL', // 부가옵션 (상품의 가격 범위 산정에 영향을 미치지 않는다.)\n Multiple = 'MULTIPLE' // 추가옵션 (가격 범위 산정에 영향을 미치지 않으며, 중복으로 선택 가능하다)\n}\n\nexport interface ISkProductOption {\n id?: number;\n type?: SkProductOptionType;\n title?: string;\n values?: ISkProductOptionValue[];\n promotionOption?: boolean;\n}\n\nexport interface ISkProductOptionValue {\n id?: number;\n title?: string;\n value?: string;\n addedPrice?: number;\n}\n\nexport interface ISkProductOptionAnswer {\n id?: number;\n value?: any;\n}\n\nexport interface ISkProductPackage {\n id?: number;\n children?: ISkProduct;\n hidden?: boolean;\n share?: number;\n amount?: number;\n}\n\nexport class SkProductPackage {\n id: number;\n children: SkProduct;\n hidden: boolean;\n share: number;\n amount: number;\n\n constructor(data: ISkProductPackage = {}) {\n this.id = data.id;\n this.children = data.children ? new SkProduct(data.children) : null;\n this.hidden = data.hidden || false;\n this.share = data.share || (data.children ? data.children.price.retail : 0);\n this.amount = data.amount || 1;\n }\n}\n\nexport interface SkProductPrice {\n message?: string;\n quotaFree?: boolean;\n paymentNaver?: boolean;\n original?: number;\n retail?: number;\n pointAmount?: number;\n pointType?: SkValueType;\n rebateAmount?: number;\n rebateType?: SkValueType;\n maxUsablePoint?: number;\n wholesaleNormal?: number;\n wholesaleDealer?: number;\n wholesaleConditionA?: number;\n wholesaleConditionB?: number;\n wholesaleConditionC?: number;\n useVarPrice?: boolean;\n useVarPriceXc?: boolean;\n varCurrency?: string;\n varFormula?: string;\n varMap?: number;\n varCost?: number;\n varAddAmount?: number;\n varAddPercent?: number;\n varUpdatedDate?: string;\n}\n\nexport interface SkProductStock {\n useStockHistory?: boolean;\n useAutoStatusChange?: boolean;\n useXchangeApi?: boolean;\n}\n\nexport interface SkProductEDelivery {\n sku?: string;\n downloadLink?: string;\n template?: string;\n}\n\nexport interface ISkProductStockHistory extends IAudit {\n id?: number;\n used?: boolean;\n serial?: string;\n memo?: string;\n}\n\n\nexport interface ISkProduct extends IAudit {\n id?: number;\n title?: string;\n code?: string;\n url?: string;\n type?: SkProductType;\n stuffType?: SkProductStuffType;\n status?: SkProductStatus;\n preorderStartDate?: string;\n brands?: ISkProductBrand[];\n categories?: ISkProductCategory[];\n keywords?: SkKeyword[];\n images?: ISkProductImage[];\n accessPolicy?: SkProductAccessPolicy;\n accessPolicyValue?: string;\n price?: SkProductPrice;\n stockConfig?: SkProductStock;\n edelivery?: SkProductEDelivery;\n furnitureAssembly?: boolean;\n opengraph?: SkOpengraph;\n naverep?: SkNaverEpEmbed;\n catalog?: SkCatalogEmbed;\n options?: ISkProductOption[];\n articleDesc?: ISkArticle;\n articleSpec?: ISkArticle;\n packages?: ISkProductPackage[];\n activated?: boolean;\n listOrder?: number;\n viewCount?: number;\n simpleText?: string;\n}\n\nexport class SkProduct extends Audit {\n id: number;\n title: string;\n code?: string;\n url?: string;\n type: SkProductType;\n stuffType: SkProductStuffType;\n status: SkProductStatus;\n preorderStartDate: string;\n brands: SkProductBrand[];\n categories: SkProductCategory[];\n keywords: SkKeyword[];\n images: SkProductImage[];\n accessPolicy: SkProductAccessPolicy;\n accessPolicyValue: string;\n price: SkProductPrice;\n stockConfig: SkProductStock;\n edelivery: SkProductEDelivery;\n furnitureAssembly: boolean;\n opengraph: SkOpengraph;\n naverep: SkNaverEpEmbed;\n catalog: SkCatalogEmbed;\n options: ISkProductOption[];\n articleDesc: ISkArticle;\n articleSpec: ISkArticle;\n packages: SkProductPackage[];\n activated: boolean;\n listOrder: number;\n viewCount: number;\n simpleText: string;\n\n constructor(data: ISkProduct = {}) {\n super(data);\n\n this.id = data.id;\n this.title = data.title;\n this.code = data.code;\n this.url = data.url;\n this.type = data.type || SkProductType.Single;\n this.stuffType = data.stuffType;\n this.status = data.status || SkProductStatus.Onsale;\n this.preorderStartDate = data.preorderStartDate;\n this.brands = (data.brands || []).map(item => new SkProductBrand(item));\n this.categories = (data.categories || []).map(item => new SkProductCategory(item));\n this.keywords = (data.keywords || []);\n this.images = (data.images || []).map(item => new SkProductImage(item));\n this.accessPolicy = data.accessPolicy || SkProductAccessPolicy.Public;\n this.accessPolicyValue = data.accessPolicyValue;\n this.price = Object.assign({}, {\n message: '',\n quotaFree: false,\n paymentNaver: false,\n original: 0,\n retail: 0,\n pointAmount: 0,\n pointType: 'AMOUNT',\n maxUsablePoint: 50,\n wholesaleNormal: 0,\n wholesaleDealer: 0,\n wholesaleConditionA: 0,\n wholesaleConditionB: 0,\n wholesaleConditionC: 0,\n useVarPrice: false,\n useVarPriceXc: false,\n varCurrency: 'USD',\n varFormula: '',\n varMap: 0,\n varCost: 0,\n varAddAmount: 0,\n varAddPercent: 0,\n varUpdatedDate: null\n }, data.price);\n this.stockConfig = Object.assign({}, {useStockHistory: false, useAutoStatusChange: false, useXchangeApi: false}, data.stockConfig);\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n this.naverep = Object.assign({}, {naverepShow: true, naverepCustom: false, naverepTitle: '', naverepCategory: ''}, data.naverep);\n this.catalog = Object.assign({}, {catalogShow: true, catalogCustom: false, catalogTitle: '', catalogCategory: null}, data.catalog );\n this.edelivery = Object.assign({}, {sku: '', downloadLink: '', template: ''}, data.edelivery);\n this.furnitureAssembly = data.furnitureAssembly || false;\n this.options = data.options || [];\n this.articleDesc = data.articleDesc ? new SkArticle(data.articleDesc) : new SkArticle();\n this.articleSpec = data.articleSpec ? new SkArticle(data.articleSpec) : new SkArticle();\n this.packages = (data.packages || []).map(item => new SkProductPackage(item));\n this.activated = data.activated || false;\n this.listOrder = data.listOrder || 0;\n this.viewCount = data.viewCount || 0;\n this.simpleText = data.simpleText || '';\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface SkProductListItem {\n id?: number;\n title?: string;\n code?: string;\n url?: string;\n type?: SkProductType;\n stuffType?: SkProductStuffType;\n status?: SkProductStatus;\n hasPromotion?: boolean;\n hasGift?: boolean;\n realtimeSoftware?: boolean;\n furnitureAssembly?: boolean;\n brandName?: string;\n brandId?: number;\n brands?: ISkProductBrandItem[];\n\n wishlistCount?: number;\n wishlistMe?: boolean;\n image?: ISkFile;\n\n quotaFree?: boolean;\n priceMessage?: string;\n priceOriginal?: number;\n priceDiscounted?: number;\n priceMin?: number;\n priceMax?: number;\n\n packageItems?: ISkProductPackageListItem[];\n\n accessPolicy?: SkProductAccessPolicy;\n accessPolicyValue?: string;\n}\n\nexport interface ISkProductDetail extends SkProductListItem {\n point?: number;\n includedInPackage?: boolean;\n images?: ISkFile[];\n simpleText?: string;\n articleDesc?: ISkArticle;\n articleSpec?: ISkArticle;\n opengraph?: SkOpengraph;\n paymentNaver?: boolean;\n packageItems?: ISkProductPackageListItem[];\n linkedSeries?: ISkProductDetailSeries[];\n linkedDocuments?: ISkDocumentPublicList[];\n linkedPromotions?: ISkPromotionPublicList[];\n linkedPromotionGiftGroups?: ISkPromotionGiftGroupItem[];\n}\n\nexport interface ISkProductPackageListItem {\n id?: number;\n product?: SkProductListItem;\n showSpec?: boolean;\n showDesc?: boolean;\n orderIndex?: number;\n amount?: number;\n}\n\nexport interface SkProductWishlist {\n wishlistCount?: number;\n wishlistMe?: boolean;\n}\n\nexport interface ISkProductDetailSeriesItem {\n id?: number;\n title?: string;\n url?: string;\n}\n\nexport interface ISkProductDetailSeries {\n id?: number;\n title?: string;\n items?: ISkProductDetailSeriesItem[];\n}\n\nexport interface ISkProductFilterData {\n lowestPrice?: number;\n highestPrice?: number;\n minPrice?: number;\n maxPrice?: number;\n availableBrands?: SkBrand[];\n availableCategories?: SkCategory[];\n availableSubCategories?: SkCategory[];\n selectedSubCategoryItems?: SkSubCategoryItem[];\n}\n\nexport interface ISkProductBrandItem {\n id: number;\n name: string;\n}\n\nexport interface ISkProductPublish {\n id?: number;\n productId?: number;\n status?: SkProductStatus;\n preorderStartDate?: string;\n accessPolicy?: SkProductAccessPolicy;\n actionDate?: string;\n activated?: boolean;\n}\n\nexport function getSkProductStatusText(status: SkProductStatus) {\n switch (status) {\n case SkProductStatus.Deactivate:\n return '판매 중지';\n case SkProductStatus.Onsale:\n return '판매중';\n case SkProductStatus.Preorder:\n return '예약판매';\n case SkProductStatus.Soldout:\n return '품절';\n default:\n return status;\n }\n}\n\nexport function getSkProductAccessPolicyText(accessPolicy: SkProductAccessPolicy) {\n switch (accessPolicy) {\n case SkProductAccessPolicy.Hidden:\n return '어드민 외 접근불가';\n case SkProductAccessPolicy.PrivateLink:\n return '링크로만 접근 가능';\n case SkProductAccessPolicy.PrivateUser:\n return '해당 유저만 접근 가능';\n case SkProductAccessPolicy.Public:\n return '공개';\n default:\n return accessPolicy;\n }\n}\n\n\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkFile, SkFile} from \"./file\";\nimport {ISkArticle, SkArticle} from \"./article\";\nimport {ISkBoard, SkBoard} from \"./board\";\nimport { ISkProduct, SkProduct, SkProductAccessPolicy, SkProductStatus } from \"./product\";\nimport {SkCategory, SkOpengraph} from \"./etc\";\nimport {ISkUser, SkUser} from \"./user\";\n\nexport interface SkDocumentCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkDocumentSibling {\n id?: number;\n url?: string;\n}\n\nexport enum SkDocumentType {\n Editorial = 'EDITORIAL',\n Studio = 'STUDIO',\n Post = 'POST',\n Page = 'PAGE'\n}\n\nexport interface ISkDocumentAttachment {\n id?: number;\n file?: any;\n title?: string;\n url?: string;\n}\n\nexport class SkDocumentAttachment {\n id: number;\n file: SkFile;\n title: string;\n url: string;\n\n constructor(data: ISkDocumentAttachment = {}) {\n this.id = data.id;\n this.file = new SkFile(data.file);\n this.title = data.title;\n this.url = data.url;\n }\n}\n\nexport interface ISkDocument extends IAudit {\n id?: number;\n type?: SkDocumentType;\n url?: string;\n title?: string;\n author?: ISkUser;\n activate?: boolean;\n published?: boolean;\n secret?: boolean;\n notice?: boolean;\n article?: ISkArticle;\n image?: ISkFile;\n imageAlt?: ISkFile;\n board?: ISkBoard;\n category?: SkCategory;\n linkedProduct?: ISkProduct[];\n attachment?: ISkDocumentAttachment[];\n viewCount?: number;\n listOrder?: number;\n opengraph?: SkOpengraph;\n}\n\nexport class SkDocument extends Audit {\n id: number;\n type: SkDocumentType;\n url: string;\n title: string;\n author: SkUser;\n activate: boolean;\n published: boolean;\n secret: boolean;\n notice: boolean;\n article: SkArticle;\n image: SkFile;\n imageAlt: SkFile;\n board: SkBoard;\n category: SkCategory;\n linkedProduct: SkProduct[];\n attachment: SkDocumentAttachment[];\n viewCount: number;\n listOrder: number;\n opengraph: SkOpengraph;\n\n constructor(data: ISkDocument = {}) {\n super(data);\n\n this.id = data.id;\n this.type = data.type;\n this.url = data.url;\n this.title = data.title;\n this.author = data.author ? new SkUser(data.author) : null;\n this.activate = data.activate || false;\n this.published = data.published || false;\n this.secret = data.secret || false;\n this.notice = data.notice || false;\n this.article = data.article ? new SkArticle(data.article) : null;\n this.image = data.image ? new SkFile(data.image) : null;\n this.imageAlt = data.imageAlt ? new SkFile(data.imageAlt): null;\n this.board = data.board ? new SkBoard(data.board) : null;\n this.category = data.category;\n this.linkedProduct = (data.linkedProduct || []).map(item => new SkProduct(item));\n this.attachment = (data.attachment || []).map(item => new SkDocumentAttachment(item));\n this.viewCount = data.viewCount;\n this.listOrder = data.listOrder || 0;\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkDocumentPublicList {\n id?: number;\n url?: string;\n type?: SkDocumentType;\n category?: SkCategory;\n title?: string;\n boardUrl?: string;\n boardName?: string;\n desc?: String;\n image?: ISkFile;\n imageAlt?: ISkFile;\n subImages?: number[];\n authorId?: number;\n authorNickname?: string;\n authorEmail?: string;\n createdDate?: string;\n}\n\nexport interface ISkDocumentPublish {\n id?: number;\n documentId?: number;\n published?: boolean;\n notice?: boolean;\n listOrder?: boolean;\n actionDate?: string;\n activated?: boolean;\n}\n","import { ISkProductDetail, ISkProductOption, ISkProductOptionValue } from './product';\nimport { ISkPromotionGiftItem } from './promotion';\n\nexport interface ISkCartOption {\n id?: number;\n option?: ISkProductOption;\n value?: ISkProductOptionValue;\n amount?: number;\n}\n\nexport interface ISkCart {\n id?: number;\n product?: ISkProductDetail;\n amount?: number;\n options?: ISkCartOption[];\n gifts?: ISkPromotionGiftItem[]\n}\n\nexport class SkCartOption {\n id: number;\n option: ISkProductOption;\n value: ISkProductOptionValue;\n amount: number;\n\n constructor(data: ISkCartOption = {}) {\n this.id = data.id || null;\n this.option = data.option;\n this.value = data.value;\n this.amount = data.amount || 1;\n }\n}\n\nexport class SkCart {\n id: number;\n product: ISkProductDetail;\n amount: number;\n options: SkCartOption[];\n gifts: ISkPromotionGiftItem[];\n\n constructor(data: ISkCart = {}) {\n this.id = data.id || null;\n this.product = data.product;\n this.amount = data.amount || 1;\n this.options = (data.options || []).map(item => new SkCartOption(item));\n this.gifts = data.gifts || [];\n }\n\n getSinglePrice(): number {\n const basePrice = Math.min(this.product.priceOriginal, this.product.priceDiscounted);\n const optionPrice = (this.options || []).map(item => item.value.addedPrice * item.amount).reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n return basePrice + optionPrice;\n }\n\n getTotalPrice(): number {\n return this.getSinglePrice() * this.amount;\n }\n\n checkOptionExists(): boolean {\n return this.options.filter(option => !!option.value).length > 0;\n }\n}\n\nexport interface ISkCartOptionCreate {\n option: number;\n value: number;\n}\n\nexport interface ISkCartCreate {\n product: number;\n amount: number;\n selectedOptions: ISkCartOptionCreate[];\n selectedGifts: {id: number}[];\n}\n\n","import { ApiPageable } from 'sk-front-lib/api';\nimport { ISkArticle } from './article';\nimport { IAudit } from './audit';\nimport { ISkDocumentPublicList } from './document';\nimport { ISkFile } from './file';\nimport { SkProduct, SkProductListItem } from './product';\nimport { ISkPromotionPublicList } from './promotion';\nimport { ISkUser } from './user';\n\nexport interface SkOpengraph {\n ogAutoFill?: boolean;\n ogTitle?: string;\n ogDesc?: string;\n ogImage?: ISkFile;\n}\n\nexport interface SkNaverEpEmbed {\n naverepShow?: boolean;\n naverepCustom?: boolean;\n naverepTitle?: string;\n naverepCategory?: string;\n}\n\nexport interface SkCatalogEmbed {\n catalogShow?: boolean;\n catalogCustom?: boolean;\n catalogTitle?: string;\n catalogCategory?: number;\n}\n\nexport enum SkValueType {\n Amount = 'AMOUNT',\n Percent = 'PERCENT',\n Fixed = 'FIXED',\n Custom = 'CUSTOM'\n}\n\nexport enum SkGiftType {\n Real = 'REAL',\n Custom = 'CUSTOM'\n}\n\nexport interface SkBrand {\n id?: number;\n title?: string;\n content?: string;\n showDistribution?: boolean;\n listOrder?: number;\n image?: ISkFile;\n opengraph?: SkOpengraph;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport enum SkCategoryType {\n Product = 'PRODUCT', // 상품 관련\n Promotion = 'PROMOTION', // 프로모션\n Editorial = 'EDITORIAL',\n Studio = 'STUDIO',\n Board = 'BOARD'\n}\n\nexport interface SkSubCategoryItem {\n id?: number;\n title?: string;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport interface SkSubCategory {\n id?: number;\n title?: string;\n children?: SkSubCategoryItem[];\n}\n\nexport interface SkCategory {\n id?: number;\n title?: string;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n type?: SkCategoryType;\n subCategories?: SkSubCategory[];\n opengraph?: SkOpengraph;\n}\n\nexport interface SkKeyword {\n id?: number;\n title?: string;\n}\n\nexport interface ISkAddress {\n id?: number;\n title?: string;\n receiverName?: string;\n email?: string;\n phone?: string;\n phone2?: string;\n zipCode?: string;\n address?: string;\n address2?: string;\n isDefault?: boolean;\n}\n\nexport interface ISkStore {\n id?: number;\n name?: string;\n url?: string;\n address?: string;\n phone?: string;\n email?: string;\n mapKakaoUrl?: string;\n mapNaverUrl?: string;\n mapGoogleUrl?: string;\n mapEmbedUrl?: string;\n showDistribution?: boolean;\n brands?: SkBrand[];\n}\n\nexport class SkStore {\n id: number;\n name: string;\n url: string;\n address: string;\n phone: string;\n email: string;\n mapKakaoUrl: string;\n mapNaverUrl: string;\n mapGoogleUrl: string;\n mapEmbedUrl: string;\n showDistribution: boolean;\n brands: SkBrand[];\n\n constructor(data: ISkStore = {}) {\n Object.assign(this, {\n name: '',\n url: '',\n address: '',\n phone: '',\n email: '',\n mapKakaoUrl: '',\n mapNaverUrl: '',\n mapGoogleUrl: '',\n mapEmbedUrl: '',\n showDistribution: false,\n brands: []\n }, data);\n }\n}\n\nexport interface ISkSearchResult {\n product?: ApiPageable<SkProductListItem>;\n promotion?: ApiPageable<ISkPromotionPublicList>;\n editorial?: ApiPageable<ISkDocumentPublicList>;\n studio?: ApiPageable<ISkDocumentPublicList>;\n etc?: ApiPageable<ISkDocumentPublicList>;\n}\n\nexport interface ISkSearchKeyword {\n id?: number;\n keyword?: string;\n}\n\nexport interface ISkShippingFee {\n id?: number;\n zipCodeStart?: string;\n zipCodeEnd?: string;\n address?: string;\n fee?: number;\n}\n\nexport interface ISkIdTitleValue {\n id?: number | string;\n title?: string;\n value?: string;\n}\n\nexport interface SkBank {\n id?: number;\n name?: string;\n}\n\nexport enum SkAffiliateRequestStatus {\n Wait = 'WAIT',\n Approve = 'APPROVE',\n Deny = 'DENY',\n}\n\nexport enum SkAffiliateTargetType {\n None = 'NONE',\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n Product = 'PRODUCT'\n}\n\nexport enum SkAffiliateTargetApply {\n Include = 'INCLUDE',\n Exclude = 'EXCLUDE'\n}\n\nexport interface ISkAffiliateTarget {\n id?: number;\n type?: SkAffiliateTargetType;\n apply?: SkAffiliateTargetApply;\n orderIndex?: number;\n startDate?: string;\n endDate?: string;\n brand?: SkBrand;\n category?: SkCategory;\n products?: SkProduct[];\n rebateAmount?: number;\n rebateType?: SkValueType;\n activated?: boolean;\n}\n\nexport interface ISkAffiliateRequest extends IAudit {\n id: string,\n status: SkAffiliateRequestStatus,\n user: ISkUser,\n name: string,\n phoneNumber: string,\n social?: string,\n desc: ISkArticle,\n attachment?: ISkFile,\n denyReason?: string\n}\n\nexport interface ISkAffiliateStatsItem {\n date?: string;\n count?: number;\n sum?: number;\n sum2?: number;\n\n rank?: {\n id?: number;\n name?: string;\n count?: number;\n sum?: number;\n sum2?: number;\n }[]\n}\n\nexport interface ISkAffiliateRebateMonthly {\n id?: number;\n year?: number;\n month?: number;\n totalRebatePoint?: number;\n totalOrderCount?: number;\n totalProductView?: number;\n pointPaid?: boolean;\n paidDate?: boolean;\n}\n\nexport interface ISkAffiliateStats {\n dailyProductView?: ISkAffiliateStatsItem[];\n dailyPurchase?: ISkAffiliateStatsItem[];\n monthlyProductView?: ISkAffiliateStatsItem[];\n monthlyPurchase?: ISkAffiliateStatsItem[];\n monthlyRebates?: ISkAffiliateRebateMonthly[];\n}\n","import { ISkArticle, SkArticle } from './article';\nimport { Audit, IAudit } from './audit';\nimport { SkCategory, SkGiftType, SkOpengraph, SkValueType } from './etc';\nimport { ISkFile, SkFile } from './file';\nimport { ISkProduct, ISkProductOption, SkProduct, SkProductListItem } from './product';\n\nexport enum SkPromotionAccessPolicy {\n Public = 'PUBLIC',\n Hidden = 'HIDDEN'\n}\n\nexport enum SkPromotionGiftServeType {\n All = 'ALL',\n Select = 'SELECT'\n}\n\nexport interface SkPromotionCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkPromotionGift {\n id?: number;\n product?: ISkProduct;\n amount?: number;\n\n type?: SkGiftType;\n optionTitle?: string;\n optionValueTitle?: string;\n optionAddedPrice?: number;\n customTitle?: string;\n customImage?: ISkFile;\n customBrandName?: string;\n customPrice?: number;\n}\n\nexport class SkPromotionGift {\n id: number;\n product: SkProduct;\n amount: number;\n\n type: SkGiftType;\n optionTitle: string;\n optionValueTitle: string;\n optionAddedPrice: number;\n customTitle: string;\n customImage: ISkFile;\n customBrandName: string;\n customPrice: number;\n\n constructor(data: ISkPromotionGift = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.amount = data.amount || 1;\n\n this.type = data.type || SkGiftType.Real;\n this.optionTitle = data.optionTitle || '';\n this.optionValueTitle = data.optionValueTitle || '';\n this.optionAddedPrice = data.optionAddedPrice || 0;\n this.customTitle = data.customTitle || '';\n this.customImage = new SkFile(data.customImage || {});\n this.customBrandName = data.customBrandName || '';\n this.customPrice = data.customPrice || 0;\n }\n}\n\nexport interface ISkPromotionGiftGroup {\n id?: number;\n serveType?: SkPromotionGiftServeType;\n gifts?: ISkPromotionGift[];\n}\n\nexport class SkPromotionGiftGroup {\n id: number;\n serveType: SkPromotionGiftServeType;\n gifts: ISkPromotionGift[];\n\n constructor(data: ISkPromotionGiftGroup = {}) {\n this.id = data.id;\n this.serveType = data.serveType || SkPromotionGiftServeType.All;\n this.gifts = (data.gifts || []).map(item => new SkPromotionGift(item));\n }\n}\n\nexport interface ISkPromotionTarget {\n id?: number;\n promotion?: ISkPromotion;\n product?: ISkProduct;\n isLimited?: boolean;\n stockAmount?: number;\n discountType?: SkValueType;\n discountValue?: number;\n giftGroups?: ISkPromotionGiftGroup[];\n}\n\nexport class SkPromotionTarget {\n id: number;\n promotion: SkPromotion;\n product: SkProduct;\n isLimited: boolean;\n stockAmount: number;\n discountType: SkValueType;\n discountValue: number;\n giftGroups: SkPromotionGiftGroup[];\n\n constructor(data: ISkPromotionTarget = {}) {\n this.id = data.id;\n this.promotion = data.promotion ? new SkPromotion(data.promotion) : null;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.isLimited = data.isLimited || false;\n this.stockAmount = data.stockAmount || 0;\n this.discountType = data.discountType;\n this.discountValue = data.discountValue || 0;\n this.giftGroups = (data.giftGroups || []).map(item => new SkPromotionGiftGroup(item));\n }\n}\n\nexport interface ISkPromotionCategory {\n id?: number;\n category?: SkCategory;\n}\n\nexport class SkPromotionCategory {\n id: number;\n category: SkCategory;\n\n constructor(data: ISkPromotionCategory = {}) {\n this.id = data.id;\n this.category = data.category;\n }\n}\n\nexport interface ISkPromotion extends IAudit {\n id?: number;\n title?: string;\n startDate?: string;\n endDate?: string;\n endDateString?: string;\n rebateString?: string;\n accessPolicy?: SkPromotionAccessPolicy;\n categories?: ISkPromotionCategory[];\n image?: ISkFile;\n imageAlt?: ISkFile;\n article?: ISkArticle;\n benefit?: ISkArticle;\n targets?: ISkPromotionTarget[];\n opengraph?: SkOpengraph;\n listOrder?: number;\n activated?: boolean;\n}\n\nexport class SkPromotion extends Audit {\n id: number;\n title: string;\n startDate: string;\n endDate: string;\n endDateString: string;\n rebateString: string;\n accessPolicy?: SkPromotionAccessPolicy;\n categories?: SkPromotionCategory[];\n image: SkFile;\n imageAlt: SkFile;\n article: SkArticle;\n benefit: SkArticle;\n targets: SkPromotionTarget[];\n opengraph: SkOpengraph;\n listOrder: number;\n activated: boolean;\n\n constructor(data: ISkPromotion = {}) {\n super(data);\n\n this.id = data.id;\n this.title = data.title || '';\n this.startDate = data.startDate;\n this.endDate = data.endDate;\n this.endDateString = data.endDateString || '';\n this.rebateString = data.rebateString || '';\n this.accessPolicy = data.accessPolicy || SkPromotionAccessPolicy.Public;\n this.categories = (data.categories || []).map(item => new SkPromotionCategory(item));\n this.image = data.image ? new SkFile(data.image) : null;\n this.imageAlt = data.imageAlt ? new SkFile(data.imageAlt) : null;\n this.article = data.article ? new SkArticle(data.article) : null;\n this.benefit = data.benefit ? new SkArticle(data.benefit) : null;\n this.targets = (data.targets || []).map(item => new SkPromotionTarget(item));\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n this.listOrder = data.listOrder;\n this.activated = data.activated;\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkPromotionGiftItem {\n id?: number;\n product?: SkProductListItem;\n amount?: number;\n type: SkGiftType;\n optionTitle: string;\n optionValueTitle: string;\n optionAddedPrice: number;\n customTitle: string;\n customImage: ISkFile;\n customBrandName: string;\n customPrice: number;\n}\n\nexport interface ISkPromotionGiftGroupItem {\n serveType?: SkPromotionGiftServeType;\n gifts?: ISkPromotionGiftItem[];\n}\n\nexport interface ISkPromotionTargetItem {\n productId?: number;\n product?: SkProductListItem;\n isLimited?: boolean;\n stockAmount?: number;\n discountType?: SkValueType;\n discountValue?: number;\n giftGroups?: ISkPromotionGiftGroupItem[];\n options?: ISkProductOption[];\n}\n\nexport interface ISkPromotionUpdateImage {\n image?: number;\n imageAlt?: number;\n}\n\nexport interface ISkPromotionPublicList {\n id?: number;\n image?: ISkFile;\n imageAlt?: ISkFile;\n title?: string;\n endDate?: string;\n endDateString?: string;\n rebateString?: string;\n}\n\nexport interface ISkPromotionPublicDetail extends ISkPromotionPublicList {\n content?: string;\n benefit?: string;\n targets?: ISkPromotionTargetItem[];\n opengraph?: SkOpengraph;\n}\n","import {IAudit} from './audit';\nimport {ISkAddress} from './etc';\nimport {ISkFile} from './file';\nimport {ISkPayment} from './payment';\nimport {ISkProductDetail} from './product';\nimport {ISkShipping, SkShippingMethod} from './shipping';\nimport {ISkAuthor, ISkUser, SkUser} from './user';\n\nexport interface ISkOrderCount {\n total?: number;\n wait?: number;\n paid?: number;\n process?: number;\n complete?: number;\n cancel?: number;\n}\n\nexport enum SkOrderType {\n Normal = 'NORMAL',\n Admin = 'ADMIN',\n DEALER = 'DEALER'\n}\n\nexport enum SkOrderStatus {\n Prepare = 'PREPARE', // 최초 주문 생성시 적용 상태.\n Progress = 'PROGRESS', // 결제 진행중.\n Wait = 'WAIT', // 결제 대기중 (무통장 입금)\n Paid = 'PAID', // 결제 완료.\n ProcessStart = 'PROCESS_START', // 결제 후 처리 시작 (사측이 확인한 상태)\n ProcessPartial = 'PROCESS_PARTIAL', // 결제 후 일부 처리중.\n Process = 'PROCESS', // 결제 후 처리중.\n Complete = 'COMPLETE', // 결제후 (배송 등 처리까지) 완료.\n CancelRequest = 'CANCEL_REQUEST', // 주문 취소 요청\n CancelSystem = 'CANCEL_SYSTEM', // 시스템에 의한 자동 취소\n Cancel = 'CANCEL', // 주문 취소\n Error = 'ERROR'\n}\n\nexport enum SkOrderCancelType {\n Just = 'JUST', // 구매 의사 없음 (변심)\n ModifyOrder = 'MODIFY_ORDER', // 주문 정보 변경\n Wrong = 'WRONG', // 다른 상품 잘못 주문\n Cheaper = 'CHEAPER', // 타 쇼핑몰에서 더 저렴하게 판매\n Error = 'ERROR' // 상품 정보 오류\n}\n\nexport function getSkOrderCancelTypeText(type: SkOrderCancelType) {\n switch (type) {\n case SkOrderCancelType.Just:\n return '구매 의사 없음 (변심)';\n case SkOrderCancelType.ModifyOrder:\n return '주문 정보 변경';\n case SkOrderCancelType.Wrong:\n return '다른 상품 잘못 주문';\n case SkOrderCancelType.Cheaper:\n return '타 쇼핑몰에서 더 저렴하게 판매';\n case SkOrderCancelType.Error:\n return '상품 정보 오류';\n default:\n return '코드(' + type + ')';\n }\n}\n\nexport function getSkOrderStatusText(status: SkOrderStatus) {\n switch (status) {\n case SkOrderStatus.Prepare:\n return '주문 생성중';\n case SkOrderStatus.Progress:\n return '결제 진행중';\n case SkOrderStatus.Wait:\n return '결제 대기중';\n case SkOrderStatus.Paid:\n return '결제 완료';\n case SkOrderStatus.ProcessStart:\n return '배송 준비중';\n case SkOrderStatus.ProcessPartial:\n return '부분 배송중';\n case SkOrderStatus.Process:\n return '배송중';\n case SkOrderStatus.Complete:\n return '배송 완료';\n case SkOrderStatus.CancelRequest:\n return '주문 취소 요청중'\n case SkOrderStatus.CancelSystem:\n return '시스템 취소'\n case SkOrderStatus.Cancel:\n return '주문 취소';\n case SkOrderStatus.Error:\n return '주문 오류(취소)';\n default:\n return '상태코드(' + status + ')';\n }\n}\n\nexport interface ISkOrderItemOption {\n id?: number;\n optionTitle?: string;\n valueTitle?: string;\n addedPrice?: number;\n amount?: number;\n}\n\nexport interface ISkOrderList {\n id?: string;\n title?: string;\n type?: SkOrderType;\n image?: ISkFile;\n status?: SkOrderStatus;\n\n user?: ISkAuthor;\n\n total?: number;\n subtotal?: number;\n shippingFee?: number;\n usedPoint?: number;\n\n createdDate?: string;\n}\n\nexport interface ISkOrderDetail {\n id?: string;\n title?: string;\n type?: SkOrderType;\n status?: SkOrderStatus;\n receiverName?: string;\n email?: string;\n phone?: string;\n items?: ISkOrderDetailItem[];\n payment?: ISkPayment;\n cancelType?: SkOrderCancelType;\n cancelDesc?: string;\n refundAccount?: string;\n shipping?: ISkShipping;\n\n user?: ISkUser;\n\n memo?: string;\n total?: number;\n subtotal?: number;\n shippingFee?: number;\n usedPoint?: number;\n discount?: number;\n maxUsablePoint?: number;\n affiliateKey?: string;\n\n createdDate?: string;\n}\n\nexport class SkOrderDetail {\n id: string;\n title: string;\n type: SkOrderType;\n status: SkOrderStatus;\n receiverName: string;\n email: string;\n phone: string;\n items: SkOrderDetailItem[];\n payment: ISkPayment;\n cancelType?: SkOrderCancelType;\n cancelDesc?: string;\n refundAccount?: string;\n shipping: ISkShipping;\n\n user: SkUser;\n\n memo: string;\n total: number;\n subtotal: number;\n shippingFee: number;\n usedPoint: number;\n maxUsablePoint: number;\n discount: number;\n affiliateKey?: string;\n\n createdDate: string;\n\n constructor(data: ISkOrderDetail = {}) {\n if (data === null) { data = {}; }\n Object.assign(this, data);\n\n this.user = data.user ? new SkUser(data.user) : null;\n this.items = (data.items || []).map(item => new SkOrderDetailItem(item));\n }\n}\n\nexport interface ISkOrderDetailItem {\n id?: number;\n product?: ISkProductDetail;\n amount?: number;\n options?: ISkOrderItemOption[];\n cartId?: string;\n price?: number;\n point?: number;\n couponDiscount?: number;\n}\n\nexport class SkOrderDetailItem {\n id: number;\n product: ISkProductDetail;\n amount: number;\n options: ISkOrderItemOption[];\n cartId: string;\n price: number;\n point: number;\n couponDiscount: number;\n originalPriceAtMoment: number;\n discountedPriceAtMoment: number;\n discountedMemo: string;\n\n constructor(data: ISkOrderDetailItem = {}) {\n if (data === null) { data = {}; }\n Object.assign(this, data);\n }\n\n getSinglePrice() {\n const basePrice = Math.min(this.product.priceOriginal, this.product.priceDiscounted);\n const optionPrice = (this.options || []).map(option => option.addedPrice * option.amount).reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n\n return basePrice + optionPrice;\n }\n\n getTotalPrice() {\n return this.getSinglePrice() * this.amount;\n }\n\n checkOptionExists(): boolean {\n return (this.options || []).length > 0;\n }\n}\n\nexport interface ISkOrderReqProgress {\n addressData?: ISkAddress;\n createAddress?: boolean;\n usePoint?: number;\n banker?: string;\n memo?: string;\n method?: SkShippingMethod;\n useCoupons?: string[];\n}\n\nexport interface ISkOrderLog extends IAudit {\n id?: number;\n type?: 'SYSTEM' | 'MEMO';\n message?: string;\n}\n\nexport interface ISkValidateCoupon {\n discountAmount?: number;\n couponData?: {discountAmount: number, title: string, serial: string}[];\n}\n","export enum SkPaymentStatus {\n Transfer = 'TRANSFER', // 무통장 입금\n Card = 'CARD', // 일반 카드결제\n Card2 = 'CARD2', // 무이자 할부 카드결제\n Naver = 'NAVER', // 네이버 페이 (주문형)\n NaverPG = 'NAVER_PG', // 네이버 페이 (결제형)\n Kakao = 'KAKAO', // 카카오 페이\n Payco = 'PAYCO' // 페이코\n}\n\nexport interface ISkPayment {\n id?: string;\n type?: SkPaymentStatus;\n txId?: string;\n responseCode?: string;\n responseMessage?: string;\n cancelCode?: string;\n cancelMessage?: string;\n paidPrice?: number;\n banker?: string;\n bankExpireDate?: string;\n cardName?: string;\n cardQuota?: string;\n rawResponse?: string;\n rawCancelResponse?: string;\n paidDate?: string;\n}\n\nexport function getSkPaymentStatusText(status: SkPaymentStatus) {\n switch (status) {\n case SkPaymentStatus.Transfer:\n return '무통장입금';\n case SkPaymentStatus.Card:\n return '카드결제 (일반 무이자)';\n case SkPaymentStatus.Card2:\n return '카드결제 (분담 무이자)';\n case SkPaymentStatus.Kakao:\n return '카카오페이';\n case SkPaymentStatus.Payco:\n return 'PAYCO';\n case SkPaymentStatus.Naver:\n case SkPaymentStatus.NaverPG:\n return '네이버페이';\n default:\n return status;\n }\n}\n","import { SkProductListItem } from \"./product\";\n\nexport enum SkShippingStatus {\n Prepare = 'PREPARE', // 배송 준비중\n Progress = 'PROGRESS', // 배송중\n Done = 'DONE', // 배송 완료\n Fail = 'FAIL' // 배송 실패\n}\n\nexport enum SkShippingMethod {\n Normal = 'NORMAL',\n Normal2 = 'NORMAL2',\n Quick = 'QUICK',\n Visit = 'VISIT',\n Software = 'SOFTWARE',\n SoftwareRealtime = 'SOFTWARE_REALTIME',\n Howser = 'HOWSER',\n Howser2 = 'HOWSER2'\n}\n\nexport interface ISkShippingInfo {\n id?: number;\n memo?: string;\n method?: SkShippingMethod;\n status?: SkShippingStatus;\n orderItemId?: number;\n productInfo?: SkProductListItem;\n amount?: number;\n shippingCompanyName?: string;\n shippingCompanyCode?: string;\n trackingCode?: string;\n edeliveryInfo?: string;\n}\n\nexport interface ISkShipping {\n id?: number;\n receiverName?: string;\n email?: string;\n phone?: string;\n phone2?: string;\n zipCode?: string;\n address?: string;\n address2?: string;\n infoList?: ISkShippingInfo[];\n hardwareShipping?: boolean;\n softwareShipping?: boolean;\n}\n\nexport function getSkShippingMethodText(method: SkShippingMethod) {\n switch (method) {\n case SkShippingMethod.Normal:\n return '택배 배송';\n case SkShippingMethod.Normal2:\n return '착불 배송';\n case SkShippingMethod.Quick:\n return '퀵 배송 (착불)';\n case SkShippingMethod.Visit:\n return '방문 수령';\n case SkShippingMethod.Software:\n return '전자배송(수동)';\n case SkShippingMethod.SoftwareRealtime:\n return '전자배송(실시간)';\n case SkShippingMethod.Howser:\n return '가구 전문 배송(착불)'\n }\n}\n","export enum SkNicePayCreditCards {\n BC = '01', // 비씨\n KB = '02', // KB 국민\n KEB = '03', // 외환\n Samsung = '04', // 삼성\n Shinhan = '06', // 신한\n Hyundae = '07', // 현대\n Lotte = '08', // 롯데\n Hanmi = '09', // 한미\n SHanmi = '10', // 신세계한미\n City = '11', // 시티\n NH = '12', // 농협\n SuHyup = '13', // 수협\n PyungHwa = '14', // 평화\n Woori = '15', // 우리\n HanaSK = '16', // 하나 SK\n DongName = '17', // 동남(주택)\n JuTaek = '18', // 주택\n ChoHeung = '19', // 조흥(강원)\n ChuckHyup = '20', // 축협(농협)\n Gwangju = '21', // 광주\n Jeonbuk = '22', // 전북\n Jeju = '23', // 제주\n KDBC = '24', // 산은캐피탈\n VISA = '25', // 해외비자\n MASTER = '26', // 해외마스터\n Diners = '27', // 해외다이너스\n AMX = '28', // 해외 AMX\n JCB = '29', // 해외 JCB\n SKOKCashbag = '31', // SK-OKCashBag\n ePost = '32', // 우체국\n FSB = '33', // 저축은행\n UnionPay = '34', // 은련\n KFCC = '35', // 새마을금고\n KDB = '36', // KDB 산업\n Kakao = '37', // 카카오뱅크\n KBank = '38' // 케이뱅크\n}\n\nexport function getNicePayCreditCardTitle(value: SkNicePayCreditCards) {\n switch (value) {\n case SkNicePayCreditCards.BC: return '비씨카드';\n case SkNicePayCreditCards.KB: return 'KB국민카드';\n case SkNicePayCreditCards.KEB: return '외환카드';\n case SkNicePayCreditCards.Samsung: return '삼성카드';\n case SkNicePayCreditCards.Shinhan: return '신한카드';\n case SkNicePayCreditCards.Hyundae: return '현대카드';\n case SkNicePayCreditCards.Lotte: return '롯데카드';\n case SkNicePayCreditCards.Hanmi: return '한미카드';\n case SkNicePayCreditCards.SHanmi: return '신세계한미카드';\n case SkNicePayCreditCards.City: return '시티카드';\n case SkNicePayCreditCards.NH: return '농협카드';\n case SkNicePayCreditCards.SuHyup: return '수협카드';\n case SkNicePayCreditCards.PyungHwa: return '평화카드';\n case SkNicePayCreditCards.Woori: return '우리카드';\n case SkNicePayCreditCards.HanaSK: return '하나SK카드';\n case SkNicePayCreditCards.DongName: return '동남(주택)카드';\n case SkNicePayCreditCards.JuTaek: return '주택카드';\n case SkNicePayCreditCards.ChoHeung: return '조흥(강원)카드';\n case SkNicePayCreditCards.ChuckHyup: return '축협(농협)카드';\n case SkNicePayCreditCards.Gwangju: return '광주카드';\n case SkNicePayCreditCards.Jeonbuk: return '전북카드';\n case SkNicePayCreditCards.Jeju: return '제주카드';\n case SkNicePayCreditCards.KDBC: return '산은캐피탈카드';\n case SkNicePayCreditCards.VISA: return '해외비자카드';\n case SkNicePayCreditCards.MASTER: return '해외마스터카드';\n case SkNicePayCreditCards.Diners: return '해외다이너스카드';\n case SkNicePayCreditCards.AMX: return '해외AMX카드';\n case SkNicePayCreditCards.JCB: return '해외JCB카드';\n case SkNicePayCreditCards.SKOKCashbag: return 'SK-OKCashBag카드';\n case SkNicePayCreditCards.ePost: return '우체국카드';\n case SkNicePayCreditCards.FSB: return '저축은행카드';\n case SkNicePayCreditCards.UnionPay: return '은련카드';\n case SkNicePayCreditCards.KFCC: return '새마을금고카드';\n case SkNicePayCreditCards.KDB: return 'KDB산업카드';\n case SkNicePayCreditCards.Kakao: return '카카오뱅크카드';\n case SkNicePayCreditCards.KBank: return '케이뱅크카드';\n default: return `알수없음 (code: ${value})`;\n }\n}\n","import {ISkFile} from \"./file\";\nimport {Audit, IAudit} from \"./audit\";\n\nexport enum SkPointType {\n Add = 'ADD',\n Subtract = 'SUBTRACT'\n}\n\nexport interface ISkPoint extends IAudit{\n id?: number;\n type?: SkPointType;\n amount?: number;\n used?: boolean;\n cause?: string;\n expiredDate?: string;\n}\n\nexport class SkPoint extends Audit {\n id: number;\n type: SkPointType;\n amount: number;\n used: boolean;\n cause: string;\n expiredDate: string;\n\n constructor(data: ISkFile = {}) {\n super(data);\n Object.assign(this, data);\n }\n\n causeText(): string {\n let text = '';\n if (this.cause === 'ADMIN') {\n text = '어드민에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 추가됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 차감됨';\n }\n } else if (this.cause.startsWith('ORDER-')) {\n text = '주문(' + this.cause.replace('ORDER-', '') + ') 에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 적립됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 사용됨';\n }\n } else if (this.cause.startsWith('CANCEL-')) {\n text = '주문(' + this.cause.replace('CANCEL-', '') + ') 취소에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 추가됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 차감됨';\n }\n } else {\n text = this.cause;\n }\n\n return text;\n }\n}\n\nexport interface ISkPointAdd {\n type?: SkPointType;\n amount?: number;\n userId?: number;\n cause?: string;\n}\n\n","import { IAudit } from './audit';\nimport { ISkIdTitleValue, SkBrand, SkCategory, SkSubCategoryItem, SkValueType } from './etc';\nimport { ISkOrderList } from './order';\nimport { SkProductListItem } from './product';\nimport { ISkUser } from './user';\n\nexport enum SkCouponType {\n Code = 'CODE',\n Inject = 'INJECT'\n}\n\nexport enum SkCouponTarget {\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n SubCategory = 'SUBCATEGORY',\n Product = 'PRODUCT'\n}\n\nexport enum SkCouponTrigger {\n None = 'NONE',\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n SubCategory = 'SUBCATEGORY',\n Product = 'PRODUCT'\n}\n\nexport interface ISkCouponCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkCouponListItem extends IAudit {\n id?: number;\n title?: string;\n type?: SkCouponType;\n startDate?: string;\n endDate?: string;\n forever?: boolean;\n singleCode?: string;\n activated?: boolean;\n}\n\nexport interface ISkCouponDetail extends ISkCouponListItem {\n usableWithOthers?: boolean; // 다른 쿠폰과 함께 사용 가능한지 여부\n duplicatable?: boolean; // 중복으로 사용 가능한지 여부\n anonymous?: boolean; // 비로그인 유저도 사용 가능 여부\n total?: number;\n used?: number;\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: SkBrand[];\n couponTargetCategories?: SkCategory[];\n couponTargetSubCategories?: SkSubCategoryItem[];\n couponTargetProducts?: SkProductListItem[];\n couponTrigger?: SkCouponTrigger;\n couponTriggerAmount?: number;\n couponTriggerBrands?: SkBrand[];\n couponTriggerCategories?: SkCategory[];\n couponTriggerSubCategories?: SkSubCategoryItem[];\n couponTriggerProducts?: SkProductListItem[];\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n}\n\nexport interface ISkCouponTicket {\n id?: number;\n code?: string;\n coupon?: ISkCouponDetail;\n order?: ISkOrderList;\n user?: ISkUser;\n}\n\nexport interface ISkCouponTriggerUpdate {\n couponTrigger?: SkCouponTrigger;\n couponTriggerAmount?: number;\n couponTriggerBrandIds?: number[];\n couponTriggerCategoryIds?: number[];\n couponTriggerSubCategoryIds?: number[];\n couponTriggerProductIds?: number[];\n}\n\nexport interface ISkUserCouponInfo {\n id?: number;\n title?: string;\n code?: string;\n\n startDate?: string;\n endDate?: string;\n forever?: boolean;\n\n activated?: boolean;\n usableWithOthers?: boolean;\n\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: ISkIdTitleValue[];\n couponTargetCategories?: ISkIdTitleValue[];\n couponTargetSubCategories?: ISkIdTitleValue[];\n couponTargetProducts?: ISkIdTitleValue[];\n\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n\n orderId?: string;\n paidDate?: string;\n}\n\nexport interface ISkUserCouponInfo {\n id?: number;\n title?: string;\n code?: string;\n\n startDate?: string;\n endDate?: string;\n forever?: boolean;\n\n activated?: boolean;\n usableWithOthers?: boolean;\n\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: ISkIdTitleValue[];\n couponTargetCategories?: ISkIdTitleValue[];\n couponTargetSubCategories?: ISkIdTitleValue[];\n couponTargetProducts?: ISkIdTitleValue[];\n\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n\n orderId?: string;\n paidDate?: string;\n}\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkDocumentPublicList} from \"./document\";\nimport {ISkUser, SkUser} from \"./user\";\n\nexport interface IComment extends IAudit {\n id?: number;\n author?: ISkUser;\n content?: string;\n secret?: boolean;\n}\n\nexport class SkComment extends Audit {\n id: number;\n author: SkUser;\n content: string;\n secret: boolean;\n\n constructor(data: IComment = {}) {\n super(data);\n\n this.id = data.id || null;\n this.author = new SkUser(data.author);\n this.content = data.content || '';\n this.secret = data.secret || false;\n }\n}\n\n\n/**\n * 문서용 댓글 데이터 정의\n */\n\nexport interface ISkDocumentCommentUpdate {\n content?: string;\n secret?: boolean;\n}\n\nexport interface ISkDocumentCommentWrite extends ISkDocumentCommentUpdate{\n documentId?: number;\n parentId?: number;\n}\n\nexport interface ISkDocumentCommentParent extends IComment {\n document?: ISkDocumentPublicList;\n\n childrens: ISkDocumentCommentChild[];\n childrenCount: number;\n}\n\nexport interface ISkDocumentCommentChild extends IComment {\n}\n\n\n\nexport class SkDocumentCommentParent extends SkComment {\n document: ISkDocumentPublicList;\n childrens: SkDocumentCommentChild[];\n childrenCount: number;\n\n constructor(data: ISkDocumentCommentParent) {\n super(data);\n\n this.document = data.document;\n this.childrens = (data.childrens || []).map(item => new SkDocumentCommentChild(item));\n this.childrenCount = data.childrenCount || 0;\n }\n}\n\nexport class SkDocumentCommentChild extends SkComment {\n constructor(data: ISkDocumentCommentChild) {\n super(data);\n }\n}\n\n","import {ISkUser} from \"./user\";\nimport {ISkFile} from \"./file\";\nimport {ISkProductDetail} from \"./product\";\nimport {ISkOrderDetail} from \"./order\";\nimport {IAudit} from \"./audit\";\n\nexport enum SkContactStatus {\n Open = 'OPEN',\n Close = 'CLOSE'\n}\n\nexport enum SkContactType {\n Normal = 'NORMAL', // 1:1 문의\n BeforeBuy = 'BEFOREBUY', // 구매전 상담\n Technical = 'TECHNICAL', // 기술지원\n Software = 'SOFTWARE', // 전자배송상품 문의\n AS = 'AS', // AS 문의\n}\n\nexport function getSkContactTypeText(type: SkContactType) {\n switch (type) {\n case SkContactType.Normal:\n return '1:1 문의';\n case SkContactType.BeforeBuy:\n return '구매전 상담';\n case SkContactType.Technical:\n return '기술지원';\n case SkContactType.Software:\n return '전자배송상품';\n case SkContactType.AS:\n return 'AS 문의';\n }\n}\n\nexport interface ISkContact extends IAudit {\n id?: number;\n status?: SkContactStatus;\n type?: SkContactType;\n\n user?: ISkUser;\n userName?: string;\n email?: string;\n phone?: string;\n title?: string;\n content?: string;\n attachment?: ISkFile;\n product?: ISkProductDetail;\n order?: ISkOrderDetail;\n seller?: string;\n serialNumber?: string;\n buyDate?: string;\n answers?: ISkContactAnswer[]\n}\n\nexport interface ISkContactAnswer extends IAudit {\n id?: number;\n user?: ISkUser;\n content?: string;\n}\n","export enum SkGridItemType {\n Icon = 'Icon',\n Image = 'Image',\n SlidePromotion = 'SlidePromotion',\n SlideShop = 'SlideShop',\n SlideEditorial = 'SlideEditorial',\n SlideStudio = 'SlideStudio',\n SlideCustom = 'SlideCustom'\n}\n\nexport interface ISkGridItemIconData {\n iconType?: 'material' | 'custom';\n icon?: string\n title?: string;\n url?: string;\n}\n\nexport class SkGridItemIconData {\n iconType: 'material' | 'custom';\n icon: string;\n title: string;\n url: string;\n\n constructor(data: ISkGridItemIconData = {}) {\n this.iconType = data.iconType || 'material';\n this.icon = data.icon || 'error_outline';\n this.url = data.url || '';\n this.title = data.title || '';\n }\n}\n\nexport interface ISkGridItemImageData {\n src?: string | number;\n title?: string;\n url?: string;\n}\n\nexport class SkGridItemImageData {\n src: string | number;\n title: string;\n url: string;\n\n constructor(data: ISkGridItemImageData = {}) {\n this.src = data.src || '';\n this.title = data.title || '';\n this.url = data.url;\n }\n}\n\nexport interface ISkGridItemSlideDataCustomFormat {\n imageId?: number;\n type?: string;\n title?: string;\n desc?: string;\n link?: string;\n}\n\nexport interface ISkGridItemSlideData {\n target?: 'featured' | 'latest' | string;\n count?: number;\n list?: any[] | number[] | ISkGridItemSlideDataCustomFormat[];\n lastImageId?: number;\n}\n\nexport class SkGridItemSlideData {\n target: 'featured' | 'latest' | string;\n count: number;\n list: any[] | number[] | ISkGridItemSlideDataCustomFormat[];\n lastImageId?: number;\n\n constructor(data: ISkGridItemSlideData = {}) {\n this.target = data.target || 'latest';\n this.count = data.count || 5;\n this.list = data.list || [];\n this.lastImageId = data.lastImageId;\n }\n}\n\nexport interface ISkGridItem {\n rowspan?: number;\n colspan?: number;\n type?: SkGridItemType\n value?: ISkGridItemSlideData | ISkGridItemIconData | ISkGridItemImageData;\n url?: string;\n}\n\nexport class SkGridItem {\n rowspan: number;\n colspan: number;\n type: SkGridItemType;\n value: SkGridItemSlideData | SkGridItemIconData | SkGridItemImageData;\n\n constructor(data: ISkGridItem = {}) {\n this.rowspan = data.rowspan || 1;\n this.colspan = data.colspan || 1;\n\n this.type = data.type || SkGridItemType.SlideEditorial;\n\n switch (this.type) {\n case SkGridItemType.Icon:\n this.value = new SkGridItemIconData(<ISkGridItemIconData> data.value);\n break;\n case SkGridItemType.Image:\n this.value = new SkGridItemImageData(<ISkGridItemImageData> data.value);\n break;\n case SkGridItemType.SlidePromotion:\n case SkGridItemType.SlideShop:\n case SkGridItemType.SlideEditorial:\n case SkGridItemType.SlideStudio:\n case SkGridItemType.SlideCustom:\n this.value = new SkGridItemSlideData(<ISkGridItemSlideData> data.value);\n }\n }\n}\n\nexport interface ISkGridData {\n cols?: number;\n gutterSize?: number;\n aspect?: string;\n items?: ISkGridItem[];\n}\n\nexport class SkGridData {\n cols: number;\n gutterSize: number;\n aspect: string;\n items: SkGridItem[];\n\n constructor(data: ISkGridData = {}) {\n this.cols = data.cols || 4;\n this.gutterSize = data.gutterSize || 0;\n this.aspect = data.aspect || '1:1';\n this.items = (data.items || []).map(item => new SkGridItem(item));\n }\n\n setItems(items: ISkGridItem[]) {\n this.items = (items || []).map(item => new SkGridItem(item));\n }\n\n setItem(item: ISkGridItem) {\n this.items.push(new SkGridItem(item))\n }\n\n updateItem(index: number, item: ISkGridItem) {\n this.items[index] = new SkGridItem(item);\n }\n\n removeItem(index: number) {\n this.items.splice(index, 1);\n }\n}\n\nexport interface ISkMobileMainData {\n editorials?: SkGridItemSlideData;\n studios?: SkGridItemSlideData;\n promotions?: SkGridItemSlideData;\n products?: SkGridItemSlideData;\n}\n\nexport class SkMobileMainData {\n editorials: SkGridItemSlideData;\n studios: SkGridItemSlideData;\n promotions: SkGridItemSlideData;\n products: SkGridItemSlideData;\n\n constructor(data: ISkMobileMainData = {}) {\n this.editorials = new SkGridItemSlideData(data.editorials);\n this.studios = new SkGridItemSlideData(data.studios);\n this.promotions = new SkGridItemSlideData(data.promotions);\n this.products = new SkGridItemSlideData(data.products);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sk-front-lib-model.mjs","sources":["../../../projects/sk-front-lib/model/src/lib/audit.ts","../../../projects/sk-front-lib/model/src/lib/user.ts","../../../projects/sk-front-lib/model/src/lib/file.ts","../../../projects/sk-front-lib/model/src/lib/filetype.ts","../../../projects/sk-front-lib/model/src/lib/article.ts","../../../projects/sk-front-lib/model/src/lib/board.ts","../../../projects/sk-front-lib/model/src/lib/product.ts","../../../projects/sk-front-lib/model/src/lib/document.ts","../../../projects/sk-front-lib/model/src/lib/cart.ts","../../../projects/sk-front-lib/model/src/lib/etc.ts","../../../projects/sk-front-lib/model/src/lib/promotion.ts","../../../projects/sk-front-lib/model/src/lib/order.ts","../../../projects/sk-front-lib/model/src/lib/payment.ts","../../../projects/sk-front-lib/model/src/lib/shipping.ts","../../../projects/sk-front-lib/model/src/lib/nicepay.ts","../../../projects/sk-front-lib/model/src/lib/point.ts","../../../projects/sk-front-lib/model/src/lib/coupon.ts","../../../projects/sk-front-lib/model/src/lib/comment.ts","../../../projects/sk-front-lib/model/src/lib/contact.ts","../../../projects/sk-front-lib/model/src/lib/grid.ts","../../../projects/sk-front-lib/model/src/sk-front-lib-model.ts"],"sourcesContent":["export interface IAudit {\n createdBy?: string;\n createdDate?: string;\n updatedBy?: string;\n updatedDate?: string;\n}\n\nexport class Audit {\n public createdBy: string;\n public createdDate: string;\n public updatedBy: string;\n public updatedDate: string;\n\n constructor(data: IAudit = {}) {\n if (data === null) {\n data = {};\n }\n\n this.createdBy = data.createdBy || '';\n this.createdDate = data.createdDate || '';\n this.updatedBy = data.updatedBy || '';\n this.updatedDate = data.updatedDate || '';\n }\n}\n","import {Audit, IAudit} from './audit';\n\nexport interface SkUserCount {\n total?: number;\n trash?: number;\n}\n\nexport enum SkUserRoleName {\n Admin = 'ROLE_ADMIN',\n Developer = 'ROLE_DEVELOPER',\n Manager = 'ROLE_MANAGER',\n User = 'ROLE_USER',\n Dealer = 'ROLE_DEALER',\n Leave = 'ROLE_LEAVE',\n Affiliate = 'ROLE_AFFILIATE'\n}\n\nexport interface ISkUserRole {\n name: SkUserRoleName;\n}\n\nexport interface ISkUser extends IAudit {\n id?: number;\n email?: string;\n nickname?: string;\n emailValid?: boolean;\n roles?: ISkUserRole[];\n}\n\nexport class SkUser extends Audit {\n id: number;\n email: string;\n nickname: string;\n emailValid: boolean;\n roles: ISkUserRole[];\n\n // transient values\n roleNames: SkUserRoleName[];\n\n constructor(data: ISkUser = {}) {\n super(data);\n\n this.id = data.id;\n this.email = data.email;\n this.nickname = data.nickname;\n this.emailValid = data.emailValid || false;\n this.roles = data.roles || [];\n\n // set transient values\n this.roleNames = this.roles.map(value => value.name);\n\n }\n\n hasRole(role: SkUserRoleName): boolean {\n return this.roleNames.indexOf(role) > -1;\n }\n\n hasRoleFromArray(roles: SkUserRoleName[] = []): boolean {\n if (!roles || roles.length === 0) { return false; }\n\n let result = false;\n roles.forEach(role => {\n result = result || this.hasRole(role);\n });\n\n return result;\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n\n isAnonymous(): boolean {\n return this.isEmpty();\n }\n\n isAdmin(): boolean {\n return this.hasRole(SkUserRoleName.Admin);\n }\n\n isDeveloper(): boolean {\n return this.hasRole(SkUserRoleName.Developer);\n }\n\n isManager(): boolean {\n return this.hasRole(SkUserRoleName.Manager);\n }\n\n isDealer(): boolean {\n return this.hasRole(SkUserRoleName.Dealer);\n }\n\n isUser(): boolean {\n return this.hasRole(SkUserRoleName.User);\n }\n\n isAdminAccessable(): boolean {\n return this.isAdmin() || this.isDeveloper() || this.isManager();\n }\n}\n\nexport interface SkUserSignup {\n email: string;\n password: string;\n passwordConfirm: string;\n nickname: string;\n}\n\nexport interface ISkAuthor {\n id?: number;\n nickname?: number;\n email?: number;\n}\n","import {Audit, IAudit} from './audit';\n\nexport interface ISkFile extends IAudit {\n id?: number;\n mime?: string;\n fileSize?: number;\n sourceFilename?: string;\n ext?: string;\n uploadedFilename?: string;\n uploadedPath?: string;\n isValid?: boolean;\n isPrivate?: boolean;\n}\n\nexport class SkFile extends Audit {\n id: number;\n mime: string;\n fileSize: number;\n sourceFilename: string;\n ext: string;\n uploadedFilename: string;\n uploadedPath: string;\n isValid: boolean;\n isPrivate: boolean;\n\n constructor(data: ISkFile = {}) {\n super(data);\n Object.assign(this, data);\n }\n}\n","import {SkFile} from './file';\n\nexport class FileType {\n /* MS office */\n public static mime_doc: string[] = [\n 'application/msword',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n 'application/vnd.ms-word.document.macroEnabled.12',\n 'application/vnd.ms-word.template.macroEnabled.12'\n ];\n public static mime_xsl: string[] = [\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n 'application/vnd.ms-excel.template.macroEnabled.12',\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'\n ];\n public static mime_ppt: string[] = [\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'\n ];\n\n /* PSD */\n public static mime_psd: string[] = [\n 'image/photoshop',\n 'image/x-photoshop',\n 'image/psd',\n 'application/photoshop',\n 'application/psd',\n 'zz-application/zz-winassoc-psd'\n ];\n\n /* Compressed files */\n public static mime_compress: string[] = [\n 'application/x-gtar',\n 'application/x-gcompress',\n 'application/compress',\n 'application/x-tar',\n 'application/x-rar-compressed',\n 'application/octet-stream',\n 'application/x-zip-compressed',\n 'application/zip-compressed',\n 'application/x-7z-compressed',\n 'application/gzip',\n 'application/x-bzip2'\n ];\n\n public static getMimeClass(file: SkFile | File): string {\n let mime = '';\n let name = '';\n if (file instanceof SkFile) {\n mime = (file as SkFile).mime;\n name = (file as SkFile).sourceFilename;\n }\n\n if (file instanceof File) {\n mime = (file as File).type;\n name = (file as File).name;\n }\n\n let mimeClass = 'application';\n if (this.mime_psd.indexOf(mime) !== -1) {\n mimeClass = 'image';\n } else if (mime.match('image.*')) {\n mimeClass = 'image';\n } else if (mime.match('video.*')) {\n mimeClass = 'video';\n } else if (mime.match('audio.*')) {\n mimeClass = 'audio';\n } else if (mime === 'application/pdf') {\n mimeClass = 'pdf';\n } else if (this.mime_compress.indexOf(mime) !== -1) {\n mimeClass = 'compress';\n } else if (this.mime_doc.indexOf(mime) !== -1) {\n mimeClass = 'doc';\n } else if (this.mime_xsl.indexOf(mime) !== -1) {\n mimeClass = 'xls';\n } else if (this.mime_ppt.indexOf(mime) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application') {\n mimeClass = this.fileTypeDetection(name);\n }\n\n return mimeClass;\n }\n\n public static fileTypeDetection(inputFilename: string): string {\n const types: { [ key: string ]: string } = {\n jpg: 'image',\n jpeg: 'image',\n tif: 'image',\n psd: 'image',\n bmp: 'image',\n png: 'image',\n nef: 'image',\n tiff: 'image',\n cr2: 'image',\n dwg: 'image',\n cdr: 'image',\n ai: 'image',\n indd: 'image',\n pin: 'image',\n cdp: 'image',\n skp: 'image',\n stp: 'image',\n '3dm': 'image',\n mp3: 'audio',\n wav: 'audio',\n wma: 'audio',\n mod: 'audio',\n m4a: 'audio',\n compress: 'compress',\n zip: 'compress',\n rar: 'compress',\n '7z': 'compress',\n lz: 'compress',\n z01: 'compress',\n bz2: 'compress',\n gz: 'compress',\n alz: 'compress',\n pdf: 'pdf',\n xls: 'xls',\n xlsx: 'xls',\n ods: 'xls',\n mp4: 'video',\n avi: 'video',\n wmv: 'video',\n mpg: 'video',\n mts: 'video',\n flv: 'video',\n '3gp': 'video',\n vob: 'video',\n m4v: 'video',\n mpeg: 'video',\n m2ts: 'video',\n mov: 'video',\n doc: 'doc',\n docx: 'doc',\n eps: 'doc',\n txt: 'doc',\n odt: 'doc',\n rtf: 'doc',\n ppt: 'ppt',\n pptx: 'ppt',\n pps: 'ppt',\n ppsx: 'ppt',\n key: 'ppt',\n odp: 'ppt'\n };\n\n const chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n const extension = chunks[ chunks.length - 1 ].toLowerCase();\n if (types[ extension ] === undefined) {\n return 'application';\n } else {\n return types[ extension ];\n }\n }\n}\n","import {ISkFile, SkFile} from \"./file\";\nimport {Audit, IAudit} from \"./audit\";\n\nexport interface ISkArticle extends IAudit {\n id?: number;\n content?: string;\n images?: ISkFile[];\n}\n\nexport class SkArticle extends Audit {\n id: number;\n content: string;\n images: SkFile[];\n\n constructor(data: ISkArticle = {}) {\n super(data);\n this.id = data.id;\n this.content = data.content;\n this.images = (data.images || []).map(item => new SkFile(item));\n }\n}\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkDocumentPublicList} from \"./document\";\nimport {ApiPageable} from \"sk-front-lib/api\";\n\nexport interface ISkBoard extends IAudit {\n id?: number;\n url?: string;\n title?: string;\n subtitle?: string;\n skin?: string;\n\n showSupport?: boolean;\n\n permissions?: {\n publicRead?: boolean;\n publicWrite?: boolean;\n secretRead?: boolean;\n secretWrite?: boolean;\n useNotice?: boolean;\n }\n\n}\n\nexport class SkBoard extends Audit {\n id: number;\n url: string;\n title: string;\n subtitle?: string;\n skin: string;\n\n showSupport: boolean;\n\n permissions: {\n publicRead?: boolean;\n publicWrite?: boolean;\n secretRead?: boolean;\n secretWrite?: boolean;\n useNotice?: boolean;\n };\n\n\n constructor(data: ISkBoard = {}) {\n super(data);\n Object.assign(this,\n {\n skin: 'default',\n showSupport: false,\n permissions: {\n publicRead: true,\n publicWrite: false,\n secretRead: false,\n secretWrite: false,\n useNotice: false\n }\n },\n data\n );\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkBoardDetail extends ISkBoard {\n noticeDocuments?: ISkDocumentPublicList[];\n documents?: ApiPageable<ISkDocumentPublicList>;\n}\n","import { ISkArticle, SkArticle } from './article';\nimport { Audit, IAudit } from './audit';\nimport { ISkDocumentPublicList } from './document';\nimport {\n SkBrand,\n SkCatalogEmbed,\n SkCategory,\n SkKeyword,\n SkNaverEpEmbed,\n SkOpengraph,\n SkSubCategoryItem,\n SkValueType\n} from './etc';\nimport { ISkFile, SkFile } from './file';\nimport { SkPaymentStatus } from './payment';\nimport { ISkPromotionGiftGroupItem, ISkPromotionPublicList } from './promotion';\n\nexport interface SkProductCount {\n total?: number;\n trash?: number;\n}\n\nexport interface SkProductStockCount {\n totalIn?: number;\n totalOut?: number;\n current?: number;\n}\n\nexport enum SkProductType {\n Package = 'PACKAGE',\n Single = 'SINGLE'\n}\n\nexport enum SkProductStuffType {\n Hardware = 'HARDWARE',\n Software = 'SOFTWARE',\n Furniture = 'FURNITURE'\n}\n\nexport enum SkProductStatus {\n Preorder = 'PREORDER',\n Onsale = 'ONSALE',\n Soldout = 'SOLDOUT',\n Deactivate = 'DEACTIVATE'\n}\n\nexport enum SkProductAccessPolicy {\n Public = 'PUBLIC',\n Hidden = 'HIDDEN',\n PrivateLink = 'PRIVATE_LINK',\n PrivateUser = 'PRIVATE_USER'\n}\n\nexport interface ISkProductBrand {\n id?: number;\n product?: ISkProduct;\n brand?: SkBrand;\n isDefault?: boolean;\n}\n\nexport class SkProductBrand {\n id: number;\n product: SkProduct;\n brand: SkBrand;\n isDefault: boolean;\n\n constructor(data: ISkProductBrand = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.brand = data.brand;\n this.isDefault = data.isDefault || false;\n }\n}\n\nexport interface ISkProductCategory {\n id?: number;\n product?: ISkProduct;\n category?: SkCategory;\n isDefault?: boolean;\n}\n\nexport class SkProductCategory {\n id: number;\n product: SkProduct;\n category: SkCategory;\n isDefault: boolean;\n\n constructor(data: ISkProductCategory = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.category = data.category;\n this.isDefault = data.isDefault || false;\n }\n}\n\nexport interface ISkProductImage {\n id?: number;\n product?: ISkProduct;\n file?: ISkFile;\n orderIndex?: number;\n}\n\nexport class SkProductImage {\n id: number;\n product: SkProduct;\n file: SkFile;\n orderIndex: number;\n\n constructor(data: ISkProductImage = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : new SkProduct();\n this.file = data.file ? new SkFile(data.file) : new SkFile();\n this.orderIndex = data.orderIndex || -1;\n }\n}\n\nexport enum SkProductOptionType {\n Base = 'BASE', // 기본옵션 (상품의 가격 범위 산정에 영향을 미침)\n Additional = 'ADDITIONAL', // 부가옵션 (상품의 가격 범위 산정에 영향을 미치지 않는다.)\n Multiple = 'MULTIPLE' // 추가옵션 (가격 범위 산정에 영향을 미치지 않으며, 중복으로 선택 가능하다)\n}\n\nexport interface ISkProductOption {\n id?: number;\n type?: SkProductOptionType;\n title?: string;\n values?: ISkProductOptionValue[];\n promotionOption?: boolean;\n}\n\nexport interface ISkProductOptionValue {\n id?: number;\n title?: string;\n value?: string;\n addedPrice?: number;\n}\n\nexport interface ISkProductOptionAnswer {\n id?: number;\n value?: any;\n}\n\nexport interface ISkProductPackage {\n id?: number;\n children?: ISkProduct;\n hidden?: boolean;\n share?: number;\n amount?: number;\n}\n\nexport class SkProductPackage {\n id: number;\n children: SkProduct;\n hidden: boolean;\n share: number;\n amount: number;\n\n constructor(data: ISkProductPackage = {}) {\n this.id = data.id;\n this.children = data.children ? new SkProduct(data.children) : null;\n this.hidden = data.hidden || false;\n this.share = data.share || (data.children ? data.children.price.retail : 0);\n this.amount = data.amount || 1;\n }\n}\n\nexport interface SkProductPrice {\n message?: string;\n quotaFree?: boolean;\n paymentNaver?: boolean;\n original?: number;\n retail?: number;\n pointAmount?: number;\n pointType?: SkValueType;\n rebateAmount?: number;\n rebateType?: SkValueType;\n maxUsablePoint?: number;\n wholesaleNormal?: number;\n wholesaleDealer?: number;\n wholesaleConditionA?: number;\n wholesaleConditionB?: number;\n wholesaleConditionC?: number;\n useVarPrice?: boolean;\n useVarPriceXc?: boolean;\n varCurrency?: string;\n varFormula?: string;\n varMap?: number;\n varCost?: number;\n varAddAmount?: number;\n varAddPercent?: number;\n varUpdatedDate?: string;\n}\n\nexport interface SkProductStock {\n useStockHistory?: boolean;\n useAutoStatusChange?: boolean;\n useXchangeApi?: boolean;\n}\n\nexport interface SkProductEDelivery {\n sku?: string;\n downloadLink?: string;\n template?: string;\n}\n\nexport interface ISkProductStockHistory extends IAudit {\n id?: number;\n used?: boolean;\n serial?: string;\n memo?: string;\n}\n\n\nexport interface ISkProduct extends IAudit {\n id?: number;\n title?: string;\n code?: string;\n url?: string;\n type?: SkProductType;\n stuffType?: SkProductStuffType;\n status?: SkProductStatus;\n preorderStartDate?: string;\n brands?: ISkProductBrand[];\n categories?: ISkProductCategory[];\n keywords?: SkKeyword[];\n images?: ISkProductImage[];\n accessPolicy?: SkProductAccessPolicy;\n accessPolicyValue?: string;\n price?: SkProductPrice;\n stockConfig?: SkProductStock;\n edelivery?: SkProductEDelivery;\n furnitureAssembly?: boolean;\n opengraph?: SkOpengraph;\n naverep?: SkNaverEpEmbed;\n catalog?: SkCatalogEmbed;\n options?: ISkProductOption[];\n articleDesc?: ISkArticle;\n articleSpec?: ISkArticle;\n packages?: ISkProductPackage[];\n activated?: boolean;\n listOrder?: number;\n viewCount?: number;\n simpleText?: string;\n}\n\nexport class SkProduct extends Audit {\n id: number;\n title: string;\n code?: string;\n url?: string;\n type: SkProductType;\n stuffType: SkProductStuffType;\n status: SkProductStatus;\n preorderStartDate: string;\n brands: SkProductBrand[];\n categories: SkProductCategory[];\n keywords: SkKeyword[];\n images: SkProductImage[];\n accessPolicy: SkProductAccessPolicy;\n accessPolicyValue: string;\n price: SkProductPrice;\n stockConfig: SkProductStock;\n edelivery: SkProductEDelivery;\n furnitureAssembly: boolean;\n opengraph: SkOpengraph;\n naverep: SkNaverEpEmbed;\n catalog: SkCatalogEmbed;\n options: ISkProductOption[];\n articleDesc: ISkArticle;\n articleSpec: ISkArticle;\n packages: SkProductPackage[];\n activated: boolean;\n listOrder: number;\n viewCount: number;\n simpleText: string;\n\n constructor(data: ISkProduct = {}) {\n super(data);\n\n this.id = data.id;\n this.title = data.title;\n this.code = data.code;\n this.url = data.url;\n this.type = data.type || SkProductType.Single;\n this.stuffType = data.stuffType;\n this.status = data.status || SkProductStatus.Onsale;\n this.preorderStartDate = data.preorderStartDate;\n this.brands = (data.brands || []).map(item => new SkProductBrand(item));\n this.categories = (data.categories || []).map(item => new SkProductCategory(item));\n this.keywords = (data.keywords || []);\n this.images = (data.images || []).map(item => new SkProductImage(item));\n this.accessPolicy = data.accessPolicy || SkProductAccessPolicy.Public;\n this.accessPolicyValue = data.accessPolicyValue;\n this.price = Object.assign({}, {\n message: '',\n quotaFree: false,\n paymentNaver: false,\n original: 0,\n retail: 0,\n pointAmount: 0,\n pointType: 'AMOUNT',\n maxUsablePoint: 50,\n wholesaleNormal: 0,\n wholesaleDealer: 0,\n wholesaleConditionA: 0,\n wholesaleConditionB: 0,\n wholesaleConditionC: 0,\n useVarPrice: false,\n useVarPriceXc: false,\n varCurrency: 'USD',\n varFormula: '',\n varMap: 0,\n varCost: 0,\n varAddAmount: 0,\n varAddPercent: 0,\n varUpdatedDate: null\n }, data.price);\n this.stockConfig = Object.assign({}, {useStockHistory: false, useAutoStatusChange: false, useXchangeApi: false}, data.stockConfig);\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n this.naverep = Object.assign({}, {naverepShow: true, naverepCustom: false, naverepTitle: '', naverepCategory: ''}, data.naverep);\n this.catalog = Object.assign({}, {catalogShow: true, catalogCustom: false, catalogTitle: '', catalogCategory: null}, data.catalog );\n this.edelivery = Object.assign({}, {sku: '', downloadLink: '', template: ''}, data.edelivery);\n this.furnitureAssembly = data.furnitureAssembly || false;\n this.options = data.options || [];\n this.articleDesc = data.articleDesc ? new SkArticle(data.articleDesc) : new SkArticle();\n this.articleSpec = data.articleSpec ? new SkArticle(data.articleSpec) : new SkArticle();\n this.packages = (data.packages || []).map(item => new SkProductPackage(item));\n this.activated = data.activated || false;\n this.listOrder = data.listOrder || 0;\n this.viewCount = data.viewCount || 0;\n this.simpleText = data.simpleText || '';\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface SkProductListItem {\n id?: number;\n title?: string;\n code?: string;\n url?: string;\n type?: SkProductType;\n stuffType?: SkProductStuffType;\n status?: SkProductStatus;\n hasPromotion?: boolean;\n hasGift?: boolean;\n realtimeSoftware?: boolean;\n furnitureAssembly?: boolean;\n brandName?: string;\n brandId?: number;\n brands?: ISkProductBrandItem[];\n\n wishlistCount?: number;\n wishlistMe?: boolean;\n image?: ISkFile;\n\n quotaFree?: boolean;\n priceMessage?: string;\n priceOriginal?: number;\n priceDiscounted?: number;\n priceMin?: number;\n priceMax?: number;\n\n packageItems?: ISkProductPackageListItem[];\n\n accessPolicy?: SkProductAccessPolicy;\n accessPolicyValue?: string;\n}\n\nexport interface ISkProductDetail extends SkProductListItem {\n point?: number;\n includedInPackage?: boolean;\n images?: ISkFile[];\n simpleText?: string;\n articleDesc?: ISkArticle;\n articleSpec?: ISkArticle;\n opengraph?: SkOpengraph;\n paymentNaver?: boolean;\n packageItems?: ISkProductPackageListItem[];\n linkedSeries?: ISkProductDetailSeries[];\n linkedDocuments?: ISkDocumentPublicList[];\n linkedPromotions?: ISkPromotionPublicList[];\n linkedPromotionGiftGroups?: ISkPromotionGiftGroupItem[];\n}\n\nexport interface ISkProductPackageListItem {\n id?: number;\n product?: SkProductListItem;\n showSpec?: boolean;\n showDesc?: boolean;\n orderIndex?: number;\n amount?: number;\n}\n\nexport interface SkProductWishlist {\n wishlistCount?: number;\n wishlistMe?: boolean;\n}\n\nexport interface ISkProductDetailSeriesItem {\n id?: number;\n title?: string;\n url?: string;\n}\n\nexport interface ISkProductDetailSeries {\n id?: number;\n title?: string;\n items?: ISkProductDetailSeriesItem[];\n}\n\nexport interface ISkProductFilterData {\n lowestPrice?: number;\n highestPrice?: number;\n minPrice?: number;\n maxPrice?: number;\n availableBrands?: SkBrand[];\n availableCategories?: SkCategory[];\n availableSubCategories?: SkCategory[];\n selectedSubCategoryItems?: SkSubCategoryItem[];\n}\n\nexport interface ISkProductBrandItem {\n id: number;\n name: string;\n}\n\nexport interface ISkProductPublish {\n id?: number;\n productId?: number;\n status?: SkProductStatus;\n preorderStartDate?: string;\n accessPolicy?: SkProductAccessPolicy;\n actionDate?: string;\n activated?: boolean;\n}\n\nexport function getSkProductStatusText(status: SkProductStatus) {\n switch (status) {\n case SkProductStatus.Deactivate:\n return '판매 중지';\n case SkProductStatus.Onsale:\n return '판매중';\n case SkProductStatus.Preorder:\n return '예약판매';\n case SkProductStatus.Soldout:\n return '품절';\n default:\n return status;\n }\n}\n\nexport function getSkProductAccessPolicyText(accessPolicy: SkProductAccessPolicy) {\n switch (accessPolicy) {\n case SkProductAccessPolicy.Hidden:\n return '어드민 외 접근불가';\n case SkProductAccessPolicy.PrivateLink:\n return '링크로만 접근 가능';\n case SkProductAccessPolicy.PrivateUser:\n return '해당 유저만 접근 가능';\n case SkProductAccessPolicy.Public:\n return '공개';\n default:\n return accessPolicy;\n }\n}\n\n\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkFile, SkFile} from \"./file\";\nimport {ISkArticle, SkArticle} from \"./article\";\nimport {ISkBoard, SkBoard} from \"./board\";\nimport { ISkProduct, SkProduct, SkProductAccessPolicy, SkProductStatus } from \"./product\";\nimport {SkCategory, SkOpengraph} from \"./etc\";\nimport {ISkUser, SkUser} from \"./user\";\n\nexport interface SkDocumentCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkDocumentSibling {\n id?: number;\n url?: string;\n}\n\nexport enum SkDocumentType {\n Editorial = 'EDITORIAL',\n Studio = 'STUDIO',\n Post = 'POST',\n Page = 'PAGE'\n}\n\nexport interface ISkDocumentAttachment {\n id?: number;\n file?: any;\n title?: string;\n url?: string;\n}\n\nexport class SkDocumentAttachment {\n id: number;\n file: SkFile;\n title: string;\n url: string;\n\n constructor(data: ISkDocumentAttachment = {}) {\n this.id = data.id;\n this.file = new SkFile(data.file);\n this.title = data.title;\n this.url = data.url;\n }\n}\n\nexport interface ISkDocument extends IAudit {\n id?: number;\n type?: SkDocumentType;\n url?: string;\n title?: string;\n author?: ISkUser;\n activate?: boolean;\n published?: boolean;\n secret?: boolean;\n notice?: boolean;\n article?: ISkArticle;\n image?: ISkFile;\n imageAlt?: ISkFile;\n board?: ISkBoard;\n category?: SkCategory;\n linkedProduct?: ISkProduct[];\n attachment?: ISkDocumentAttachment[];\n viewCount?: number;\n listOrder?: number;\n opengraph?: SkOpengraph;\n}\n\nexport class SkDocument extends Audit {\n id: number;\n type: SkDocumentType;\n url: string;\n title: string;\n author: SkUser;\n activate: boolean;\n published: boolean;\n secret: boolean;\n notice: boolean;\n article: SkArticle;\n image: SkFile;\n imageAlt: SkFile;\n board: SkBoard;\n category: SkCategory;\n linkedProduct: SkProduct[];\n attachment: SkDocumentAttachment[];\n viewCount: number;\n listOrder: number;\n opengraph: SkOpengraph;\n\n constructor(data: ISkDocument = {}) {\n super(data);\n\n this.id = data.id;\n this.type = data.type;\n this.url = data.url;\n this.title = data.title;\n this.author = data.author ? new SkUser(data.author) : null;\n this.activate = data.activate || false;\n this.published = data.published || false;\n this.secret = data.secret || false;\n this.notice = data.notice || false;\n this.article = data.article ? new SkArticle(data.article) : null;\n this.image = data.image ? new SkFile(data.image) : null;\n this.imageAlt = data.imageAlt ? new SkFile(data.imageAlt): null;\n this.board = data.board ? new SkBoard(data.board) : null;\n this.category = data.category;\n this.linkedProduct = (data.linkedProduct || []).map(item => new SkProduct(item));\n this.attachment = (data.attachment || []).map(item => new SkDocumentAttachment(item));\n this.viewCount = data.viewCount;\n this.listOrder = data.listOrder || 0;\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkDocumentPublicList {\n id?: number;\n url?: string;\n type?: SkDocumentType;\n category?: SkCategory;\n title?: string;\n boardUrl?: string;\n boardName?: string;\n desc?: String;\n image?: ISkFile;\n imageAlt?: ISkFile;\n subImages?: number[];\n authorId?: number;\n authorNickname?: string;\n authorEmail?: string;\n createdDate?: string;\n}\n\nexport interface ISkDocumentPublish {\n id?: number;\n documentId?: number;\n published?: boolean;\n notice?: boolean;\n listOrder?: boolean;\n actionDate?: string;\n activated?: boolean;\n}\n","import { ISkProductDetail, ISkProductOption, ISkProductOptionValue } from './product';\nimport { ISkPromotionGiftItem } from './promotion';\n\nexport interface ISkCartOption {\n id?: number;\n option?: ISkProductOption;\n value?: ISkProductOptionValue;\n amount?: number;\n}\n\nexport interface ISkCart {\n id?: number;\n product?: ISkProductDetail;\n amount?: number;\n options?: ISkCartOption[];\n gifts?: ISkPromotionGiftItem[]\n}\n\nexport class SkCartOption {\n id: number;\n option: ISkProductOption;\n value: ISkProductOptionValue;\n amount: number;\n\n constructor(data: ISkCartOption = {}) {\n this.id = data.id || null;\n this.option = data.option;\n this.value = data.value;\n this.amount = data.amount || 1;\n }\n}\n\nexport class SkCart {\n id: number;\n product: ISkProductDetail;\n amount: number;\n options: SkCartOption[];\n gifts: ISkPromotionGiftItem[];\n\n constructor(data: ISkCart = {}) {\n this.id = data.id || null;\n this.product = data.product;\n this.amount = data.amount || 1;\n this.options = (data.options || []).map(item => new SkCartOption(item));\n this.gifts = data.gifts || [];\n }\n\n getSinglePrice(): number {\n const basePrice = Math.min(this.product.priceOriginal, this.product.priceDiscounted);\n const optionPrice = (this.options || []).map(item => item.value.addedPrice * item.amount).reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n return basePrice + optionPrice;\n }\n\n getTotalPrice(): number {\n return this.getSinglePrice() * this.amount;\n }\n\n checkOptionExists(): boolean {\n return this.options.filter(option => !!option.value).length > 0;\n }\n}\n\nexport interface ISkCartOptionCreate {\n option: number;\n value: number;\n}\n\nexport interface ISkCartCreate {\n product: number;\n amount: number;\n selectedOptions: ISkCartOptionCreate[];\n selectedGifts: {id: number}[];\n}\n\n","import { ApiPageable } from 'sk-front-lib/api';\nimport { ISkArticle } from './article';\nimport { IAudit } from './audit';\nimport { ISkDocumentPublicList } from './document';\nimport { ISkFile } from './file';\nimport { SkProduct, SkProductListItem } from './product';\nimport { ISkPromotionPublicList } from './promotion';\nimport { ISkUser } from './user';\n\nexport interface SkOpengraph {\n ogAutoFill?: boolean;\n ogTitle?: string;\n ogDesc?: string;\n ogImage?: ISkFile;\n}\n\nexport interface SkNaverEpEmbed {\n naverepShow?: boolean;\n naverepCustom?: boolean;\n naverepTitle?: string;\n naverepCategory?: string;\n}\n\nexport interface SkCatalogEmbed {\n catalogShow?: boolean;\n catalogCustom?: boolean;\n catalogTitle?: string;\n catalogCategory?: number;\n}\n\nexport enum SkValueType {\n Amount = 'AMOUNT',\n Percent = 'PERCENT',\n Fixed = 'FIXED',\n Custom = 'CUSTOM'\n}\n\nexport enum SkGiftType {\n Real = 'REAL',\n Custom = 'CUSTOM'\n}\n\nexport interface SkBrand {\n id?: number;\n title?: string;\n content?: string;\n showDistribution?: boolean;\n listOrder?: number;\n image?: ISkFile;\n opengraph?: SkOpengraph;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport enum SkCategoryType {\n Product = 'PRODUCT', // 상품 관련\n Promotion = 'PROMOTION', // 프로모션\n Editorial = 'EDITORIAL',\n Studio = 'STUDIO',\n Board = 'BOARD'\n}\n\nexport interface SkSubCategoryItem {\n id?: number;\n title?: string;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport interface SkSubCategory {\n id?: number;\n title?: string;\n children?: SkSubCategoryItem[];\n}\n\nexport interface SkCategory {\n id?: number;\n title?: string;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n type?: SkCategoryType;\n subCategories?: SkSubCategory[];\n opengraph?: SkOpengraph;\n}\n\nexport interface SkKeyword {\n id?: number;\n title?: string;\n}\n\nexport interface ISkAddress {\n id?: number;\n title?: string;\n receiverName?: string;\n email?: string;\n phone?: string;\n phone2?: string;\n zipCode?: string;\n address?: string;\n address2?: string;\n isDefault?: boolean;\n}\n\nexport interface ISkStore {\n id?: number;\n name?: string;\n url?: string;\n address?: string;\n phone?: string;\n email?: string;\n mapKakaoUrl?: string;\n mapNaverUrl?: string;\n mapGoogleUrl?: string;\n mapEmbedUrl?: string;\n showDistribution?: boolean;\n brands?: SkBrand[];\n}\n\nexport class SkStore {\n id: number;\n name: string;\n url: string;\n address: string;\n phone: string;\n email: string;\n mapKakaoUrl: string;\n mapNaverUrl: string;\n mapGoogleUrl: string;\n mapEmbedUrl: string;\n showDistribution: boolean;\n brands: SkBrand[];\n\n constructor(data: ISkStore = {}) {\n Object.assign(this, {\n name: '',\n url: '',\n address: '',\n phone: '',\n email: '',\n mapKakaoUrl: '',\n mapNaverUrl: '',\n mapGoogleUrl: '',\n mapEmbedUrl: '',\n showDistribution: false,\n brands: []\n }, data);\n }\n}\n\nexport interface ISkSearchResult {\n product?: ApiPageable<SkProductListItem>;\n promotion?: ApiPageable<ISkPromotionPublicList>;\n editorial?: ApiPageable<ISkDocumentPublicList>;\n studio?: ApiPageable<ISkDocumentPublicList>;\n etc?: ApiPageable<ISkDocumentPublicList>;\n}\n\nexport interface ISkSearchKeyword {\n id?: number;\n keyword?: string;\n}\n\nexport interface ISkShippingFee {\n id?: number;\n zipCodeStart?: string;\n zipCodeEnd?: string;\n address?: string;\n fee?: number;\n}\n\nexport interface ISkIdTitleValue {\n id?: number | string;\n title?: string;\n value?: string;\n}\n\nexport interface SkBank {\n id?: number;\n name?: string;\n}\n\nexport enum SkAffiliateRequestStatus {\n Wait = 'WAIT',\n Approve = 'APPROVE',\n Deny = 'DENY',\n}\n\nexport enum SkAffiliateTargetType {\n None = 'NONE',\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n Product = 'PRODUCT'\n}\n\nexport enum SkAffiliateTargetApply {\n Include = 'INCLUDE',\n Exclude = 'EXCLUDE'\n}\n\nexport interface ISkAffiliateTarget {\n id?: number;\n type?: SkAffiliateTargetType;\n apply?: SkAffiliateTargetApply;\n orderIndex?: number;\n startDate?: string;\n endDate?: string;\n brand?: SkBrand;\n category?: SkCategory;\n products?: SkProduct[];\n rebateAmount?: number;\n rebateType?: SkValueType;\n activated?: boolean;\n}\n\nexport interface ISkAffiliateRequest extends IAudit {\n id: string,\n status: SkAffiliateRequestStatus,\n user: ISkUser,\n name: string,\n phoneNumber: string,\n social?: string,\n desc: ISkArticle,\n attachment?: ISkFile,\n denyReason?: string\n}\n\nexport interface ISkAffiliateStatsItem {\n date?: string;\n count?: number;\n sum?: number;\n sum2?: number;\n\n rank?: {\n id?: number;\n name?: string;\n count?: number;\n sum?: number;\n sum2?: number;\n }[]\n}\n\nexport interface ISkAffiliateRebateMonthly {\n id?: number;\n year?: number;\n month?: number;\n totalRebatePoint?: number;\n totalOrderCount?: number;\n totalProductView?: number;\n pointPaid?: boolean;\n paidDate?: boolean;\n}\n\nexport interface ISkAffiliateStats {\n dailyProductView?: ISkAffiliateStatsItem[];\n dailyPurchase?: ISkAffiliateStatsItem[];\n monthlyProductView?: ISkAffiliateStatsItem[];\n monthlyPurchase?: ISkAffiliateStatsItem[];\n monthlyRebates?: ISkAffiliateRebateMonthly[];\n}\n","import { ISkArticle, SkArticle } from './article';\nimport { Audit, IAudit } from './audit';\nimport { SkCategory, SkGiftType, SkOpengraph, SkValueType } from './etc';\nimport { ISkFile, SkFile } from './file';\nimport { ISkProduct, ISkProductOption, SkProduct, SkProductListItem } from './product';\n\nexport enum SkPromotionAccessPolicy {\n Public = 'PUBLIC',\n Hidden = 'HIDDEN'\n}\n\nexport enum SkPromotionGiftServeType {\n All = 'ALL',\n Select = 'SELECT'\n}\n\nexport interface SkPromotionCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkPromotionGift {\n id?: number;\n product?: ISkProduct;\n amount?: number;\n\n type?: SkGiftType;\n optionTitle?: string;\n optionValueTitle?: string;\n optionAddedPrice?: number;\n customTitle?: string;\n customImage?: ISkFile;\n customBrandName?: string;\n customPrice?: number;\n}\n\nexport class SkPromotionGift {\n id: number;\n product: SkProduct;\n amount: number;\n\n type: SkGiftType;\n optionTitle: string;\n optionValueTitle: string;\n optionAddedPrice: number;\n customTitle: string;\n customImage: ISkFile;\n customBrandName: string;\n customPrice: number;\n\n constructor(data: ISkPromotionGift = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.amount = data.amount || 1;\n\n this.type = data.type || SkGiftType.Real;\n this.optionTitle = data.optionTitle || '';\n this.optionValueTitle = data.optionValueTitle || '';\n this.optionAddedPrice = data.optionAddedPrice || 0;\n this.customTitle = data.customTitle || '';\n this.customImage = new SkFile(data.customImage || {});\n this.customBrandName = data.customBrandName || '';\n this.customPrice = data.customPrice || 0;\n }\n}\n\nexport interface ISkPromotionGiftGroup {\n id?: number;\n serveType?: SkPromotionGiftServeType;\n gifts?: ISkPromotionGift[];\n}\n\nexport class SkPromotionGiftGroup {\n id: number;\n serveType: SkPromotionGiftServeType;\n gifts: ISkPromotionGift[];\n\n constructor(data: ISkPromotionGiftGroup = {}) {\n this.id = data.id;\n this.serveType = data.serveType || SkPromotionGiftServeType.All;\n this.gifts = (data.gifts || []).map(item => new SkPromotionGift(item));\n }\n}\n\nexport interface ISkPromotionTarget {\n id?: number;\n promotion?: ISkPromotion;\n product?: ISkProduct;\n isLimited?: boolean;\n stockAmount?: number;\n discountType?: SkValueType;\n discountValue?: number;\n giftGroups?: ISkPromotionGiftGroup[];\n}\n\nexport class SkPromotionTarget {\n id: number;\n promotion: SkPromotion;\n product: SkProduct;\n isLimited: boolean;\n stockAmount: number;\n discountType: SkValueType;\n discountValue: number;\n giftGroups: SkPromotionGiftGroup[];\n\n constructor(data: ISkPromotionTarget = {}) {\n this.id = data.id;\n this.promotion = data.promotion ? new SkPromotion(data.promotion) : null;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.isLimited = data.isLimited || false;\n this.stockAmount = data.stockAmount || 0;\n this.discountType = data.discountType;\n this.discountValue = data.discountValue || 0;\n this.giftGroups = (data.giftGroups || []).map(item => new SkPromotionGiftGroup(item));\n }\n}\n\nexport interface ISkPromotionCategory {\n id?: number;\n category?: SkCategory;\n}\n\nexport class SkPromotionCategory {\n id: number;\n category: SkCategory;\n\n constructor(data: ISkPromotionCategory = {}) {\n this.id = data.id;\n this.category = data.category;\n }\n}\n\nexport interface ISkPromotion extends IAudit {\n id?: number;\n title?: string;\n startDate?: string;\n endDate?: string;\n endDateString?: string;\n rebateString?: string;\n accessPolicy?: SkPromotionAccessPolicy;\n categories?: ISkPromotionCategory[];\n image?: ISkFile;\n imageAlt?: ISkFile;\n article?: ISkArticle;\n benefit?: ISkArticle;\n targets?: ISkPromotionTarget[];\n opengraph?: SkOpengraph;\n listOrder?: number;\n activated?: boolean;\n}\n\nexport class SkPromotion extends Audit {\n id: number;\n title: string;\n startDate: string;\n endDate: string;\n endDateString: string;\n rebateString: string;\n accessPolicy?: SkPromotionAccessPolicy;\n categories?: SkPromotionCategory[];\n image: SkFile;\n imageAlt: SkFile;\n article: SkArticle;\n benefit: SkArticle;\n targets: SkPromotionTarget[];\n opengraph: SkOpengraph;\n listOrder: number;\n activated: boolean;\n\n constructor(data: ISkPromotion = {}) {\n super(data);\n\n this.id = data.id;\n this.title = data.title || '';\n this.startDate = data.startDate;\n this.endDate = data.endDate;\n this.endDateString = data.endDateString || '';\n this.rebateString = data.rebateString || '';\n this.accessPolicy = data.accessPolicy || SkPromotionAccessPolicy.Public;\n this.categories = (data.categories || []).map(item => new SkPromotionCategory(item));\n this.image = data.image ? new SkFile(data.image) : null;\n this.imageAlt = data.imageAlt ? new SkFile(data.imageAlt) : null;\n this.article = data.article ? new SkArticle(data.article) : null;\n this.benefit = data.benefit ? new SkArticle(data.benefit) : null;\n this.targets = (data.targets || []).map(item => new SkPromotionTarget(item));\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n this.listOrder = data.listOrder;\n this.activated = data.activated;\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkPromotionGiftItem {\n id?: number;\n product?: SkProductListItem;\n amount?: number;\n type: SkGiftType;\n optionTitle: string;\n optionValueTitle: string;\n optionAddedPrice: number;\n customTitle: string;\n customImage: ISkFile;\n customBrandName: string;\n customPrice: number;\n}\n\nexport interface ISkPromotionGiftGroupItem {\n serveType?: SkPromotionGiftServeType;\n gifts?: ISkPromotionGiftItem[];\n}\n\nexport interface ISkPromotionTargetItem {\n productId?: number;\n product?: SkProductListItem;\n isLimited?: boolean;\n stockAmount?: number;\n discountType?: SkValueType;\n discountValue?: number;\n giftGroups?: ISkPromotionGiftGroupItem[];\n options?: ISkProductOption[];\n}\n\nexport interface ISkPromotionUpdateImage {\n image?: number;\n imageAlt?: number;\n}\n\nexport interface ISkPromotionPublicList {\n id?: number;\n image?: ISkFile;\n imageAlt?: ISkFile;\n title?: string;\n endDate?: string;\n endDateString?: string;\n rebateString?: string;\n}\n\nexport interface ISkPromotionPublicDetail extends ISkPromotionPublicList {\n content?: string;\n benefit?: string;\n targets?: ISkPromotionTargetItem[];\n opengraph?: SkOpengraph;\n}\n","import {IAudit} from './audit';\nimport {ISkAddress} from './etc';\nimport {ISkFile} from './file';\nimport {ISkPayment} from './payment';\nimport {ISkProductDetail} from './product';\nimport {ISkShipping, SkShippingMethod} from './shipping';\nimport {ISkAuthor, ISkUser, SkUser} from './user';\n\nexport interface ISkOrderCount {\n total?: number;\n wait?: number;\n paid?: number;\n process?: number;\n complete?: number;\n cancel?: number;\n}\n\nexport enum SkOrderType {\n Normal = 'NORMAL',\n Admin = 'ADMIN',\n DEALER = 'DEALER'\n}\n\nexport enum SkOrderStatus {\n Prepare = 'PREPARE', // 최초 주문 생성시 적용 상태.\n Progress = 'PROGRESS', // 결제 진행중.\n Wait = 'WAIT', // 결제 대기중 (무통장 입금)\n Paid = 'PAID', // 결제 완료.\n ProcessStart = 'PROCESS_START', // 결제 후 처리 시작 (사측이 확인한 상태)\n ProcessPartial = 'PROCESS_PARTIAL', // 결제 후 일부 처리중.\n Process = 'PROCESS', // 결제 후 처리중.\n Complete = 'COMPLETE', // 결제후 (배송 등 처리까지) 완료.\n CancelRequest = 'CANCEL_REQUEST', // 주문 취소 요청\n CancelSystem = 'CANCEL_SYSTEM', // 시스템에 의한 자동 취소\n Cancel = 'CANCEL', // 주문 취소\n Error = 'ERROR'\n}\n\nexport enum SkOrderCancelType {\n Just = 'JUST', // 구매 의사 없음 (변심)\n ModifyOrder = 'MODIFY_ORDER', // 주문 정보 변경\n Wrong = 'WRONG', // 다른 상품 잘못 주문\n Cheaper = 'CHEAPER', // 타 쇼핑몰에서 더 저렴하게 판매\n Error = 'ERROR' // 상품 정보 오류\n}\n\nexport function getSkOrderCancelTypeText(type: SkOrderCancelType) {\n switch (type) {\n case SkOrderCancelType.Just:\n return '구매 의사 없음 (변심)';\n case SkOrderCancelType.ModifyOrder:\n return '주문 정보 변경';\n case SkOrderCancelType.Wrong:\n return '다른 상품 잘못 주문';\n case SkOrderCancelType.Cheaper:\n return '타 쇼핑몰에서 더 저렴하게 판매';\n case SkOrderCancelType.Error:\n return '상품 정보 오류';\n default:\n return '코드(' + type + ')';\n }\n}\n\nexport function getSkOrderStatusText(status: SkOrderStatus) {\n switch (status) {\n case SkOrderStatus.Prepare:\n return '주문 생성중';\n case SkOrderStatus.Progress:\n return '결제 진행중';\n case SkOrderStatus.Wait:\n return '결제 대기중';\n case SkOrderStatus.Paid:\n return '결제 완료';\n case SkOrderStatus.ProcessStart:\n return '배송 준비중';\n case SkOrderStatus.ProcessPartial:\n return '부분 배송중';\n case SkOrderStatus.Process:\n return '배송중';\n case SkOrderStatus.Complete:\n return '배송 완료';\n case SkOrderStatus.CancelRequest:\n return '주문 취소 요청중'\n case SkOrderStatus.CancelSystem:\n return '시스템 취소'\n case SkOrderStatus.Cancel:\n return '주문 취소';\n case SkOrderStatus.Error:\n return '주문 오류(취소)';\n default:\n return '상태코드(' + status + ')';\n }\n}\n\nexport interface ISkOrderItemOption {\n id?: number;\n optionTitle?: string;\n valueTitle?: string;\n addedPrice?: number;\n amount?: number;\n}\n\nexport interface ISkOrderList {\n id?: string;\n title?: string;\n type?: SkOrderType;\n image?: ISkFile;\n status?: SkOrderStatus;\n\n user?: ISkAuthor;\n\n total?: number;\n subtotal?: number;\n shippingFee?: number;\n usedPoint?: number;\n\n createdDate?: string;\n}\n\nexport interface ISkOrderDetail {\n id?: string;\n title?: string;\n type?: SkOrderType;\n status?: SkOrderStatus;\n receiverName?: string;\n email?: string;\n phone?: string;\n items?: ISkOrderDetailItem[];\n payment?: ISkPayment;\n cancelType?: SkOrderCancelType;\n cancelDesc?: string;\n refundAccount?: string;\n shipping?: ISkShipping;\n\n user?: ISkUser;\n\n memo?: string;\n total?: number;\n subtotal?: number;\n shippingFee?: number;\n usedPoint?: number;\n discount?: number;\n maxUsablePoint?: number;\n affiliateKey?: string;\n\n createdDate?: string;\n}\n\nexport class SkOrderDetail {\n id: string;\n title: string;\n type: SkOrderType;\n status: SkOrderStatus;\n receiverName: string;\n email: string;\n phone: string;\n items: SkOrderDetailItem[];\n payment: ISkPayment;\n cancelType?: SkOrderCancelType;\n cancelDesc?: string;\n refundAccount?: string;\n shipping: ISkShipping;\n\n user: SkUser;\n\n memo: string;\n total: number;\n subtotal: number;\n shippingFee: number;\n usedPoint: number;\n maxUsablePoint: number;\n discount: number;\n affiliateKey?: string;\n\n createdDate: string;\n\n constructor(data: ISkOrderDetail = {}) {\n if (data === null) { data = {}; }\n Object.assign(this, data);\n\n this.user = data.user ? new SkUser(data.user) : null;\n this.items = (data.items || []).map(item => new SkOrderDetailItem(item));\n }\n}\n\nexport interface ISkOrderDetailItem {\n id?: number;\n product?: ISkProductDetail;\n amount?: number;\n options?: ISkOrderItemOption[];\n cartId?: string;\n price?: number;\n point?: number;\n couponDiscount?: number;\n}\n\nexport class SkOrderDetailItem {\n id: number;\n product: ISkProductDetail;\n amount: number;\n options: ISkOrderItemOption[];\n cartId: string;\n price: number;\n point: number;\n couponDiscount: number;\n originalPriceAtMoment: number;\n discountedPriceAtMoment: number;\n discountedMemo: string;\n\n constructor(data: ISkOrderDetailItem = {}) {\n if (data === null) { data = {}; }\n Object.assign(this, data);\n }\n\n getSinglePrice() {\n const basePrice = Math.min(this.product.priceOriginal, this.product.priceDiscounted);\n const optionPrice = (this.options || []).map(option => option.addedPrice * option.amount).reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n\n return basePrice + optionPrice;\n }\n\n getTotalPrice() {\n return this.getSinglePrice() * this.amount;\n }\n\n checkOptionExists(): boolean {\n return (this.options || []).length > 0;\n }\n}\n\nexport interface ISkOrderReqProgress {\n addressData?: ISkAddress;\n createAddress?: boolean;\n usePoint?: number;\n banker?: string;\n memo?: string;\n method?: SkShippingMethod;\n useCoupons?: string[];\n}\n\nexport interface ISkOrderLog extends IAudit {\n id?: number;\n type?: 'SYSTEM' | 'MEMO';\n message?: string;\n}\n\nexport interface ISkValidateCoupon {\n discountAmount?: number;\n couponData?: {discountAmount: number, title: string, serial: string}[];\n}\n","export enum SkPaymentStatus {\n Transfer = 'TRANSFER', // 무통장 입금\n Card = 'CARD', // 일반 카드결제\n Card2 = 'CARD2', // 무이자 할부 카드결제\n Naver = 'NAVER', // 네이버 페이 (주문형)\n NaverPG = 'NAVER_PG', // 네이버 페이 (결제형)\n Kakao = 'KAKAO', // 카카오 페이\n Payco = 'PAYCO' // 페이코\n}\n\nexport interface ISkPayment {\n id?: string;\n type?: SkPaymentStatus;\n txId?: string;\n responseCode?: string;\n responseMessage?: string;\n cancelCode?: string;\n cancelMessage?: string;\n paidPrice?: number;\n banker?: string;\n bankExpireDate?: string;\n cardName?: string;\n cardQuota?: string;\n rawResponse?: string;\n rawCancelResponse?: string;\n paidDate?: string;\n}\n\nexport function getSkPaymentStatusText(status: SkPaymentStatus) {\n switch (status) {\n case SkPaymentStatus.Transfer:\n return '무통장입금';\n case SkPaymentStatus.Card:\n return '카드결제 (일반 무이자)';\n case SkPaymentStatus.Card2:\n return '카드결제 (분담 무이자)';\n case SkPaymentStatus.Kakao:\n return '카카오페이';\n case SkPaymentStatus.Payco:\n return 'PAYCO';\n case SkPaymentStatus.Naver:\n case SkPaymentStatus.NaverPG:\n return '네이버페이';\n default:\n return status;\n }\n}\n","import { SkProductListItem } from \"./product\";\n\nexport enum SkShippingStatus {\n Prepare = 'PREPARE', // 배송 준비중\n Progress = 'PROGRESS', // 배송중\n Done = 'DONE', // 배송 완료\n Fail = 'FAIL' // 배송 실패\n}\n\nexport enum SkShippingMethod {\n Normal = 'NORMAL',\n Normal2 = 'NORMAL2',\n Quick = 'QUICK',\n Visit = 'VISIT',\n Software = 'SOFTWARE',\n SoftwareRealtime = 'SOFTWARE_REALTIME',\n Howser = 'HOWSER',\n Howser2 = 'HOWSER2'\n}\n\nexport interface ISkShippingInfo {\n id?: number;\n memo?: string;\n method?: SkShippingMethod;\n status?: SkShippingStatus;\n orderItemId?: number;\n productInfo?: SkProductListItem;\n amount?: number;\n shippingCompanyName?: string;\n shippingCompanyCode?: string;\n trackingCode?: string;\n edeliveryInfo?: string;\n}\n\nexport interface ISkShipping {\n id?: number;\n receiverName?: string;\n email?: string;\n phone?: string;\n phone2?: string;\n zipCode?: string;\n address?: string;\n address2?: string;\n infoList?: ISkShippingInfo[];\n hardwareShipping?: boolean;\n softwareShipping?: boolean;\n}\n\nexport function getSkShippingMethodText(method: SkShippingMethod) {\n switch (method) {\n case SkShippingMethod.Normal:\n return '택배 배송';\n case SkShippingMethod.Normal2:\n return '착불 배송';\n case SkShippingMethod.Quick:\n return '퀵 배송 (착불)';\n case SkShippingMethod.Visit:\n return '방문 수령';\n case SkShippingMethod.Software:\n return '전자배송(수동)';\n case SkShippingMethod.SoftwareRealtime:\n return '전자배송(실시간)';\n case SkShippingMethod.Howser:\n return '가구 전문 배송(착불)'\n }\n}\n","export enum SkNicePayCreditCards {\n BC = '01', // 비씨\n KB = '02', // KB 국민\n KEB = '03', // 외환\n Samsung = '04', // 삼성\n Shinhan = '06', // 신한\n Hyundae = '07', // 현대\n Lotte = '08', // 롯데\n Hanmi = '09', // 한미\n SHanmi = '10', // 신세계한미\n City = '11', // 시티\n NH = '12', // 농협\n SuHyup = '13', // 수협\n PyungHwa = '14', // 평화\n Woori = '15', // 우리\n HanaSK = '16', // 하나 SK\n DongName = '17', // 동남(주택)\n JuTaek = '18', // 주택\n ChoHeung = '19', // 조흥(강원)\n ChuckHyup = '20', // 축협(농협)\n Gwangju = '21', // 광주\n Jeonbuk = '22', // 전북\n Jeju = '23', // 제주\n KDBC = '24', // 산은캐피탈\n VISA = '25', // 해외비자\n MASTER = '26', // 해외마스터\n Diners = '27', // 해외다이너스\n AMX = '28', // 해외 AMX\n JCB = '29', // 해외 JCB\n SKOKCashbag = '31', // SK-OKCashBag\n ePost = '32', // 우체국\n FSB = '33', // 저축은행\n UnionPay = '34', // 은련\n KFCC = '35', // 새마을금고\n KDB = '36', // KDB 산업\n Kakao = '37', // 카카오뱅크\n KBank = '38' // 케이뱅크\n}\n\nexport function getNicePayCreditCardTitle(value: SkNicePayCreditCards) {\n switch (value) {\n case SkNicePayCreditCards.BC: return '비씨카드';\n case SkNicePayCreditCards.KB: return 'KB국민카드';\n case SkNicePayCreditCards.KEB: return '외환카드';\n case SkNicePayCreditCards.Samsung: return '삼성카드';\n case SkNicePayCreditCards.Shinhan: return '신한카드';\n case SkNicePayCreditCards.Hyundae: return '현대카드';\n case SkNicePayCreditCards.Lotte: return '롯데카드';\n case SkNicePayCreditCards.Hanmi: return '한미카드';\n case SkNicePayCreditCards.SHanmi: return '신세계한미카드';\n case SkNicePayCreditCards.City: return '시티카드';\n case SkNicePayCreditCards.NH: return '농협카드';\n case SkNicePayCreditCards.SuHyup: return '수협카드';\n case SkNicePayCreditCards.PyungHwa: return '평화카드';\n case SkNicePayCreditCards.Woori: return '우리카드';\n case SkNicePayCreditCards.HanaSK: return '하나SK카드';\n case SkNicePayCreditCards.DongName: return '동남(주택)카드';\n case SkNicePayCreditCards.JuTaek: return '주택카드';\n case SkNicePayCreditCards.ChoHeung: return '조흥(강원)카드';\n case SkNicePayCreditCards.ChuckHyup: return '축협(농협)카드';\n case SkNicePayCreditCards.Gwangju: return '광주카드';\n case SkNicePayCreditCards.Jeonbuk: return '전북카드';\n case SkNicePayCreditCards.Jeju: return '제주카드';\n case SkNicePayCreditCards.KDBC: return '산은캐피탈카드';\n case SkNicePayCreditCards.VISA: return '해외비자카드';\n case SkNicePayCreditCards.MASTER: return '해외마스터카드';\n case SkNicePayCreditCards.Diners: return '해외다이너스카드';\n case SkNicePayCreditCards.AMX: return '해외AMX카드';\n case SkNicePayCreditCards.JCB: return '해외JCB카드';\n case SkNicePayCreditCards.SKOKCashbag: return 'SK-OKCashBag카드';\n case SkNicePayCreditCards.ePost: return '우체국카드';\n case SkNicePayCreditCards.FSB: return '저축은행카드';\n case SkNicePayCreditCards.UnionPay: return '은련카드';\n case SkNicePayCreditCards.KFCC: return '새마을금고카드';\n case SkNicePayCreditCards.KDB: return 'KDB산업카드';\n case SkNicePayCreditCards.Kakao: return '카카오뱅크카드';\n case SkNicePayCreditCards.KBank: return '케이뱅크카드';\n default: return `알수없음 (code: ${value})`;\n }\n}\n","import {ISkFile} from \"./file\";\nimport {Audit, IAudit} from \"./audit\";\n\nexport enum SkPointType {\n Add = 'ADD',\n Subtract = 'SUBTRACT'\n}\n\nexport interface ISkPoint extends IAudit{\n id?: number;\n type?: SkPointType;\n amount?: number;\n used?: boolean;\n cause?: string;\n expiredDate?: string;\n}\n\nexport class SkPoint extends Audit {\n id: number;\n type: SkPointType;\n amount: number;\n used: boolean;\n cause: string;\n expiredDate: string;\n\n constructor(data: ISkFile = {}) {\n super(data);\n Object.assign(this, data);\n }\n\n causeText(): string {\n let text = '';\n if (this.cause === 'ADMIN') {\n text = '어드민에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 추가됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 차감됨';\n }\n } else if (this.cause.startsWith('ORDER-')) {\n text = '주문(' + this.cause.replace('ORDER-', '') + ') 에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 적립됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 사용됨';\n }\n } else if (this.cause.startsWith('CANCEL-')) {\n text = '주문(' + this.cause.replace('CANCEL-', '') + ') 취소에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 추가됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 차감됨';\n }\n } else {\n text = this.cause;\n }\n\n return text;\n }\n}\n\nexport interface ISkPointAdd {\n type?: SkPointType;\n amount?: number;\n userId?: number;\n cause?: string;\n}\n\n","import { IAudit } from './audit';\nimport { ISkIdTitleValue, SkBrand, SkCategory, SkSubCategoryItem, SkValueType } from './etc';\nimport { ISkOrderList } from './order';\nimport { SkProductListItem } from './product';\nimport { ISkUser } from './user';\n\nexport enum SkCouponType {\n Code = 'CODE',\n Inject = 'INJECT'\n}\n\nexport enum SkCouponTarget {\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n SubCategory = 'SUBCATEGORY',\n Product = 'PRODUCT'\n}\n\nexport enum SkCouponTrigger {\n None = 'NONE',\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n SubCategory = 'SUBCATEGORY',\n Product = 'PRODUCT'\n}\n\nexport interface ISkCouponCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkCouponListItem extends IAudit {\n id?: number;\n title?: string;\n type?: SkCouponType;\n startDate?: string;\n endDate?: string;\n expireStartDate?: string;\n expireEndDate?: string;\n forever?: boolean;\n singleCode?: string;\n activated?: boolean;\n}\n\nexport interface ISkCouponDetail extends ISkCouponListItem {\n usableWithOthers?: boolean; // 다른 쿠폰과 함께 사용 가능한지 여부\n duplicatable?: boolean; // 중복으로 사용 가능한지 여부\n anonymous?: boolean; // 비로그인 유저도 사용 가능 여부\n total?: number;\n used?: number;\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: SkBrand[];\n couponTargetCategories?: SkCategory[];\n couponTargetSubCategories?: SkSubCategoryItem[];\n couponTargetProducts?: SkProductListItem[];\n couponTrigger?: SkCouponTrigger;\n couponTriggerAmount?: number;\n couponTriggerBrands?: SkBrand[];\n couponTriggerCategories?: SkCategory[];\n couponTriggerSubCategories?: SkSubCategoryItem[];\n couponTriggerProducts?: SkProductListItem[];\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n}\n\nexport interface ISkCouponTicket {\n id?: number;\n code?: string;\n coupon?: ISkCouponDetail;\n order?: ISkOrderList;\n user?: ISkUser;\n}\n\nexport interface ISkCouponTriggerUpdate {\n couponTrigger?: SkCouponTrigger;\n couponTriggerAmount?: number;\n couponTriggerBrandIds?: number[];\n couponTriggerCategoryIds?: number[];\n couponTriggerSubCategoryIds?: number[];\n couponTriggerProductIds?: number[];\n}\n\nexport interface ISkUserCouponInfo {\n id?: number;\n title?: string;\n code?: string;\n\n startDate?: string;\n endDate?: string;\n forever?: boolean;\n\n activated?: boolean;\n usableWithOthers?: boolean;\n\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: ISkIdTitleValue[];\n couponTargetCategories?: ISkIdTitleValue[];\n couponTargetSubCategories?: ISkIdTitleValue[];\n couponTargetProducts?: ISkIdTitleValue[];\n\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n\n orderId?: string;\n paidDate?: string;\n}\n\nexport interface ISkUserCouponInfo {\n id?: number;\n title?: string;\n code?: string;\n\n startDate?: string;\n endDate?: string;\n forever?: boolean;\n\n activated?: boolean;\n usableWithOthers?: boolean;\n\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: ISkIdTitleValue[];\n couponTargetCategories?: ISkIdTitleValue[];\n couponTargetSubCategories?: ISkIdTitleValue[];\n couponTargetProducts?: ISkIdTitleValue[];\n\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n\n orderId?: string;\n paidDate?: string;\n}\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkDocumentPublicList} from \"./document\";\nimport {ISkUser, SkUser} from \"./user\";\n\nexport interface IComment extends IAudit {\n id?: number;\n author?: ISkUser;\n content?: string;\n secret?: boolean;\n}\n\nexport class SkComment extends Audit {\n id: number;\n author: SkUser;\n content: string;\n secret: boolean;\n\n constructor(data: IComment = {}) {\n super(data);\n\n this.id = data.id || null;\n this.author = new SkUser(data.author);\n this.content = data.content || '';\n this.secret = data.secret || false;\n }\n}\n\n\n/**\n * 문서용 댓글 데이터 정의\n */\n\nexport interface ISkDocumentCommentUpdate {\n content?: string;\n secret?: boolean;\n}\n\nexport interface ISkDocumentCommentWrite extends ISkDocumentCommentUpdate{\n documentId?: number;\n parentId?: number;\n}\n\nexport interface ISkDocumentCommentParent extends IComment {\n document?: ISkDocumentPublicList;\n\n childrens: ISkDocumentCommentChild[];\n childrenCount: number;\n}\n\nexport interface ISkDocumentCommentChild extends IComment {\n}\n\n\n\nexport class SkDocumentCommentParent extends SkComment {\n document: ISkDocumentPublicList;\n childrens: SkDocumentCommentChild[];\n childrenCount: number;\n\n constructor(data: ISkDocumentCommentParent) {\n super(data);\n\n this.document = data.document;\n this.childrens = (data.childrens || []).map(item => new SkDocumentCommentChild(item));\n this.childrenCount = data.childrenCount || 0;\n }\n}\n\nexport class SkDocumentCommentChild extends SkComment {\n constructor(data: ISkDocumentCommentChild) {\n super(data);\n }\n}\n\n","import {ISkUser} from \"./user\";\nimport {ISkFile} from \"./file\";\nimport {ISkProductDetail} from \"./product\";\nimport {ISkOrderDetail} from \"./order\";\nimport {IAudit} from \"./audit\";\n\nexport enum SkContactStatus {\n Open = 'OPEN',\n Close = 'CLOSE'\n}\n\nexport enum SkContactType {\n Normal = 'NORMAL', // 1:1 문의\n BeforeBuy = 'BEFOREBUY', // 구매전 상담\n Technical = 'TECHNICAL', // 기술지원\n Software = 'SOFTWARE', // 전자배송상품 문의\n AS = 'AS', // AS 문의\n}\n\nexport function getSkContactTypeText(type: SkContactType) {\n switch (type) {\n case SkContactType.Normal:\n return '1:1 문의';\n case SkContactType.BeforeBuy:\n return '구매전 상담';\n case SkContactType.Technical:\n return '기술지원';\n case SkContactType.Software:\n return '전자배송상품';\n case SkContactType.AS:\n return 'AS 문의';\n }\n}\n\nexport interface ISkContact extends IAudit {\n id?: number;\n status?: SkContactStatus;\n type?: SkContactType;\n\n user?: ISkUser;\n userName?: string;\n email?: string;\n phone?: string;\n title?: string;\n content?: string;\n attachment?: ISkFile;\n product?: ISkProductDetail;\n order?: ISkOrderDetail;\n seller?: string;\n serialNumber?: string;\n buyDate?: string;\n answers?: ISkContactAnswer[]\n}\n\nexport interface ISkContactAnswer extends IAudit {\n id?: number;\n user?: ISkUser;\n content?: string;\n}\n","export enum SkGridItemType {\n Icon = 'Icon',\n Image = 'Image',\n SlidePromotion = 'SlidePromotion',\n SlideShop = 'SlideShop',\n SlideEditorial = 'SlideEditorial',\n SlideStudio = 'SlideStudio',\n SlideCustom = 'SlideCustom'\n}\n\nexport interface ISkGridItemIconData {\n iconType?: 'material' | 'custom';\n icon?: string\n title?: string;\n url?: string;\n}\n\nexport class SkGridItemIconData {\n iconType: 'material' | 'custom';\n icon: string;\n title: string;\n url: string;\n\n constructor(data: ISkGridItemIconData = {}) {\n this.iconType = data.iconType || 'material';\n this.icon = data.icon || 'error_outline';\n this.url = data.url || '';\n this.title = data.title || '';\n }\n}\n\nexport interface ISkGridItemImageData {\n src?: string | number;\n title?: string;\n url?: string;\n}\n\nexport class SkGridItemImageData {\n src: string | number;\n title: string;\n url: string;\n\n constructor(data: ISkGridItemImageData = {}) {\n this.src = data.src || '';\n this.title = data.title || '';\n this.url = data.url;\n }\n}\n\nexport interface ISkGridItemSlideDataCustomFormat {\n imageId?: number;\n type?: string;\n title?: string;\n desc?: string;\n link?: string;\n}\n\nexport interface ISkGridItemSlideData {\n target?: 'featured' | 'latest' | string;\n count?: number;\n list?: any[] | number[] | ISkGridItemSlideDataCustomFormat[];\n lastImageId?: number;\n}\n\nexport class SkGridItemSlideData {\n target: 'featured' | 'latest' | string;\n count: number;\n list: any[] | number[] | ISkGridItemSlideDataCustomFormat[];\n lastImageId?: number;\n\n constructor(data: ISkGridItemSlideData = {}) {\n this.target = data.target || 'latest';\n this.count = data.count || 5;\n this.list = data.list || [];\n this.lastImageId = data.lastImageId;\n }\n}\n\nexport interface ISkGridItem {\n rowspan?: number;\n colspan?: number;\n type?: SkGridItemType\n value?: ISkGridItemSlideData | ISkGridItemIconData | ISkGridItemImageData;\n url?: string;\n}\n\nexport class SkGridItem {\n rowspan: number;\n colspan: number;\n type: SkGridItemType;\n value: SkGridItemSlideData | SkGridItemIconData | SkGridItemImageData;\n\n constructor(data: ISkGridItem = {}) {\n this.rowspan = data.rowspan || 1;\n this.colspan = data.colspan || 1;\n\n this.type = data.type || SkGridItemType.SlideEditorial;\n\n switch (this.type) {\n case SkGridItemType.Icon:\n this.value = new SkGridItemIconData(<ISkGridItemIconData> data.value);\n break;\n case SkGridItemType.Image:\n this.value = new SkGridItemImageData(<ISkGridItemImageData> data.value);\n break;\n case SkGridItemType.SlidePromotion:\n case SkGridItemType.SlideShop:\n case SkGridItemType.SlideEditorial:\n case SkGridItemType.SlideStudio:\n case SkGridItemType.SlideCustom:\n this.value = new SkGridItemSlideData(<ISkGridItemSlideData> data.value);\n }\n }\n}\n\nexport interface ISkGridData {\n cols?: number;\n gutterSize?: number;\n aspect?: string;\n items?: ISkGridItem[];\n}\n\nexport class SkGridData {\n cols: number;\n gutterSize: number;\n aspect: string;\n items: SkGridItem[];\n\n constructor(data: ISkGridData = {}) {\n this.cols = data.cols || 4;\n this.gutterSize = data.gutterSize || 0;\n this.aspect = data.aspect || '1:1';\n this.items = (data.items || []).map(item => new SkGridItem(item));\n }\n\n setItems(items: ISkGridItem[]) {\n this.items = (items || []).map(item => new SkGridItem(item));\n }\n\n setItem(item: ISkGridItem) {\n this.items.push(new SkGridItem(item))\n }\n\n updateItem(index: number, item: ISkGridItem) {\n this.items[index] = new SkGridItem(item);\n }\n\n removeItem(index: number) {\n this.items.splice(index, 1);\n }\n}\n\nexport interface ISkMobileMainData {\n editorials?: SkGridItemSlideData;\n studios?: SkGridItemSlideData;\n promotions?: SkGridItemSlideData;\n products?: SkGridItemSlideData;\n}\n\nexport class SkMobileMainData {\n editorials: SkGridItemSlideData;\n studios: SkGridItemSlideData;\n promotions: SkGridItemSlideData;\n products: SkGridItemSlideData;\n\n constructor(data: ISkMobileMainData = {}) {\n this.editorials = new SkGridItemSlideData(data.editorials);\n this.studios = new SkGridItemSlideData(data.studios);\n this.promotions = new SkGridItemSlideData(data.promotions);\n this.products = new SkGridItemSlideData(data.products);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import { GaAction } from "../types/ga-action.type";
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SkGoogleAnalyticsService {
|
|
5
5
|
protected _trackingId: ISkGoogleAnalyticsSettings;
|
|
6
|
-
|
|
6
|
+
private platformId;
|
|
7
|
+
constructor(_trackingId: ISkGoogleAnalyticsSettings, platformId: Object);
|
|
7
8
|
protected throw(err: Error): void;
|
|
8
9
|
/**
|
|
9
10
|
* Call native GA Tag
|
package/model/lib/coupon.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sk-front-lib",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.5",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/router": "^16.2.12",
|
|
6
6
|
"@angular/animations": "^16.2.12",
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
"esm": "./esm2022/article/sk-front-lib-article.mjs",
|
|
46
46
|
"default": "./fesm2022/sk-front-lib-article.mjs"
|
|
47
47
|
},
|
|
48
|
-
"./
|
|
49
|
-
"types": "./
|
|
50
|
-
"esm2022": "./esm2022/
|
|
51
|
-
"esm": "./esm2022/
|
|
52
|
-
"default": "./fesm2022/sk-front-lib-
|
|
48
|
+
"./crud": {
|
|
49
|
+
"types": "./crud/index.d.ts",
|
|
50
|
+
"esm2022": "./esm2022/crud/sk-front-lib-crud.mjs",
|
|
51
|
+
"esm": "./esm2022/crud/sk-front-lib-crud.mjs",
|
|
52
|
+
"default": "./fesm2022/sk-front-lib-crud.mjs"
|
|
53
53
|
},
|
|
54
54
|
"./image": {
|
|
55
55
|
"types": "./image/index.d.ts",
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
"esm": "./esm2022/image/sk-front-lib-image.mjs",
|
|
58
58
|
"default": "./fesm2022/sk-front-lib-image.mjs"
|
|
59
59
|
},
|
|
60
|
-
"./
|
|
61
|
-
"types": "./
|
|
62
|
-
"esm2022": "./esm2022/
|
|
63
|
-
"esm": "./esm2022/
|
|
64
|
-
"default": "./fesm2022/sk-front-lib-
|
|
60
|
+
"./google-analytics": {
|
|
61
|
+
"types": "./google-analytics/index.d.ts",
|
|
62
|
+
"esm2022": "./esm2022/google-analytics/sk-front-lib-google-analytics.mjs",
|
|
63
|
+
"esm": "./esm2022/google-analytics/sk-front-lib-google-analytics.mjs",
|
|
64
|
+
"default": "./fesm2022/sk-front-lib-google-analytics.mjs"
|
|
65
65
|
},
|
|
66
66
|
"./model": {
|
|
67
67
|
"types": "./model/index.d.ts",
|