sk-front-lib 0.17.35 โ†’ 0.17.37

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.
@@ -61,6 +61,7 @@ export class SkPromotion extends Audit {
61
61
  this.startDate = data.startDate;
62
62
  this.endDate = data.endDate;
63
63
  this.endDateString = data.endDateString || '';
64
+ this.rebateString = data.rebateString || '';
64
65
  this.accessPolicy = data.accessPolicy || SkPromotionAccessPolicy.Public;
65
66
  this.categories = (data.categories || []).map(item => new SkPromotionCategory(item));
66
67
  this.image = data.image ? new SkFile(data.image) : null;
@@ -76,4 +77,4 @@ export class SkPromotion extends Audit {
76
77
  return !this.id;
77
78
  }
78
79
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW90aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL21vZGVsL3NyYy9saWIvcHJvbW90aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLEtBQUssRUFBVSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQWMsVUFBVSxFQUE0QixNQUFNLE9BQU8sQ0FBQztBQUN6RSxPQUFPLEVBQVcsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3pDLE9BQU8sRUFBZ0MsU0FBUyxFQUFxQixNQUFNLFdBQVcsQ0FBQztBQUV2RixNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQy9CLDRDQUFpQixDQUFBO0lBQ2pCLDRDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBR2xDO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBR1g7QUFIRCxXQUFZLHdCQUF3QjtJQUNoQyx1Q0FBVyxDQUFBO0lBQ1gsNkNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFHbkM7QUFzQkQsTUFBTSxPQUFPLGVBQWU7SUFjeEIsWUFBWSxPQUF5QixFQUFFO1FBQ25DLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFB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SUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2tBcnRpY2xlLCBTa0FydGljbGUgfSBmcm9tICcuL2FydGljbGUnO1xuaW1wb3J0IHsgQXVkaXQsIElBdWRpdCB9IGZyb20gJy4vYXVkaXQnO1xuaW1wb3J0IHsgU2tDYXRlZ29yeSwgU2tHaWZ0VHlwZSwgU2tPcGVuZ3JhcGgsIFNrVmFsdWVUeXBlIH0gZnJvbSAnLi9ldGMnO1xuaW1wb3J0IHsgSVNrRmlsZSwgU2tGaWxlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IElTa1Byb2R1Y3QsIElTa1Byb2R1Y3RPcHRpb24sIFNrUHJvZHVjdCwgU2tQcm9kdWN0TGlzdEl0ZW0gfSBmcm9tICcuL3Byb2R1Y3QnO1xuXG5leHBvcnQgZW51bSBTa1Byb21vdGlvbkFjY2Vzc1BvbGljeSB7XG4gICAgUHVibGljID0gJ1BVQkxJQycsXG4gICAgSGlkZGVuID0gJ0hJRERFTidcbn1cblxuZXhwb3J0IGVudW0gU2tQcm9tb3Rpb25HaWZ0U2VydmVUeXBlIHtcbiAgICBBbGwgPSAnQUxMJyxcbiAgICBTZWxlY3QgPSAnU0VMRUNUJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNrUHJvbW90aW9uQ291bnQge1xuICAgIHRvdGFsPzogbnVtYmVyO1xuICAgIHRyYXNoPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvbkdpZnQge1xuICAgIGlkPzogbnVtYmVyO1xuICAgIHByb2R1Y3Q/OiBJU2tQcm9kdWN0O1xuICAgIGFtb3VudD86IG51bWJlcjtcblxuICAgIHR5cGU/OiBTa0dpZnRUeXBlO1xuICAgIG9wdGlvblRpdGxlPzogc3RyaW5nO1xuICAgIG9wdGlvblZhbHVlVGl0bGU/OiBzdHJpbmc7XG4gICAgb3B0aW9uQWRkZWRQcmljZT86IG51bWJlcjtcbiAgICBjdXN0b21UaXRsZT86IHN0cmluZztcbiAgICBjdXN0b21JbWFnZT86IElTa0ZpbGU7XG4gICAgY3VzdG9tQnJhbmROYW1lPzogc3RyaW5nO1xuICAgIGN1c3RvbVByaWNlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgU2tQcm9tb3Rpb25HaWZ0IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHByb2R1Y3Q6IFNrUHJvZHVjdDtcbiAgICBhbW91bnQ6IG51bWJlcjtcblxuICAgIHR5cGU6IFNrR2lmdFR5cGU7XG4gICAgb3B0aW9uVGl0bGU6IHN0cmluZztcbiAgICBvcHRpb25WYWx1ZVRpdGxlOiBzdHJpbmc7XG4gICAgb3B0aW9uQWRkZWRQcmljZTogbnVtYmVyO1xuICAgIGN1c3RvbVRpdGxlOiBzdHJpbmc7XG4gICAgY3VzdG9tSW1hZ2U6IElTa0ZpbGU7XG4gICAgY3VzdG9tQnJhbmROYW1lOiBzdHJpbmc7XG4gICAgY3VzdG9tUHJpY2U6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IElTa1Byb21vdGlvbkdpZnQgPSB7fSkge1xuICAgICAgICB0aGlzLmlkID0gZGF0YS5pZDtcbiAgICAgICAgdGhpcy5wcm9kdWN0ID0gZGF0YS5wcm9kdWN0ID8gbmV3IFNrUHJvZHVjdChkYXRhLnByb2R1Y3QpIDogbnVsbDtcbiAgICAgICAgdGhpcy5hbW91bnQgPSBkYXRhLmFtb3VudCB8fCAxO1xuXG4gICAgICAgIHRoaXMudHlwZSA9IGRhdGEudHlwZSB8fCBTa0dpZnRUeXBlLlJlYWw7XG4gICAgICAgIHRoaXMub3B0aW9uVGl0bGUgPSBkYXRhLm9wdGlvblRpdGxlIHx8ICcnO1xuICAgICAgICB0aGlzLm9wdGlvblZhbHVlVGl0bGUgPSBkYXRhLm9wdGlvblZhbHVlVGl0bGUgfHwgJyc7XG4gICAgICAgIHRoaXMub3B0aW9uQWRkZWRQcmljZSA9IGRhdGEub3B0aW9uQWRkZWRQcmljZSB8fCAwO1xuICAgICAgICB0aGlzLmN1c3RvbVRpdGxlID0gZGF0YS5jdXN0b21UaXRsZSB8fCAnJztcbiAgICAgICAgdGhpcy5jdXN0b21JbWFnZSA9IG5ldyBTa0ZpbGUoZGF0YS5jdXN0b21JbWFnZSB8fCB7fSk7XG4gICAgICAgIHRoaXMuY3VzdG9tQnJhbmROYW1lID0gZGF0YS5jdXN0b21CcmFuZE5hbWUgfHwgJyc7XG4gICAgICAgIHRoaXMuY3VzdG9tUHJpY2UgPSBkYXRhLmN1c3RvbVByaWNlIHx8IDA7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvbkdpZnRHcm91cCB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgc2VydmVUeXBlPzogU2tQcm9tb3Rpb25HaWZ0U2VydmVUeXBlO1xuICAgIGdpZnRzPzogSVNrUHJvbW90aW9uR2lmdFtdO1xufVxuXG5leHBvcnQgY2xhc3MgU2tQcm9tb3Rpb25HaWZ0R3JvdXAge1xuICAgIGlkOiBudW1iZXI7XG4gICAgc2VydmVUeXBlOiBTa1Byb21vdGlvbkdpZnRTZXJ2ZVR5cGU7XG4gICAgZ2lmdHM6IElTa1Byb21vdGlvbkdpZnRbXTtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IElTa1Byb21vdGlvbkdpZnRHcm91cCA9IHt9KSB7XG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLnNlcnZlVHlwZSA9IGRhdGEuc2VydmVUeXBlIHx8IFNrUHJvbW90aW9uR2lmdFNlcnZlVHlwZS5BbGw7XG4gICAgICAgIHRoaXMuZ2lmdHMgPSAoZGF0YS5naWZ0cyB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrUHJvbW90aW9uR2lmdChpdGVtKSk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvblRhcmdldCB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgcHJvbW90aW9uPzogSVNrUHJvbW90aW9uO1xuICAgIHByb2R1Y3Q/OiBJU2tQcm9kdWN0O1xuICAgIGlzTGltaXRlZD86IGJvb2xlYW47XG4gICAgc3RvY2tBbW91bnQ/OiBudW1iZXI7XG4gICAgZGlzY291bnRUeXBlPzogU2tWYWx1ZVR5cGU7XG4gICAgZGlzY291bnRWYWx1ZT86IG51bWJlcjtcbiAgICBnaWZ0R3JvdXBzPzogSVNrUHJvbW90aW9uR2lmdEdyb3VwW107XG59XG5cbmV4cG9ydCBjbGFzcyBTa1Byb21vdGlvblRhcmdldCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBwcm9tb3Rpb246IFNrUHJvbW90aW9uO1xuICAgIHByb2R1Y3Q6IFNrUHJvZHVjdDtcbiAgICBpc0xpbWl0ZWQ6IGJvb2xlYW47XG4gICAgc3RvY2tBbW91bnQ6IG51bWJlcjtcbiAgICBkaXNjb3VudFR5cGU6IFNrVmFsdWVUeXBlO1xuICAgIGRpc2NvdW50VmFsdWU6IG51bWJlcjtcbiAgICBnaWZ0R3JvdXBzOiBTa1Byb21vdGlvbkdpZnRHcm91cFtdO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogSVNrUHJvbW90aW9uVGFyZ2V0ID0ge30pIHtcbiAgICAgICAgdGhpcy5pZCA9IGRhdGEuaWQ7XG4gICAgICAgIHRoaXMucHJvbW90aW9uID0gZGF0YS5wcm9tb3Rpb24gPyBuZXcgU2tQcm9tb3Rpb24oZGF0YS5wcm9tb3Rpb24pIDogbnVsbDtcbiAgICAgICAgdGhpcy5wcm9kdWN0ID0gZGF0YS5wcm9kdWN0ID8gbmV3IFNrUHJvZHVjdChkYXRhLnByb2R1Y3QpIDogbnVsbDtcbiAgICAgICAgdGhpcy5pc0xpbWl0ZWQgPSBkYXRhLmlzTGltaXRlZCB8fCBmYWxzZTtcbiAgICAgICAgdGhpcy5zdG9ja0Ftb3VudCA9IGRhdGEuc3RvY2tBbW91bnQgfHwgMDtcbiAgICAgICAgdGhpcy5kaXNjb3VudFR5cGUgPSBkYXRhLmRpc2NvdW50VHlwZTtcbiAgICAgICAgdGhpcy5kaXNjb3VudFZhbHVlID0gZGF0YS5kaXNjb3VudFZhbHVlIHx8IDA7XG4gICAgICAgIHRoaXMuZ2lmdEdyb3VwcyA9IChkYXRhLmdpZnRHcm91cHMgfHwgW10pLm1hcChpdGVtID0+IG5ldyBTa1Byb21vdGlvbkdpZnRHcm91cChpdGVtKSk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvbkNhdGVnb3J5IHtcbiAgICBpZD86IG51bWJlcjtcbiAgICBjYXRlZ29yeT86IFNrQ2F0ZWdvcnk7XG59XG5cbmV4cG9ydCBjbGFzcyBTa1Byb21vdGlvbkNhdGVnb3J5IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGNhdGVnb3J5OiBTa0NhdGVnb3J5O1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogSVNrUHJvbW90aW9uQ2F0ZWdvcnkgPSB7fSkge1xuICAgICAgICB0aGlzLmlkID0gZGF0YS5pZDtcbiAgICAgICAgdGhpcy5jYXRlZ29yeSA9IGRhdGEuY2F0ZWdvcnk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvbiBleHRlbmRzIElBdWRpdCB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3RhcnREYXRlPzogc3RyaW5nO1xuICAgIGVuZERhdGU/OiBzdHJpbmc7XG4gICAgZW5kRGF0ZVN0cmluZz86IHN0cmluZztcbiAgICBhY2Nlc3NQb2xpY3k/OiBTa1Byb21vdGlvbkFjY2Vzc1BvbGljeTtcbiAgICBjYXRlZ29yaWVzPzogSVNrUHJvbW90aW9uQ2F0ZWdvcnlbXTtcbiAgICBpbWFnZT86IElTa0ZpbGU7XG4gICAgaW1hZ2VBbHQ/OiBJU2tGaWxlO1xuICAgIGFydGljbGU/OiBJU2tBcnRpY2xlO1xuICAgIGJlbmVmaXQ/OiBJU2tBcnRpY2xlO1xuICAgIHRhcmdldHM/OiBJU2tQcm9tb3Rpb25UYXJnZXRbXTtcbiAgICBvcGVuZ3JhcGg/OiBTa09wZW5ncmFwaDtcbiAgICBsaXN0T3JkZXI/OiBudW1iZXI7XG4gICAgYWN0aXZhdGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNrUHJvbW90aW9uIGV4dGVuZHMgQXVkaXQge1xuICAgIGlkOiBudW1iZXI7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdGFydERhdGU6IHN0cmluZztcbiAgICBlbmREYXRlOiBzdHJpbmc7XG4gICAgZW5kRGF0ZVN0cmluZzogc3RyaW5nO1xuICAgIGFjY2Vzc1BvbGljeT86IFNrUHJvbW90aW9uQWNjZXNzUG9saWN5O1xuICAgIGNhdGVnb3JpZXM/OiBTa1Byb21vdGlvbkNhdGVnb3J5W107XG4gICAgaW1hZ2U6IFNrRmlsZTtcbiAgICBpbWFnZUFsdDogU2tGaWxlO1xuICAgIGFydGljbGU6IFNrQXJ0aWNsZTtcbiAgICBiZW5lZml0OiBTa0FydGljbGU7XG4gICAgdGFyZ2V0czogU2tQcm9tb3Rpb25UYXJnZXRbXTtcbiAgICBvcGVuZ3JhcGg6IFNrT3BlbmdyYXBoO1xuICAgIGxpc3RPcmRlcjogbnVtYmVyO1xuICAgIGFjdGl2YXRlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IElTa1Byb21vdGlvbiA9IHt9KSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuXG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZSB8fCAnJztcbiAgICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRhLnN0YXJ0RGF0ZTtcbiAgICAgICAgdGhpcy5lbmREYXRlID0gZGF0YS5lbmREYXRlO1xuICAgICAgICB0aGlzLmVuZERhdGVTdHJpbmcgPSBkYXRhLmVuZERhdGVTdHJpbmcgfHwgJyc7XG4gICAgICAgIHRoaXMuYWNjZXNzUG9saWN5ID0gZGF0YS5hY2Nlc3NQb2xpY3kgfHwgU2tQcm9tb3Rpb25BY2Nlc3NQb2xpY3kuUHVibGljO1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXMgPSAoZGF0YS5jYXRlZ29yaWVzIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tQcm9tb3Rpb25DYXRlZ29yeShpdGVtKSk7XG4gICAgICAgIHRoaXMuaW1hZ2UgPSBkYXRhLmltYWdlID8gbmV3IFNrRmlsZShkYXRhLmltYWdlKSA6IG51bGw7XG4gICAgICAgIHRoaXMuaW1hZ2VBbHQgPSBkYXRhLmltYWdlQWx0ID8gbmV3IFNrRmlsZShkYXRhLmltYWdlQWx0KSA6IG51bGw7XG4gICAgICAgIHRoaXMuYXJ0aWNsZSA9IGRhdGEuYXJ0aWNsZSA/IG5ldyBTa0FydGljbGUoZGF0YS5hcnRpY2xlKSA6IG51bGw7XG4gICAgICAgIHRoaXMuYmVuZWZpdCA9IGRhdGEuYmVuZWZpdCA/IG5ldyBTa0FydGljbGUoZGF0YS5iZW5lZml0KSA6IG51bGw7XG4gICAgICAgIHRoaXMudGFyZ2V0cyA9IChkYXRhLnRhcmdldHMgfHwgW10pLm1hcChpdGVtID0+IG5ldyBTa1Byb21vdGlvblRhcmdldChpdGVtKSk7XG4gICAgICAgIHRoaXMub3BlbmdyYXBoID0gT2JqZWN0LmFzc2lnbih7fSwge29nVGl0bGU6ICcnLCBvZ0F1dG9GaWxsOiB0cnVlLCBvZ0Rlc2M6ICcnLCBvZ0ltYWdlOiBudWxsfSwgZGF0YS5vcGVuZ3JhcGgpO1xuICAgICAgICB0aGlzLmxpc3RPcmRlciA9IGRhdGEubGlzdE9yZGVyO1xuICAgICAgICB0aGlzLmFjdGl2YXRlZCA9IGRhdGEuYWN0aXZhdGVkO1xuICAgIH1cblxuICAgIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pZDtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uR2lmdEl0ZW0ge1xuICAgIGlkPzogbnVtYmVyO1xuICAgIHByb2R1Y3Q/OiBTa1Byb2R1Y3RMaXN0SXRlbTtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgdHlwZTogU2tHaWZ0VHlwZTtcbiAgICBvcHRpb25UaXRsZTogc3RyaW5nO1xuICAgIG9wdGlvblZhbHVlVGl0bGU6IHN0cmluZztcbiAgICBvcHRpb25BZGRlZFByaWNlOiBudW1iZXI7XG4gICAgY3VzdG9tVGl0bGU6IHN0cmluZztcbiAgICBjdXN0b21JbWFnZTogSVNrRmlsZTtcbiAgICBjdXN0b21CcmFuZE5hbWU6IHN0cmluZztcbiAgICBjdXN0b21QcmljZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvbkdpZnRHcm91cEl0ZW0ge1xuICAgIHNlcnZlVHlwZT86IFNrUHJvbW90aW9uR2lmdFNlcnZlVHlwZTtcbiAgICBnaWZ0cz86IElTa1Byb21vdGlvbkdpZnRJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uVGFyZ2V0SXRlbSB7XG4gICAgcHJvZHVjdElkPzogbnVtYmVyO1xuICAgIHByb2R1Y3Q/OiBTa1Byb2R1Y3RMaXN0SXRlbTtcbiAgICBpc0xpbWl0ZWQ/OiBib29sZWFuO1xuICAgIHN0b2NrQW1vdW50PzogbnVtYmVyO1xuICAgIGRpc2NvdW50VHlwZT86IFNrVmFsdWVUeXBlO1xuICAgIGRpc2NvdW50VmFsdWU/OiBudW1iZXI7XG4gICAgZ2lmdEdyb3Vwcz86IElTa1Byb21vdGlvbkdpZnRHcm91cEl0ZW1bXTtcbiAgICBvcHRpb25zPzogSVNrUHJvZHVjdE9wdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvblVwZGF0ZUltYWdlIHtcbiAgICBpbWFnZT86IG51bWJlcjtcbiAgICBpbWFnZUFsdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tQcm9tb3Rpb25QdWJsaWNMaXN0IHtcbiAgICBpZD86IG51bWJlcjtcbiAgICBpbWFnZT86IElTa0ZpbGU7XG4gICAgaW1hZ2VBbHQ/OiBJU2tGaWxlO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGVuZERhdGU/OiBzdHJpbmc7XG4gICAgZW5kRGF0ZVN0cmluZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tQcm9tb3Rpb25QdWJsaWNEZXRhaWwgZXh0ZW5kcyBJU2tQcm9tb3Rpb25QdWJsaWNMaXN0IHtcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGJlbmVmaXQ/OiBzdHJpbmc7XG4gICAgdGFyZ2V0cz86IElTa1Byb21vdGlvblRhcmdldEl0ZW1bXTtcbiAgICBvcGVuZ3JhcGg/OiBTa09wZW5ncmFwaDtcbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW90aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL21vZGVsL3NyYy9saWIvcHJvbW90aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLEtBQUssRUFBVSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQWMsVUFBVSxFQUE0QixNQUFNLE9BQU8sQ0FBQztBQUN6RSxPQUFPLEVBQVcsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3pDLE9BQU8sRUFBZ0MsU0FBUyxFQUFxQixNQUFNLFdBQVcsQ0FBQztBQUV2RixNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQy9CLDRDQUFpQixDQUFBO0lBQ2pCLDRDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBR2xDO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBR1g7QUFIRCxXQUFZLHdCQUF3QjtJQUNoQyx1Q0FBVyxDQUFBO0lBQ1gsNkNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFHbkM7QUFzQkQsTUFBTSxPQUFPLGVBQWU7SUFjeEIsWUFBWSxPQUF5QixFQUFFO1FBQ25DLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFB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LE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0csSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTa0FydGljbGUsIFNrQXJ0aWNsZSB9IGZyb20gJy4vYXJ0aWNsZSc7XG5pbXBvcnQgeyBBdWRpdCwgSUF1ZGl0IH0gZnJvbSAnLi9hdWRpdCc7XG5pbXBvcnQgeyBTa0NhdGVnb3J5LCBTa0dpZnRUeXBlLCBTa09wZW5ncmFwaCwgU2tWYWx1ZVR5cGUgfSBmcm9tICcuL2V0Yyc7XG5pbXBvcnQgeyBJU2tGaWxlLCBTa0ZpbGUgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgSVNrUHJvZHVjdCwgSVNrUHJvZHVjdE9wdGlvbiwgU2tQcm9kdWN0LCBTa1Byb2R1Y3RMaXN0SXRlbSB9IGZyb20gJy4vcHJvZHVjdCc7XG5cbmV4cG9ydCBlbnVtIFNrUHJvbW90aW9uQWNjZXNzUG9saWN5IHtcbiAgICBQdWJsaWMgPSAnUFVCTElDJyxcbiAgICBIaWRkZW4gPSAnSElEREVOJ1xufVxuXG5leHBvcnQgZW51bSBTa1Byb21vdGlvbkdpZnRTZXJ2ZVR5cGUge1xuICAgIEFsbCA9ICdBTEwnLFxuICAgIFNlbGVjdCA9ICdTRUxFQ1QnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2tQcm9tb3Rpb25Db3VudCB7XG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgdHJhc2g/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uR2lmdCB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgcHJvZHVjdD86IElTa1Byb2R1Y3Q7XG4gICAgYW1vdW50PzogbnVtYmVyO1xuXG4gICAgdHlwZT86IFNrR2lmdFR5cGU7XG4gICAgb3B0aW9uVGl0bGU/OiBzdHJpbmc7XG4gICAgb3B0aW9uVmFsdWVUaXRsZT86IHN0cmluZztcbiAgICBvcHRpb25BZGRlZFByaWNlPzogbnVtYmVyO1xuICAgIGN1c3RvbVRpdGxlPzogc3RyaW5nO1xuICAgIGN1c3RvbUltYWdlPzogSVNrRmlsZTtcbiAgICBjdXN0b21CcmFuZE5hbWU/OiBzdHJpbmc7XG4gICAgY3VzdG9tUHJpY2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBTa1Byb21vdGlvbkdpZnQge1xuICAgIGlkOiBudW1iZXI7XG4gICAgcHJvZHVjdDogU2tQcm9kdWN0O1xuICAgIGFtb3VudDogbnVtYmVyO1xuXG4gICAgdHlwZTogU2tHaWZ0VHlwZTtcbiAgICBvcHRpb25UaXRsZTogc3RyaW5nO1xuICAgIG9wdGlvblZhbHVlVGl0bGU6IHN0cmluZztcbiAgICBvcHRpb25BZGRlZFByaWNlOiBudW1iZXI7XG4gICAgY3VzdG9tVGl0bGU6IHN0cmluZztcbiAgICBjdXN0b21JbWFnZTogSVNrRmlsZTtcbiAgICBjdXN0b21CcmFuZE5hbWU6IHN0cmluZztcbiAgICBjdXN0b21QcmljZTogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogSVNrUHJvbW90aW9uR2lmdCA9IHt9KSB7XG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSBkYXRhLnByb2R1Y3QgPyBuZXcgU2tQcm9kdWN0KGRhdGEucHJvZHVjdCkgOiBudWxsO1xuICAgICAgICB0aGlzLmFtb3VudCA9IGRhdGEuYW1vdW50IHx8IDE7XG5cbiAgICAgICAgdGhpcy50eXBlID0gZGF0YS50eXBlIHx8IFNrR2lmdFR5cGUuUmVhbDtcbiAgICAgICAgdGhpcy5vcHRpb25UaXRsZSA9IGRhdGEub3B0aW9uVGl0bGUgfHwgJyc7XG4gICAgICAgIHRoaXMub3B0aW9uVmFsdWVUaXRsZSA9IGRhdGEub3B0aW9uVmFsdWVUaXRsZSB8fCAnJztcbiAgICAgICAgdGhpcy5vcHRpb25BZGRlZFByaWNlID0gZGF0YS5vcHRpb25BZGRlZFByaWNlIHx8IDA7XG4gICAgICAgIHRoaXMuY3VzdG9tVGl0bGUgPSBkYXRhLmN1c3RvbVRpdGxlIHx8ICcnO1xuICAgICAgICB0aGlzLmN1c3RvbUltYWdlID0gbmV3IFNrRmlsZShkYXRhLmN1c3RvbUltYWdlIHx8IHt9KTtcbiAgICAgICAgdGhpcy5jdXN0b21CcmFuZE5hbWUgPSBkYXRhLmN1c3RvbUJyYW5kTmFtZSB8fCAnJztcbiAgICAgICAgdGhpcy5jdXN0b21QcmljZSA9IGRhdGEuY3VzdG9tUHJpY2UgfHwgMDtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uR2lmdEdyb3VwIHtcbiAgICBpZD86IG51bWJlcjtcbiAgICBzZXJ2ZVR5cGU/OiBTa1Byb21vdGlvbkdpZnRTZXJ2ZVR5cGU7XG4gICAgZ2lmdHM/OiBJU2tQcm9tb3Rpb25HaWZ0W107XG59XG5cbmV4cG9ydCBjbGFzcyBTa1Byb21vdGlvbkdpZnRHcm91cCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBzZXJ2ZVR5cGU6IFNrUHJvbW90aW9uR2lmdFNlcnZlVHlwZTtcbiAgICBnaWZ0czogSVNrUHJvbW90aW9uR2lmdFtdO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogSVNrUHJvbW90aW9uR2lmdEdyb3VwID0ge30pIHtcbiAgICAgICAgdGhpcy5pZCA9IGRhdGEuaWQ7XG4gICAgICAgIHRoaXMuc2VydmVUeXBlID0gZGF0YS5zZXJ2ZVR5cGUgfHwgU2tQcm9tb3Rpb25HaWZ0U2VydmVUeXBlLkFsbDtcbiAgICAgICAgdGhpcy5naWZ0cyA9IChkYXRhLmdpZnRzIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tQcm9tb3Rpb25HaWZ0KGl0ZW0pKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uVGFyZ2V0IHtcbiAgICBpZD86IG51bWJlcjtcbiAgICBwcm9tb3Rpb24/OiBJU2tQcm9tb3Rpb247XG4gICAgcHJvZHVjdD86IElTa1Byb2R1Y3Q7XG4gICAgaXNMaW1pdGVkPzogYm9vbGVhbjtcbiAgICBzdG9ja0Ftb3VudD86IG51bWJlcjtcbiAgICBkaXNjb3VudFR5cGU/OiBTa1ZhbHVlVHlwZTtcbiAgICBkaXNjb3VudFZhbHVlPzogbnVtYmVyO1xuICAgIGdpZnRHcm91cHM/OiBJU2tQcm9tb3Rpb25HaWZ0R3JvdXBbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFNrUHJvbW90aW9uVGFyZ2V0IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHByb21vdGlvbjogU2tQcm9tb3Rpb247XG4gICAgcHJvZHVjdDogU2tQcm9kdWN0O1xuICAgIGlzTGltaXRlZDogYm9vbGVhbjtcbiAgICBzdG9ja0Ftb3VudDogbnVtYmVyO1xuICAgIGRpc2NvdW50VHlwZTogU2tWYWx1ZVR5cGU7XG4gICAgZGlzY291bnRWYWx1ZTogbnVtYmVyO1xuICAgIGdpZnRHcm91cHM6IFNrUHJvbW90aW9uR2lmdEdyb3VwW107XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBJU2tQcm9tb3Rpb25UYXJnZXQgPSB7fSkge1xuICAgICAgICB0aGlzLmlkID0gZGF0YS5pZDtcbiAgICAgICAgdGhpcy5wcm9tb3Rpb24gPSBkYXRhLnByb21vdGlvbiA/IG5ldyBTa1Byb21vdGlvbihkYXRhLnByb21vdGlvbikgOiBudWxsO1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSBkYXRhLnByb2R1Y3QgPyBuZXcgU2tQcm9kdWN0KGRhdGEucHJvZHVjdCkgOiBudWxsO1xuICAgICAgICB0aGlzLmlzTGltaXRlZCA9IGRhdGEuaXNMaW1pdGVkIHx8IGZhbHNlO1xuICAgICAgICB0aGlzLnN0b2NrQW1vdW50ID0gZGF0YS5zdG9ja0Ftb3VudCB8fCAwO1xuICAgICAgICB0aGlzLmRpc2NvdW50VHlwZSA9IGRhdGEuZGlzY291bnRUeXBlO1xuICAgICAgICB0aGlzLmRpc2NvdW50VmFsdWUgPSBkYXRhLmRpc2NvdW50VmFsdWUgfHwgMDtcbiAgICAgICAgdGhpcy5naWZ0R3JvdXBzID0gKGRhdGEuZ2lmdEdyb3VwcyB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrUHJvbW90aW9uR2lmdEdyb3VwKGl0ZW0pKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uQ2F0ZWdvcnkge1xuICAgIGlkPzogbnVtYmVyO1xuICAgIGNhdGVnb3J5PzogU2tDYXRlZ29yeTtcbn1cblxuZXhwb3J0IGNsYXNzIFNrUHJvbW90aW9uQ2F0ZWdvcnkge1xuICAgIGlkOiBudW1iZXI7XG4gICAgY2F0ZWdvcnk6IFNrQ2F0ZWdvcnk7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBJU2tQcm9tb3Rpb25DYXRlZ29yeSA9IHt9KSB7XG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLmNhdGVnb3J5ID0gZGF0YS5jYXRlZ29yeTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uIGV4dGVuZHMgSUF1ZGl0IHtcbiAgICBpZD86IG51bWJlcjtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzdGFydERhdGU/OiBzdHJpbmc7XG4gICAgZW5kRGF0ZT86IHN0cmluZztcbiAgICBlbmREYXRlU3RyaW5nPzogc3RyaW5nO1xuICAgIHJlYmF0ZVN0cmluZz86IHN0cmluZztcbiAgICBhY2Nlc3NQb2xpY3k/OiBTa1Byb21vdGlvbkFjY2Vzc1BvbGljeTtcbiAgICBjYXRlZ29yaWVzPzogSVNrUHJvbW90aW9uQ2F0ZWdvcnlbXTtcbiAgICBpbWFnZT86IElTa0ZpbGU7XG4gICAgaW1hZ2VBbHQ/OiBJU2tGaWxlO1xuICAgIGFydGljbGU/OiBJU2tBcnRpY2xlO1xuICAgIGJlbmVmaXQ/OiBJU2tBcnRpY2xlO1xuICAgIHRhcmdldHM/OiBJU2tQcm9tb3Rpb25UYXJnZXRbXTtcbiAgICBvcGVuZ3JhcGg/OiBTa09wZW5ncmFwaDtcbiAgICBsaXN0T3JkZXI/OiBudW1iZXI7XG4gICAgYWN0aXZhdGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNrUHJvbW90aW9uIGV4dGVuZHMgQXVkaXQge1xuICAgIGlkOiBudW1iZXI7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdGFydERhdGU6IHN0cmluZztcbiAgICBlbmREYXRlOiBzdHJpbmc7XG4gICAgZW5kRGF0ZVN0cmluZzogc3RyaW5nO1xuICAgIHJlYmF0ZVN0cmluZzogc3RyaW5nO1xuICAgIGFjY2Vzc1BvbGljeT86IFNrUHJvbW90aW9uQWNjZXNzUG9saWN5O1xuICAgIGNhdGVnb3JpZXM/OiBTa1Byb21vdGlvbkNhdGVnb3J5W107XG4gICAgaW1hZ2U6IFNrRmlsZTtcbiAgICBpbWFnZUFsdDogU2tGaWxlO1xuICAgIGFydGljbGU6IFNrQXJ0aWNsZTtcbiAgICBiZW5lZml0OiBTa0FydGljbGU7XG4gICAgdGFyZ2V0czogU2tQcm9tb3Rpb25UYXJnZXRbXTtcbiAgICBvcGVuZ3JhcGg6IFNrT3BlbmdyYXBoO1xuICAgIGxpc3RPcmRlcjogbnVtYmVyO1xuICAgIGFjdGl2YXRlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IElTa1Byb21vdGlvbiA9IHt9KSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuXG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZSB8fCAnJztcbiAgICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRhLnN0YXJ0RGF0ZTtcbiAgICAgICAgdGhpcy5lbmREYXRlID0gZGF0YS5lbmREYXRlO1xuICAgICAgICB0aGlzLmVuZERhdGVTdHJpbmcgPSBkYXRhLmVuZERhdGVTdHJpbmcgfHwgJyc7XG4gICAgICAgIHRoaXMucmViYXRlU3RyaW5nID0gZGF0YS5yZWJhdGVTdHJpbmcgfHwgJyc7XG4gICAgICAgIHRoaXMuYWNjZXNzUG9saWN5ID0gZGF0YS5hY2Nlc3NQb2xpY3kgfHwgU2tQcm9tb3Rpb25BY2Nlc3NQb2xpY3kuUHVibGljO1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXMgPSAoZGF0YS5jYXRlZ29yaWVzIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tQcm9tb3Rpb25DYXRlZ29yeShpdGVtKSk7XG4gICAgICAgIHRoaXMuaW1hZ2UgPSBkYXRhLmltYWdlID8gbmV3IFNrRmlsZShkYXRhLmltYWdlKSA6IG51bGw7XG4gICAgICAgIHRoaXMuaW1hZ2VBbHQgPSBkYXRhLmltYWdlQWx0ID8gbmV3IFNrRmlsZShkYXRhLmltYWdlQWx0KSA6IG51bGw7XG4gICAgICAgIHRoaXMuYXJ0aWNsZSA9IGRhdGEuYXJ0aWNsZSA/IG5ldyBTa0FydGljbGUoZGF0YS5hcnRpY2xlKSA6IG51bGw7XG4gICAgICAgIHRoaXMuYmVuZWZpdCA9IGRhdGEuYmVuZWZpdCA/IG5ldyBTa0FydGljbGUoZGF0YS5iZW5lZml0KSA6IG51bGw7XG4gICAgICAgIHRoaXMudGFyZ2V0cyA9IChkYXRhLnRhcmdldHMgfHwgW10pLm1hcChpdGVtID0+IG5ldyBTa1Byb21vdGlvblRhcmdldChpdGVtKSk7XG4gICAgICAgIHRoaXMub3BlbmdyYXBoID0gT2JqZWN0LmFzc2lnbih7fSwge29nVGl0bGU6ICcnLCBvZ0F1dG9GaWxsOiB0cnVlLCBvZ0Rlc2M6ICcnLCBvZ0ltYWdlOiBudWxsfSwgZGF0YS5vcGVuZ3JhcGgpO1xuICAgICAgICB0aGlzLmxpc3RPcmRlciA9IGRhdGEubGlzdE9yZGVyO1xuICAgICAgICB0aGlzLmFjdGl2YXRlZCA9IGRhdGEuYWN0aXZhdGVkO1xuICAgIH1cblxuICAgIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pZDtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uR2lmdEl0ZW0ge1xuICAgIGlkPzogbnVtYmVyO1xuICAgIHByb2R1Y3Q/OiBTa1Byb2R1Y3RMaXN0SXRlbTtcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgdHlwZTogU2tHaWZ0VHlwZTtcbiAgICBvcHRpb25UaXRsZTogc3RyaW5nO1xuICAgIG9wdGlvblZhbHVlVGl0bGU6IHN0cmluZztcbiAgICBvcHRpb25BZGRlZFByaWNlOiBudW1iZXI7XG4gICAgY3VzdG9tVGl0bGU6IHN0cmluZztcbiAgICBjdXN0b21JbWFnZTogSVNrRmlsZTtcbiAgICBjdXN0b21CcmFuZE5hbWU6IHN0cmluZztcbiAgICBjdXN0b21QcmljZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvbkdpZnRHcm91cEl0ZW0ge1xuICAgIHNlcnZlVHlwZT86IFNrUHJvbW90aW9uR2lmdFNlcnZlVHlwZTtcbiAgICBnaWZ0cz86IElTa1Byb21vdGlvbkdpZnRJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uVGFyZ2V0SXRlbSB7XG4gICAgcHJvZHVjdElkPzogbnVtYmVyO1xuICAgIHByb2R1Y3Q/OiBTa1Byb2R1Y3RMaXN0SXRlbTtcbiAgICBpc0xpbWl0ZWQ/OiBib29sZWFuO1xuICAgIHN0b2NrQW1vdW50PzogbnVtYmVyO1xuICAgIGRpc2NvdW50VHlwZT86IFNrVmFsdWVUeXBlO1xuICAgIGRpc2NvdW50VmFsdWU/OiBudW1iZXI7XG4gICAgZ2lmdEdyb3Vwcz86IElTa1Byb21vdGlvbkdpZnRHcm91cEl0ZW1bXTtcbiAgICBvcHRpb25zPzogSVNrUHJvZHVjdE9wdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTa1Byb21vdGlvblVwZGF0ZUltYWdlIHtcbiAgICBpbWFnZT86IG51bWJlcjtcbiAgICBpbWFnZUFsdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tQcm9tb3Rpb25QdWJsaWNMaXN0IHtcbiAgICBpZD86IG51bWJlcjtcbiAgICBpbWFnZT86IElTa0ZpbGU7XG4gICAgaW1hZ2VBbHQ/OiBJU2tGaWxlO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGVuZERhdGU/OiBzdHJpbmc7XG4gICAgZW5kRGF0ZVN0cmluZz86IHN0cmluZztcbiAgICByZWJhdGVTdHJpbmc/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUHJvbW90aW9uUHVibGljRGV0YWlsIGV4dGVuZHMgSVNrUHJvbW90aW9uUHVibGljTGlzdCB7XG4gICAgY29udGVudD86IHN0cmluZztcbiAgICBiZW5lZml0Pzogc3RyaW5nO1xuICAgIHRhcmdldHM/OiBJU2tQcm9tb3Rpb25UYXJnZXRJdGVtW107XG4gICAgb3BlbmdyYXBoPzogU2tPcGVuZ3JhcGg7XG59XG4iXX0=
@@ -624,6 +624,7 @@ class SkPromotion extends Audit {
624
624
  this.startDate = data.startDate;
625
625
  this.endDate = data.endDate;
626
626
  this.endDateString = data.endDateString || '';
627
+ this.rebateString = data.rebateString || '';
627
628
  this.accessPolicy = data.accessPolicy || SkPromotionAccessPolicy.Public;
628
629
  this.categories = (data.categories || []).map(item => new SkPromotionCategory(item));
629
630
  this.image = data.image ? new SkFile(data.image) : null;
@@ -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 ISkAffiliateStats {\n dailyProductView?: ISkAffiliateStatsItem[];\n dailyPurchase?: ISkAffiliateStatsItem[];\n monthlyProductView?: ISkAffiliateStatsItem[];\n monthlyPurchase?: ISkAffiliateStatsItem[];\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 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 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.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}\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 ISkAffiliateStats {\n dailyProductView?: ISkAffiliateStatsItem[];\n dailyPurchase?: ISkAffiliateStatsItem[];\n monthlyProductView?: ISkAffiliateStatsItem[];\n monthlyPurchase?: ISkAffiliateStatsItem[];\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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"}
@@ -624,6 +624,7 @@ class SkPromotion extends Audit {
624
624
  this.startDate = data.startDate;
625
625
  this.endDate = data.endDate;
626
626
  this.endDateString = data.endDateString || '';
627
+ this.rebateString = data.rebateString || '';
627
628
  this.accessPolicy = data.accessPolicy || SkPromotionAccessPolicy.Public;
628
629
  this.categories = (data.categories || []).map(item => new SkPromotionCategory(item));
629
630
  this.image = data.image ? new SkFile(data.image) : null;
@@ -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 ISkAffiliateStats {\n dailyProductView?: ISkAffiliateStatsItem[];\n dailyPurchase?: ISkAffiliateStatsItem[];\n monthlyProductView?: ISkAffiliateStatsItem[];\n monthlyPurchase?: ISkAffiliateStatsItem[];\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 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 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.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}\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 ISkAffiliateStats {\n dailyProductView?: ISkAffiliateStatsItem[];\n dailyPurchase?: ISkAffiliateStatsItem[];\n monthlyProductView?: ISkAffiliateStatsItem[];\n monthlyPurchase?: ISkAffiliateStatsItem[];\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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"}
@@ -89,6 +89,7 @@ export interface ISkPromotion extends IAudit {
89
89
  startDate?: string;
90
90
  endDate?: string;
91
91
  endDateString?: string;
92
+ rebateString?: string;
92
93
  accessPolicy?: SkPromotionAccessPolicy;
93
94
  categories?: ISkPromotionCategory[];
94
95
  image?: ISkFile;
@@ -106,6 +107,7 @@ export declare class SkPromotion extends Audit {
106
107
  startDate: string;
107
108
  endDate: string;
108
109
  endDateString: string;
110
+ rebateString: string;
109
111
  accessPolicy?: SkPromotionAccessPolicy;
110
112
  categories?: SkPromotionCategory[];
111
113
  image: SkFile;
@@ -157,6 +159,7 @@ export interface ISkPromotionPublicList {
157
159
  title?: string;
158
160
  endDate?: string;
159
161
  endDateString?: string;
162
+ rebateString?: string;
160
163
  }
161
164
  export interface ISkPromotionPublicDetail extends ISkPromotionPublicList {
162
165
  content?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sk-front-lib",
3
- "version": "0.17.35",
3
+ "version": "0.17.37",
4
4
  "peerDependencies": {
5
5
  "@angular/router": "^13.0.2",
6
6
  "@angular/animations": "^13.0.2",