sk-front-lib 0.14.8 → 0.15.3

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.
Files changed (327) hide show
  1. package/api/package.json +5 -6
  2. package/api/sk-api.module.d.ts +7 -0
  3. package/api/sk-api.service.d.ts +3 -0
  4. package/api/sk-front-lib-api.d.ts +1 -0
  5. package/article/package.json +5 -6
  6. package/article/sk-article-editor-server.component.d.ts +3 -0
  7. package/article/sk-article-editor.component.d.ts +3 -0
  8. package/article/sk-article-server.module.d.ts +6 -0
  9. package/article/sk-article.module.d.ts +7 -0
  10. package/article/sk-article.service.d.ts +3 -0
  11. package/article/sk-froala-editor.directive.d.ts +3 -0
  12. package/article/sk-front-lib-article.d.ts +1 -0
  13. package/crud/package.json +5 -6
  14. package/crud/sk-account.service.d.ts +3 -0
  15. package/crud/sk-auth-admin.guard.d.ts +3 -0
  16. package/crud/sk-auth.guard.d.ts +3 -0
  17. package/crud/sk-auth.service.d.ts +3 -0
  18. package/crud/sk-board.service.d.ts +3 -0
  19. package/crud/sk-brand.service.d.ts +3 -0
  20. package/crud/sk-cart.service.d.ts +7 -0
  21. package/crud/sk-category.service.d.ts +3 -0
  22. package/crud/sk-comment.service.d.ts +3 -0
  23. package/crud/sk-config.service.d.ts +3 -0
  24. package/crud/sk-contact.service.d.ts +3 -0
  25. package/crud/sk-coupon.service.d.ts +3 -0
  26. package/crud/sk-document.service.d.ts +3 -0
  27. package/crud/sk-etc.service.d.ts +3 -0
  28. package/crud/sk-file.service.d.ts +3 -0
  29. package/crud/sk-front-lib-crud.d.ts +1 -1
  30. package/crud/sk-keyword.service.d.ts +3 -0
  31. package/crud/sk-order.service.d.ts +3 -0
  32. package/crud/sk-point.service.d.ts +3 -0
  33. package/crud/sk-product.service.d.ts +4 -0
  34. package/crud/sk-promotion.service.d.ts +3 -0
  35. package/crud/sk-search.service.d.ts +3 -0
  36. package/crud/sk-store.service.d.ts +3 -0
  37. package/crud/sk-user.service.d.ts +3 -0
  38. package/{esm2015/api/model/api-config.js → esm2020/api/model/api-config.mjs} +0 -0
  39. package/{esm2015/api/model/api-pageable-param.js → esm2020/api/model/api-pageable-param.mjs} +0 -0
  40. package/{esm2015/api/model/api-pageable.js → esm2020/api/model/api-pageable.mjs} +0 -0
  41. package/{esm2015/api/model/api-response.js → esm2020/api/model/api-response.mjs} +0 -0
  42. package/{esm2015/api/model/index.js → esm2020/api/model/index.mjs} +0 -0
  43. package/{esm2015/api/public_api.js → esm2020/api/public_api.mjs} +0 -0
  44. package/esm2020/api/sk-api.module.mjs +35 -0
  45. package/esm2020/api/sk-api.service.mjs +145 -0
  46. package/{esm2015/api/sk-front-lib-api.js → esm2020/api/sk-front-lib-api.mjs} +0 -0
  47. package/{esm2015/article/public_api.js → esm2020/article/public_api.mjs} +0 -0
  48. package/esm2020/article/sk-article-editor-server.component.mjs +51 -0
  49. package/esm2020/article/sk-article-editor.component.mjs +93 -0
  50. package/esm2020/article/sk-article-server.module.mjs +33 -0
  51. package/esm2020/article/sk-article.module.mjs +32 -0
  52. package/esm2020/article/sk-article.service.mjs +248 -0
  53. package/esm2020/article/sk-froala-editor.directive.mjs +325 -0
  54. package/{esm2015/article/sk-front-lib-article.js → esm2020/article/sk-front-lib-article.mjs} +0 -0
  55. package/{esm2015/crud/public_api.js → esm2020/crud/public_api.mjs} +0 -0
  56. package/esm2020/crud/sk-account.service.mjs +36 -0
  57. package/esm2020/crud/sk-auth-admin.guard.mjs +31 -0
  58. package/esm2020/crud/sk-auth.guard.mjs +31 -0
  59. package/esm2020/crud/sk-auth.service.mjs +67 -0
  60. package/esm2020/crud/sk-board.service.mjs +54 -0
  61. package/esm2020/crud/sk-brand.service.mjs +46 -0
  62. package/esm2020/crud/sk-cart.service.mjs +255 -0
  63. package/esm2020/crud/sk-category.service.mjs +63 -0
  64. package/esm2020/crud/sk-comment.service.mjs +43 -0
  65. package/esm2020/crud/sk-config.service.mjs +31 -0
  66. package/esm2020/crud/sk-contact.service.mjs +39 -0
  67. package/esm2020/crud/sk-coupon.service.mjs +62 -0
  68. package/esm2020/crud/sk-document.service.mjs +95 -0
  69. package/esm2020/crud/sk-etc.service.mjs +25 -0
  70. package/esm2020/crud/sk-file.service.mjs +37 -0
  71. package/esm2020/crud/sk-front-lib-crud.mjs +5 -0
  72. package/esm2020/crud/sk-keyword.service.mjs +46 -0
  73. package/esm2020/crud/sk-order.service.mjs +133 -0
  74. package/esm2020/crud/sk-point.service.mjs +45 -0
  75. package/esm2020/crud/sk-product.service.mjs +156 -0
  76. package/esm2020/crud/sk-promotion.service.mjs +81 -0
  77. package/esm2020/crud/sk-search.service.mjs +25 -0
  78. package/esm2020/crud/sk-store.service.mjs +47 -0
  79. package/esm2020/crud/sk-user.service.mjs +69 -0
  80. package/esm2020/google-analytics/google-analytics-router.module.mjs +30 -0
  81. package/esm2020/google-analytics/google-analytics.module.mjs +40 -0
  82. package/esm2020/google-analytics/initializers/google-analytics-router.initializer.mjs +24 -0
  83. package/esm2020/google-analytics/initializers/google-analytics.initializer.mjs +46 -0
  84. package/{esm2015/google-analytics/interfaces/google-analytics-command.js → esm2020/google-analytics/interfaces/google-analytics-command.mjs} +0 -0
  85. package/{esm2015/google-analytics/interfaces/google-analytics-settings.js → esm2020/google-analytics/interfaces/google-analytics-settings.mjs} +0 -0
  86. package/{esm2015/google-analytics/public_api.js → esm2020/google-analytics/public_api.mjs} +0 -0
  87. package/esm2020/google-analytics/services/google-analytics.service.mjs +200 -0
  88. package/{esm2015/google-analytics/sk-front-lib-google-analytics.js → esm2020/google-analytics/sk-front-lib-google-analytics.mjs} +0 -0
  89. package/{esm2015/google-analytics/tokens/google-analytics-settings-token.js → esm2020/google-analytics/tokens/google-analytics-settings-token.mjs} +0 -0
  90. package/{esm2015/google-analytics/types/ga-action.type.js → esm2020/google-analytics/types/ga-action.type.mjs} +0 -0
  91. package/{esm2015/google-analytics/types/ga-bind.type.js → esm2020/google-analytics/types/ga-bind.type.mjs} +0 -0
  92. package/esm2020/image/public_api.mjs +3 -0
  93. package/esm2020/image/sk-front-lib-image.mjs +5 -0
  94. package/esm2020/image/sk-image.component.mjs +262 -0
  95. package/esm2020/image/sk-image.module.mjs +43 -0
  96. package/{esm2015/lib/sk-animations.js → esm2020/lib/sk-animations.mjs} +0 -0
  97. package/esm2020/lib/sk-byte.pipe.mjs +18 -0
  98. package/esm2020/lib/sk-date-time.pipe.mjs +16 -0
  99. package/esm2020/lib/sk-date.pipe.mjs +16 -0
  100. package/esm2020/lib/sk-front-lib.module.mjs +42 -0
  101. package/esm2020/lib/sk-keys.pipe.mjs +23 -0
  102. package/esm2020/lib/sk-time.pipe.mjs +16 -0
  103. package/{esm2015/lib/sk-utils.js → esm2020/lib/sk-utils.mjs} +0 -0
  104. package/{esm2015/model/lib/article.js → esm2020/model/lib/article.mjs} +0 -0
  105. package/{esm2015/model/lib/audit.js → esm2020/model/lib/audit.mjs} +0 -0
  106. package/{esm2015/model/lib/auth.js → esm2020/model/lib/auth.mjs} +0 -0
  107. package/{esm2015/model/lib/board.js → esm2020/model/lib/board.mjs} +0 -0
  108. package/{esm2015/model/lib/cart.js → esm2020/model/lib/cart.mjs} +0 -0
  109. package/{esm2015/model/lib/comment.js → esm2020/model/lib/comment.mjs} +0 -0
  110. package/{esm2015/model/lib/contact.js → esm2020/model/lib/contact.mjs} +0 -0
  111. package/{esm2015/model/lib/coupon.js → esm2020/model/lib/coupon.mjs} +0 -0
  112. package/{esm2015/model/lib/document.js → esm2020/model/lib/document.mjs} +0 -0
  113. package/{esm2015/model/lib/etc.js → esm2020/model/lib/etc.mjs} +0 -0
  114. package/{esm2015/model/lib/file.js → esm2020/model/lib/file.mjs} +0 -0
  115. package/{esm2015/model/lib/filetype.js → esm2020/model/lib/filetype.mjs} +0 -0
  116. package/{esm2015/model/lib/grid.js → esm2020/model/lib/grid.mjs} +0 -0
  117. package/{esm2015/model/lib/nicepay.js → esm2020/model/lib/nicepay.mjs} +0 -0
  118. package/{esm2015/model/lib/order.js → esm2020/model/lib/order.mjs} +0 -0
  119. package/{esm2015/model/lib/payment.js → esm2020/model/lib/payment.mjs} +0 -0
  120. package/{esm2015/model/lib/point.js → esm2020/model/lib/point.mjs} +0 -0
  121. package/{esm2015/model/lib/product-series.js → esm2020/model/lib/product-series.mjs} +0 -0
  122. package/{esm2015/model/lib/product.js → esm2020/model/lib/product.mjs} +1 -1
  123. package/esm2020/model/lib/promotion.mjs +79 -0
  124. package/{esm2015/model/lib/shipping.js → esm2020/model/lib/shipping.mjs} +0 -0
  125. package/{esm2015/model/lib/user.js → esm2020/model/lib/user.mjs} +0 -0
  126. package/{esm2015/model/public_api.js → esm2020/model/public_api.mjs} +0 -0
  127. package/{esm2015/model/sk-front-lib-model.js → esm2020/model/sk-front-lib-model.mjs} +0 -0
  128. package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -1
  129. package/esm2020/search-address/dialog/dialog.component.mjs +27 -0
  130. package/{esm2015/search-address/public_api.js → esm2020/search-address/public_api.mjs} +0 -0
  131. package/esm2020/search-address/sk-front-lib-search-address.mjs +5 -0
  132. package/esm2020/search-address/sk-search-address.directive.mjs +41 -0
  133. package/{esm2015/search-address/sk-search-address.model.js → esm2020/search-address/sk-search-address.model.mjs} +0 -0
  134. package/esm2020/search-address/sk-search-address.module.mjs +52 -0
  135. package/{esm2015/search-address/sk-search-address.service.js → esm2020/search-address/sk-search-address.service.mjs} +10 -8
  136. package/esm2020/sk-front-lib.mjs +5 -0
  137. package/{esm2015/uploader/public_api.js → esm2020/uploader/public_api.mjs} +0 -0
  138. package/esm2020/uploader/sk-front-lib-uploader.mjs +5 -0
  139. package/{esm2015/uploader/sk-uploader-file-item.model.js → esm2020/uploader/sk-uploader-file-item.model.mjs} +0 -0
  140. package/{esm2015/uploader/sk-uploader.animation.js → esm2020/uploader/sk-uploader.animation.mjs} +0 -0
  141. package/{esm2015/uploader/sk-uploader.class.js → esm2020/uploader/sk-uploader.class.mjs} +0 -0
  142. package/esm2020/uploader/sk-uploader.component.mjs +120 -0
  143. package/esm2020/uploader/sk-uploader.directive.mjs +44 -0
  144. package/esm2020/uploader/sk-uploader.module.mjs +62 -0
  145. package/fesm2015/sk-front-lib-api.mjs +218 -0
  146. package/fesm2015/sk-front-lib-api.mjs.map +1 -0
  147. package/fesm2015/{sk-front-lib-article.js → sk-front-lib-article.mjs} +183 -158
  148. package/fesm2015/sk-front-lib-article.mjs.map +1 -0
  149. package/fesm2015/sk-front-lib-crud.mjs +1403 -0
  150. package/fesm2015/sk-front-lib-crud.mjs.map +1 -0
  151. package/fesm2015/{sk-front-lib-google-analytics.js → sk-front-lib-google-analytics.mjs} +54 -33
  152. package/fesm2015/sk-front-lib-google-analytics.mjs.map +1 -0
  153. package/fesm2015/{sk-front-lib-image.js → sk-front-lib-image.mjs} +64 -48
  154. package/fesm2015/sk-front-lib-image.mjs.map +1 -0
  155. package/fesm2015/{sk-front-lib-model.js → sk-front-lib-model.mjs} +9 -2
  156. package/fesm2015/sk-front-lib-model.mjs.map +1 -0
  157. package/fesm2015/sk-front-lib-search-address.mjs +188 -0
  158. package/fesm2015/sk-front-lib-search-address.mjs.map +1 -0
  159. package/fesm2015/sk-front-lib-uploader.mjs +551 -0
  160. package/fesm2015/sk-front-lib-uploader.mjs.map +1 -0
  161. package/fesm2015/{sk-front-lib.js → sk-front-lib.mjs} +69 -41
  162. package/fesm2015/sk-front-lib.mjs.map +1 -0
  163. package/{fesm2015/sk-front-lib-api.js → fesm2020/sk-front-lib-api.mjs} +41 -26
  164. package/fesm2020/sk-front-lib-api.mjs.map +1 -0
  165. package/fesm2020/sk-front-lib-article.mjs +771 -0
  166. package/fesm2020/sk-front-lib-article.mjs.map +1 -0
  167. package/{fesm2015/sk-front-lib-crud.js → fesm2020/sk-front-lib-crud.mjs} +213 -236
  168. package/fesm2020/sk-front-lib-crud.mjs.map +1 -0
  169. package/fesm2020/sk-front-lib-google-analytics.mjs +336 -0
  170. package/fesm2020/sk-front-lib-google-analytics.mjs.map +1 -0
  171. package/fesm2020/sk-front-lib-image.mjs +309 -0
  172. package/fesm2020/sk-front-lib-image.mjs.map +1 -0
  173. package/fesm2020/sk-front-lib-model.mjs +1052 -0
  174. package/fesm2020/sk-front-lib-model.mjs.map +1 -0
  175. package/fesm2020/sk-front-lib-search-address.mjs +186 -0
  176. package/fesm2020/sk-front-lib-search-address.mjs.map +1 -0
  177. package/fesm2020/sk-front-lib-uploader.mjs +549 -0
  178. package/fesm2020/sk-front-lib-uploader.mjs.map +1 -0
  179. package/fesm2020/sk-front-lib.mjs +539 -0
  180. package/fesm2020/sk-front-lib.mjs.map +1 -0
  181. package/google-analytics/google-analytics-router.module.d.ts +6 -0
  182. package/google-analytics/google-analytics.module.d.ts +5 -0
  183. package/google-analytics/package.json +5 -6
  184. package/google-analytics/services/google-analytics.service.d.ts +3 -0
  185. package/google-analytics/sk-front-lib-google-analytics.d.ts +1 -0
  186. package/image/package.json +5 -6
  187. package/image/public_api.d.ts +1 -0
  188. package/image/sk-front-lib-image.d.ts +1 -1
  189. package/image/sk-image.component.d.ts +6 -3
  190. package/image/sk-image.module.d.ts +10 -0
  191. package/lib/sk-byte.pipe.d.ts +3 -0
  192. package/lib/sk-date-time.pipe.d.ts +3 -0
  193. package/lib/sk-date.pipe.d.ts +3 -0
  194. package/lib/sk-front-lib.module.d.ts +9 -0
  195. package/lib/sk-keys.pipe.d.ts +3 -0
  196. package/lib/sk-time.pipe.d.ts +3 -0
  197. package/model/lib/product.d.ts +1 -0
  198. package/model/lib/promotion.d.ts +12 -1
  199. package/model/package.json +5 -6
  200. package/model/sk-front-lib-model.d.ts +1 -0
  201. package/package.json +96 -20
  202. package/public-api.d.ts +1 -0
  203. package/search-address/dialog/dialog.component.d.ts +3 -0
  204. package/search-address/package.json +5 -6
  205. package/search-address/sk-front-lib-search-address.d.ts +1 -2
  206. package/search-address/sk-search-address.directive.d.ts +3 -0
  207. package/search-address/sk-search-address.module.d.ts +12 -0
  208. package/search-address/sk-search-address.service.d.ts +3 -0
  209. package/sk-front-lib.d.ts +1 -1
  210. package/uploader/package.json +5 -6
  211. package/uploader/sk-front-lib-uploader.d.ts +1 -1
  212. package/uploader/sk-uploader.component.d.ts +3 -0
  213. package/uploader/sk-uploader.directive.d.ts +3 -0
  214. package/uploader/sk-uploader.module.d.ts +14 -0
  215. package/api/sk-front-lib-api.metadata.json +0 -1
  216. package/article/sk-front-lib-article.metadata.json +0 -1
  217. package/bundles/sk-front-lib-api.umd.js +0 -230
  218. package/bundles/sk-front-lib-api.umd.js.map +0 -1
  219. package/bundles/sk-front-lib-api.umd.min.js +0 -2
  220. package/bundles/sk-front-lib-api.umd.min.js.map +0 -1
  221. package/bundles/sk-front-lib-article.umd.js +0 -772
  222. package/bundles/sk-front-lib-article.umd.js.map +0 -1
  223. package/bundles/sk-front-lib-article.umd.min.js +0 -2
  224. package/bundles/sk-front-lib-article.umd.min.js.map +0 -1
  225. package/bundles/sk-front-lib-crud.umd.js +0 -1846
  226. package/bundles/sk-front-lib-crud.umd.js.map +0 -1
  227. package/bundles/sk-front-lib-crud.umd.min.js +0 -2
  228. package/bundles/sk-front-lib-crud.umd.min.js.map +0 -1
  229. package/bundles/sk-front-lib-google-analytics.umd.js +0 -673
  230. package/bundles/sk-front-lib-google-analytics.umd.js.map +0 -1
  231. package/bundles/sk-front-lib-google-analytics.umd.min.js +0 -16
  232. package/bundles/sk-front-lib-google-analytics.umd.min.js.map +0 -1
  233. package/bundles/sk-front-lib-image.umd.js +0 -312
  234. package/bundles/sk-front-lib-image.umd.js.map +0 -1
  235. package/bundles/sk-front-lib-image.umd.min.js +0 -2
  236. package/bundles/sk-front-lib-image.umd.min.js.map +0 -1
  237. package/bundles/sk-front-lib-model.umd.js +0 -1464
  238. package/bundles/sk-front-lib-model.umd.js.map +0 -1
  239. package/bundles/sk-front-lib-model.umd.min.js +0 -16
  240. package/bundles/sk-front-lib-model.umd.min.js.map +0 -1
  241. package/bundles/sk-front-lib-search-address.umd.js +0 -182
  242. package/bundles/sk-front-lib-search-address.umd.js.map +0 -1
  243. package/bundles/sk-front-lib-search-address.umd.min.js +0 -2
  244. package/bundles/sk-front-lib-search-address.umd.min.js.map +0 -1
  245. package/bundles/sk-front-lib-uploader.umd.js +0 -534
  246. package/bundles/sk-front-lib-uploader.umd.js.map +0 -1
  247. package/bundles/sk-front-lib-uploader.umd.min.js +0 -2
  248. package/bundles/sk-front-lib-uploader.umd.min.js.map +0 -1
  249. package/bundles/sk-front-lib.umd.js +0 -546
  250. package/bundles/sk-front-lib.umd.js.map +0 -1
  251. package/bundles/sk-front-lib.umd.min.js +0 -2
  252. package/bundles/sk-front-lib.umd.min.js.map +0 -1
  253. package/crud/sk-front-lib-crud.metadata.json +0 -1
  254. package/esm2015/api/sk-api.module.js +0 -24
  255. package/esm2015/api/sk-api.service.js +0 -144
  256. package/esm2015/article/sk-article-editor-server.component.js +0 -54
  257. package/esm2015/article/sk-article-editor.component.js +0 -85
  258. package/esm2015/article/sk-article-server.module.js +0 -26
  259. package/esm2015/article/sk-article.module.js +0 -23
  260. package/esm2015/article/sk-article.service.js +0 -235
  261. package/esm2015/article/sk-froala-editor.directive.js +0 -320
  262. package/esm2015/crud/sk-account.service.js +0 -38
  263. package/esm2015/crud/sk-auth-admin.guard.js +0 -35
  264. package/esm2015/crud/sk-auth.guard.js +0 -35
  265. package/esm2015/crud/sk-auth.service.js +0 -71
  266. package/esm2015/crud/sk-board.service.js +0 -55
  267. package/esm2015/crud/sk-brand.service.js +0 -47
  268. package/esm2015/crud/sk-cart.service.js +0 -260
  269. package/esm2015/crud/sk-category.service.js +0 -64
  270. package/esm2015/crud/sk-comment.service.js +0 -44
  271. package/esm2015/crud/sk-config.service.js +0 -33
  272. package/esm2015/crud/sk-contact.service.js +0 -40
  273. package/esm2015/crud/sk-coupon.service.js +0 -63
  274. package/esm2015/crud/sk-document.service.js +0 -96
  275. package/esm2015/crud/sk-etc.service.js +0 -27
  276. package/esm2015/crud/sk-file.service.js +0 -38
  277. package/esm2015/crud/sk-front-lib-crud.js +0 -6
  278. package/esm2015/crud/sk-keyword.service.js +0 -47
  279. package/esm2015/crud/sk-order.service.js +0 -134
  280. package/esm2015/crud/sk-point.service.js +0 -46
  281. package/esm2015/crud/sk-product.service.js +0 -154
  282. package/esm2015/crud/sk-promotion.service.js +0 -82
  283. package/esm2015/crud/sk-search.service.js +0 -26
  284. package/esm2015/crud/sk-store.service.js +0 -48
  285. package/esm2015/crud/sk-user.service.js +0 -70
  286. package/esm2015/google-analytics/google-analytics-router.module.js +0 -19
  287. package/esm2015/google-analytics/google-analytics.module.js +0 -33
  288. package/esm2015/google-analytics/initializers/google-analytics-router.initializer.js +0 -25
  289. package/esm2015/google-analytics/initializers/google-analytics.initializer.js +0 -47
  290. package/esm2015/google-analytics/services/google-analytics.service.js +0 -199
  291. package/esm2015/image/public_api.js +0 -2
  292. package/esm2015/image/sk-front-lib-image.js +0 -6
  293. package/esm2015/image/sk-image.component.js +0 -258
  294. package/esm2015/image/sk-image.module.js +0 -28
  295. package/esm2015/lib/sk-byte.pipe.js +0 -14
  296. package/esm2015/lib/sk-date-time.pipe.js +0 -12
  297. package/esm2015/lib/sk-date.pipe.js +0 -12
  298. package/esm2015/lib/sk-front-lib.module.js +0 -29
  299. package/esm2015/lib/sk-keys.pipe.js +0 -19
  300. package/esm2015/lib/sk-time.pipe.js +0 -12
  301. package/esm2015/model/lib/promotion.js +0 -72
  302. package/esm2015/search-address/dialog/dialog.component.js +0 -28
  303. package/esm2015/search-address/sk-front-lib-search-address.js +0 -7
  304. package/esm2015/search-address/sk-search-address.directive.js +0 -39
  305. package/esm2015/search-address/sk-search-address.module.js +0 -34
  306. package/esm2015/sk-front-lib.js +0 -6
  307. package/esm2015/uploader/sk-front-lib-uploader.js +0 -6
  308. package/esm2015/uploader/sk-uploader.component.js +0 -106
  309. package/esm2015/uploader/sk-uploader.directive.js +0 -40
  310. package/esm2015/uploader/sk-uploader.module.js +0 -39
  311. package/fesm2015/sk-front-lib-api.js.map +0 -1
  312. package/fesm2015/sk-front-lib-article.js.map +0 -1
  313. package/fesm2015/sk-front-lib-crud.js.map +0 -1
  314. package/fesm2015/sk-front-lib-google-analytics.js.map +0 -1
  315. package/fesm2015/sk-front-lib-image.js.map +0 -1
  316. package/fesm2015/sk-front-lib-model.js.map +0 -1
  317. package/fesm2015/sk-front-lib-search-address.js +0 -166
  318. package/fesm2015/sk-front-lib-search-address.js.map +0 -1
  319. package/fesm2015/sk-front-lib-uploader.js +0 -510
  320. package/fesm2015/sk-front-lib-uploader.js.map +0 -1
  321. package/fesm2015/sk-front-lib.js.map +0 -1
  322. package/google-analytics/sk-front-lib-google-analytics.metadata.json +0 -1
  323. package/image/sk-front-lib-image.metadata.json +0 -1
  324. package/model/sk-front-lib-model.metadata.json +0 -1
  325. package/search-address/sk-front-lib-search-address.metadata.json +0 -1
  326. package/sk-front-lib.metadata.json +0 -1
  327. package/uploader/sk-front-lib-uploader.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../projects/sk-front-lib/crud/src/sk-file.service.ts","../../../projects/sk-front-lib/crud/src/sk-auth.service.ts","../../../projects/sk-front-lib/crud/src/sk-auth.guard.ts","../../../projects/sk-front-lib/crud/src/sk-auth-admin.guard.ts","../../../projects/sk-front-lib/crud/src/sk-user.service.ts","../../../projects/sk-front-lib/crud/src/sk-document.service.ts","../../../projects/sk-front-lib/crud/src/sk-board.service.ts","../../../projects/sk-front-lib/crud/src/sk-brand.service.ts","../../../projects/sk-front-lib/crud/src/sk-category.service.ts","../../../projects/sk-front-lib/crud/src/sk-product.service.ts","../../../projects/sk-front-lib/crud/src/sk-promotion.service.ts","../../../projects/sk-front-lib/crud/src/sk-config.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/sk-front-lib/crud/src/sk-cart.service.ts","../../../projects/sk-front-lib/crud/src/sk-order.service.ts","../../../projects/sk-front-lib/crud/src/sk-account.service.ts","../../../projects/sk-front-lib/crud/src/sk-search.service.ts","../../../projects/sk-front-lib/crud/src/sk-point.service.ts","../../../projects/sk-front-lib/crud/src/sk-coupon.service.ts","../../../projects/sk-front-lib/crud/src/sk-comment.service.ts","../../../projects/sk-front-lib/crud/src/sk-contact.service.ts","../../../projects/sk-front-lib/crud/src/sk-etc.service.ts","../../../projects/sk-front-lib/crud/src/sk-store.service.ts","../../../projects/sk-front-lib/crud/src/sk-keyword.service.ts"],"names":["SkFileService","_apiService","this","apiServer","prototype","getFile","id","get","pipe","map","result","SkFile","data","getAdminFiles","params","ApiPageableParam","getPageable","buildHttpParams","response","content","item","deleteAdminFile","delete","updateAdminFile","put","Injectable","args","providedIn","SkApiService","SkAuthService","_router","apiService","baseUrl","_userinfo$","BehaviorSubject","SkUser","Object","defineProperty","asObservable","moveLoginPage","navigate","loginUrl","returnUrl","url","login","_this","post","tap","status","setToken","token","logout","next","clearToken","loadMyInfo","refresh","getToken","getValue","isAnonymous","catchError","err","of","user","switchMap","checkAdminAccessable","isAdminAccessable","checkLogin","sendMailForActivateAccount","email","sendMailForResetPassword","requestActivateAccount","updatePassword","Router","SkAuthGuard","authService","router","canActivate","route","state","logged","canActivateChild","SkAuthAdminGuard","SkUserService","getUser","getAdminUser","getAdminUserByEmail","getUsers","getAdminUsers","createAdminUser","updateUser","updateAdminUser","activateAdminUsers","users","join","deactivateAdminUsers","deleteAdminUsers","getAdminUsersCount","signup","isEmailExists","HttpParams","append","SkDocumentService","getDocument","SkDocument","getDocumentByUrl","getAdminDocument","getDocumentProduct","getAdminDocumentProduct","getDocuments","getAdminDocuments","getDocumentsArray","ids","getAdminDocumentsArray","createAdminDocument","writePost","deletePost","updateDocument","updateAdminDocument","updateAdminDocumentArticle","updateAdminDocumentImage","updateAdminDocumentProduct","updateAdminDocumentOpengraph","activateAdminDocuments","documents","document","deactivateAdminDocuments","deleteAdminDocuments","getAdminDocumentsCount","getNextDocumentId","getPrevDocumentId","SkBoardService","getBoard","getAdminBoard","SkBoard","getBoards","showSupport","String","getAdminBoards","createAdminBoard","updateBoard","updateAdminBoard","getAllNoticeDocuments","activateAdminBoards","boards","board","deactivateAdminBoards","deleteAdminBoards","SkBrandService","getBrand","getAdminBrand","getBrands","getAllBrands","getAdminBrands","getAdminAllBrands","createAdminBrand","updateAdminBrand","deleteAdminBrands","brands","brand","SkCategoryService","getCategory","getAdminCategory","getCategories","type","filter","getAdminAllCategories","getAdminCategories","getAdminSsubCategoryItems","getAdminCategoriesDetail","idArray","value","assign","subCategories","createAdminCategory","updateAdminCategory","deleteAdminCategories","categories","category","createAdminSubCategory","categoryId","createAdminSubCategoryItem","subCategoryId","deleteAdminSubCategory","deleteAdminSubCategoryItem","subCategoryItemId","SkProductService","getProduct","getAdminProduct","SkProduct","getProducts","getAdminProducts","getProductsArray","getAdminProductsArray","createAdminProduct","updateProduct","updateAdminProduct","updateAdminProductPrice","updateAdminProductOpengraph","updateAdminProductNaverEP","updateAdminProductCatalog","updateAdminProductOption","updateAdminProductPackage","getAdminPackageChildrenOptions","getAdminPackageChildrenImages","updateAdminProductArticleDesc","updateAdminProductArticleSpec","updateAdminProductImage","updateAdminProductEDelivery","updateAdminProductFurnitureDelivery","activateAdminProducts","products","product","deactivateAdminProducts","deleteAdminProducts","getAdminProductsCount","updateWishlist","getWishlist","getProductOptions","getAdminProductSubCategoryItem","updateAdminProductSubCategoryItems","idArr","subCategoryItems","getProductsFilterData","getIncludedPackages","updateAdminStockConfig","getAdminStockCount","totalIn","totalOut","current","getAdminStocks","addAdminStock","updateAdminStock","productId","stockId","deleteAdminStock","getAdminSeriesList","getAdminSeries","createAdminSeries","updateAdminSeries","deleteAdminSeries","SkPromotionService","getPromotion","getAdminPromotion","SkPromotion","getAdminPromotionTarget","getPromotions","getAdminPromotions","getPromotionsArray","getAdminPromotionsArray","createAdminPromotion","updatePromotion","updateAdminPromotion","updateAdminPromotionTarget","updateAdminPromotionGift","updateAdminPromotionContent","updateAdminPromotionBenefit","updateAdminPromotionImage","updateAdminPromotionOpengraph","activateAdminPromotions","promotions","promotion","deactivateAdminPromotions","deleteAdminPromotions","getAdminPromotionsCount","SkConfigService","getConfig","key","nullValue","SkUtils","decodeBase64","setConfig","encodeBase64","getBankList","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","done","push","error","__spread","arguments","length","concat","SkCartApiService","load","SkCart","add","cart","selectedOptions","options","option","amount","selectedGifts","gifts","clear","remove","carts","removeByIdArray","Number","update","SkCartLocalService","platformId","isPlatformBrowser","loadRaw","localStorage","getItem","Math","random","cartList","setItem","removedItems","findIndex","index","decorators","Inject","PLATFORM_ID","SkCartService","_authService","_apiCartService","_apiLocalService","_cartItems$","cartItems$","_selectedItems$","selectedItems$","subscribe","checkSelectedItems","getCart","find","selectedItems","selectAll","deSelectAll","toggleSelectAll","toggleSelect","targetIndex","target","splice","isSelected","isSelectedAll","isIntermediate","createOrder","paymentType","take","apiUrl","items","optionId","valueId","SkOrderService","getAdminOrders","getAdminOrdersCount","getAdminOrder","SkOrderDetail","getMyOrders","getMyLatestOrders","getOrderDetail","getOrderStatus","getOrderLogs","createAdminOrder","addOrderLog","message","updateAdminOrderBaseInfo","updateAdminConfirmTransferPayment","updateAdminCancel","updateAdminCancelForce","updateAdminProcessStart","updateAdminComplete","updateAdminPayment","updateAdminShippingStatus","deleteAdminOrders","orders","order","cancelOrder","startProgress","moveToMyOrder","getAdminShippingFeeList","createAdminShippingFee","updateAdminShippingFee","deleteAdminShippingFee","calculateShippingFee","method","zipCode","validateCoupon","serials","couponSerials","discountAmount","couponData","SkAccountService","getDefaultAddress","getAddressList","updateAddress","deleteAddress","getWishList","getWishListShowBadge","SkSearchService","getSearchResults","getSearchKeywords","SkPointService","getMyCurrentPoint","getMyPointHistory","SkPoint","getUserCurrentPoint","userId","getUserPointHistory","addPointToUser","usePointToUser","SkCouponService","getCoupon","code","getAdminCoupon","getCoupons","getCouponTickets","getAdminCoupons","getCouponsArray","getAdminCouponsArray","createAdminCoupon","updateAdminCoupon","updateAdminCouponTrigger","activateAdminCoupons","coupons","coupon","deactivateAdminCoupons","deleteAdminCoupons","getAdminCouponsCount","SkCommentService","getDocumentComments","param","SkDocumentCommentParent","getDocumentComment","writeDocumentComment","updateDocumentComment","deleteDocumentComment","SkContactService","writeContact","getContacts","getContact","writeAnswerAdmin","closeContact","SkEtcService","sendTestEmail","sendTestSms","to","SkStoreService","getStore","SkStore","getAdminStore","getStores","getAdminStores","createAdminStore","updateAdminStore","deleteAdminStores","stores","store","SkKeywordService","getKeyword","getAdminKeyword","getKeywords","getAllKeywords","getAdminKeywords","getAdminAllKeywords","createAdminKeyword","updateAdminKeyword","deleteAdminKeywords","keywords","keyword"],"mappings":"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","sourcesContent":["import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkFile} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkFileService {\n\n public apiServer: string;\n\n constructor(private _apiService: SkApiService) {\n this.apiServer = _apiService.apiServer;\n }\n\n getFile(id: number): Observable<SkFile> {\n return this._apiService.get<SkFile>(`/api/admin/files/${id}`)\n .pipe(\n map(result => new SkFile(result.data))\n );\n }\n\n getAdminFiles(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkFile>> {\n return this._apiService.getPageable<SkFile>(`/api/admin/files`, params.buildHttpParams()).pipe(\n map(response => {\n response.data.content = (response.data.content || []).map(item => new SkFile(item));\n return response.data;\n })\n );\n }\n\n deleteAdminFile(id: number): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/files/${id}`);\n }\n\n updateAdminFile(id, data: { isPrivate?: boolean, isValid?: boolean }): Observable<SkFile> {\n return this._apiService.put<SkFile>(`/api/admin/files/${id}`, data).pipe(\n map(result => new SkFile(result.data))\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {SkApiService} from 'sk-front-lib/api';\nimport {BehaviorSubject, Observable, of} from 'rxjs';\nimport {ISkReqLogin, ISkResLogin, SkUser} from 'sk-front-lib/model';\nimport {catchError, map, switchMap, take, tap} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAuthService {\n private baseUrl = '/api/auth';\n _userinfo$ = new BehaviorSubject<SkUser>(new SkUser());\n\n get userinfo$(): Observable<SkUser> {\n return this._userinfo$.asObservable();\n }\n\n constructor(private _router: Router,\n private apiService: SkApiService) {\n\n }\n\n moveLoginPage() {\n return this._router.navigate([this.apiService.loginUrl, {returnUrl: this._router.url}]);\n }\n\n login(data: ISkReqLogin): Observable<ISkResLogin> {\n return this.apiService.post<ISkResLogin>(this.baseUrl + '/signin', data).pipe(\n tap(response => {\n if (response.status === 200) {\n this.apiService.setToken(response.data.token);\n }\n }),\n map(response => response.data)\n );\n }\n\n logout(): void {\n this._userinfo$.next(new SkUser());\n this.apiService.clearToken();\n }\n\n loadMyInfo(refresh: boolean = false) {\n if (this.apiService.getToken()) {\n if (this._userinfo$.getValue().isAnonymous() || refresh) {\n return this.apiService.get<SkUser>(this.baseUrl + '/me').pipe(\n map(result => !!result.data ? new SkUser(result.data) : new SkUser()),\n catchError(err => of(new SkUser())),\n tap(user => this._userinfo$.next(user)),\n switchMap(() => of(this._userinfo$.getValue())),\n );\n }\n }\n\n return of(this._userinfo$.getValue());\n }\n\n checkAdminAccessable(): Observable<boolean> {\n return this.loadMyInfo().pipe(map(result => result.isAdminAccessable()));\n }\n\n checkLogin(): Observable<boolean> {\n return this.loadMyInfo().pipe(map(result => !result.isAnonymous()));\n }\n\n sendMailForActivateAccount(email: string): Observable<string> {\n return this.apiService.post<string>(this.baseUrl + '/activate-account', {email}).pipe(\n map(response => response.data)\n );\n }\n\n sendMailForResetPassword(email: string): Observable<string> {\n return this.apiService.post<string>(this.baseUrl + '/reset-password', {email}).pipe(\n map(response => response.data)\n );\n }\n\n requestActivateAccount(data: { email: string, authCode: string }): Observable<string> {\n return this.apiService.post<string>(this.baseUrl + '/activate-account-complete', data).pipe(\n map(response => response.data)\n );\n }\n\n updatePassword(data: { email: string, authCode: string, password: string, passwordConfirm: string }): Observable<any> {\n return this.apiService.post<any>(this.baseUrl + '/update-password', data).pipe(\n map(response => response.data)\n );\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {tap} from 'rxjs/operators';\nimport {SkAuthService} from './sk-auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAuthGuard implements CanActivate, CanActivateChild {\n constructor(private authService: SkAuthService,\n private router: Router) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.authService.checkLogin()\n .pipe(\n tap(logged => {\n if (!logged) {\n this.router.navigate(['/login', {returnUrl: state.url}]);\n }\n })\n );\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.canActivate(route, state);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {tap} from 'rxjs/operators';\nimport {SkAuthService} from './sk-auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAuthAdminGuard implements CanActivate, CanActivateChild {\n constructor(private authService: SkAuthService,\n private router: Router) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.authService.checkAdminAccessable()\n .pipe(\n tap(logged => {\n if (!logged) {\n this.router.navigate(['/login', {returnUrl: state.url}]);\n }\n })\n );\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.canActivate(route, state);\n }\n}\n","import {HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkResLogin, SkUser, SkUserCount, SkUserSignup} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkUserService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getUser(id: number): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/public/users/${id}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getAdminUser(id: number): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/admin/users/${id}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getAdminUserByEmail(email: string): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/admin/users/email/${email}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getUsers(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkUser>> {\n return this._apiService.getPageable<SkUser>(`/api/public/users`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminUsers(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkUser>> {\n return this._apiService.getPageable<SkUser>(`/api/admin/users`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n createAdminUser(data: any): Observable<SkUser> {\n return this._apiService.post<SkUser>(`/api/admin/users`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n updateUser(data: any): Observable<SkUser> {\n return this._apiService.put<SkUser>(`/api/public/users/me`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n updateAdminUser(id: number, data: any): Observable<SkUser> {\n return this._apiService.put<SkUser>(`/api/admin/users/${id}`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n activateAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.put(`/api/admin/users/activate/${users.map(user => user.id).join(',')}`, null);\n }\n\n deactivateAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.put(`/api/admin/users/deactivate/${users.map(user => user.id).join(',')}`, null);\n }\n\n deleteAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.delete(`/api/admin/users/delete/${users.map(user => user.id).join(',')}`);\n }\n\n getAdminUsersCount(): Observable<SkUserCount> {\n return this._apiService.get<SkUserCount>('/api/admin/users/count')\n .pipe(map(response => response.data));\n }\n\n signup(data: SkUserSignup): Observable<any> {\n return this._apiService.post<ISkResLogin>('/api/auth/signup', data)\n .pipe(\n tap(response => {\n if (response.status === 200) {\n this._apiService.setToken(response.data.token);\n }\n }),\n map(response => response.data)\n );\n }\n\n isEmailExists(email: string): Observable<boolean> {\n return this._apiService.get<boolean>('/api/public/users/exists/email', new HttpParams().append('email', email)).pipe(\n map(response => response.data)\n );\n }\n\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkArticle, ISkDocumentPublicList, ISkDocumentSibling, SkDocument, SkDocumentCount, SkProductListItem} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkDocumentService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getDocument(id: number): Observable<SkDocument> {\n return this._apiService.get<SkDocument>(`/api/public/documents/${id}`).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n getDocumentByUrl(url: string): Observable<SkDocument> {\n return this._apiService.get<SkDocument>(`/api/public/documents/url/${url}`).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n getAdminDocument(id: number): Observable<SkDocument> {\n return this._apiService.get<SkDocument>(`/api/admin/documents/${id}`).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n getDocumentProduct(id: number): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/public/documents/${id}/product`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminDocumentProduct(id: number): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/admin/documents/${id}/product`).pipe(\n map(response => response.data)\n );\n }\n\n getDocuments(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkDocument>> {\n return this._apiService.getPageable<SkDocument>(`/api/public/documents`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminDocuments(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkDocument>> {\n return this._apiService.getPageable<SkDocument>(`/api/admin/documents`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getDocumentsArray(ids: number[]): Observable<SkDocument[]> {\n return this._apiService.get<SkDocument[]>(`/api/public/documents/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminDocumentsArray(ids: number[]): Observable<SkDocument[]> {\n return this._apiService.get<SkDocument[]>(`/api/admin/documents/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminDocument(data: any): Observable<SkDocument> {\n return this._apiService.post<SkDocument>(`/api/admin/documents`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n writePost(data: { title: string, content: ISkArticle, boardId: number }): Observable<ISkDocumentPublicList> {\n return this._apiService.post<ISkDocumentPublicList>(`/api/public/documents`, data).pipe(\n map(response => response.data)\n );\n }\n\n deletePost(id: number): Observable<ISkDocumentPublicList> {\n return this._apiService.delete<any>(`/api/public/documents/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n updateDocument(id: number, data: any): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/public/documents/${id}`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n updateAdminDocument(id: number, data: any): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/admin/documents/${id}`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n updateAdminDocumentArticle(id: number, data: { content: string, images: number[] }): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/admin/documents/${id}/article`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n updateAdminDocumentImage(id: number, data: { image?: number, imageAlt?: number }): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/admin/documents/${id}/image`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n updateAdminDocumentProduct(id: number, data: { linkedProducts: number[] }): Observable<SkProductListItem[]> {\n return this._apiService.put<SkProductListItem[]>(`/api/admin/documents/${id}/product`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminDocumentOpengraph(id: number, data: any): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/admin/documents/${id}/opengraph`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n activateAdminDocuments(documents: SkDocument[]): Observable<any> {\n return this._apiService.put(`/api/admin/documents/activate/${documents.map(document => document.id).join(',')}`, null);\n }\n\n deactivateAdminDocuments(documents: SkDocument[]): Observable<any> {\n return this._apiService.put(`/api/admin/documents/deactivate/${documents.map(document => document.id).join(',')}`, null);\n }\n\n deleteAdminDocuments(documents: SkDocument[]): Observable<any> {\n return this._apiService.delete(`/api/admin/documents/delete/${documents.map(document => document.id).join(',')}`);\n }\n\n getAdminDocumentsCount(): Observable<SkDocumentCount> {\n return this._apiService.get<SkDocumentCount>('/api/admin/documents/count')\n .pipe(map(response => response.data));\n }\n\n getNextDocumentId(id: number): Observable<ISkDocumentSibling> {\n return this._apiService.get<ISkDocumentSibling>(`/api/public/documents/${id}/next`)\n .pipe(map(response => response.data));\n }\n\n getPrevDocumentId(id: number): Observable<ISkDocumentSibling> {\n return this._apiService.get<ISkDocumentSibling>(`/api/public/documents/${id}/prev`)\n .pipe(map(response => response.data));\n }\n\n\n}\n","import {HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkBoardDetail, ISkDocumentPublicList, SkBoard} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkBoardService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getBoard(url: string, params: ApiPageableParam = new ApiPageableParam()): Observable<ISkBoardDetail> {\n return this._apiService.get<ISkBoardDetail>(`/api/public/boards/${url}`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminBoard(id: number): Observable<SkBoard> {\n return this._apiService.get<SkBoard>(`/api/admin/boards/${id}`).pipe(\n map(response => new SkBoard(response.data))\n );\n }\n\n getBoards(showSupport: boolean = false): Observable<SkBoard[]> {\n return this._apiService.get<SkBoard[]>(`/api/public/boards`, new HttpParams().append('showSupport', String(showSupport))).pipe(\n map(response => response.data)\n );\n }\n\n getAdminBoards(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkBoard>> {\n return this._apiService.getPageable<SkBoard>(`/api/admin/boards`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n createAdminBoard(data: any): Observable<SkBoard> {\n return this._apiService.post<SkBoard>(`/api/admin/boards`, data).pipe(\n map(response => new SkBoard(response.data))\n );\n }\n\n updateBoard(id: number, data: any): Observable<SkBoard> {\n return this._apiService.put<SkBoard>(`/api/public/boards/${id}`, data).pipe(\n map(response => new SkBoard(response.data))\n );\n }\n\n updateAdminBoard(id: number, data: any): Observable<SkBoard> {\n return this._apiService.put<SkBoard>(`/api/admin/boards/${id}`, data).pipe(\n map(response => new SkBoard(response.data))\n );\n }\n\n getAllNoticeDocuments(): Observable<ISkDocumentPublicList[]> {\n return this._apiService.get<ISkDocumentPublicList[]>(`/api/public/boards/notices`).pipe(\n map(response => (response.data || []))\n );\n }\n\n activateAdminBoards(boards: SkBoard[]): Observable<any> {\n return this._apiService.put(`/api/admin/boards/activate/${boards.map(board => board.id).join(',')}`, null);\n }\n\n deactivateAdminBoards(boards: SkBoard[]): Observable<any> {\n return this._apiService.put(`/api/admin/boards/deactivate/${boards.map(board => board.id).join(',')}`, null);\n }\n\n deleteAdminBoards(boards: SkBoard[]): Observable<any> {\n return this._apiService.delete(`/api/admin/boards/delete/${boards.map(board => board.id).join(',')}`);\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkBrand} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkBrandService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getBrand(id: number): Observable<SkBrand> {\n return this._apiService.get<SkBrand>(`/api/public/brands/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminBrand(id: number): Observable<SkBrand> {\n return this._apiService.get<SkBrand>(`/api/admin/brands/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getBrands(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkBrand>> {\n return this._apiService.getPageable<SkBrand>(`/api/public/brands`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAllBrands(params: ApiPageableParam = new ApiPageableParam()): Observable<SkBrand[]> {\n return this._apiService.get<SkBrand[]>(`/api/public/brands/all`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminBrands(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkBrand>> {\n return this._apiService.getPageable<SkBrand>(`/api/admin/brands`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminAllBrands(): Observable<SkBrand[]> {\n return this._apiService.get<SkBrand[]>(`/api/admin/brands/all`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminBrand(data: any): Observable<SkBrand> {\n return this._apiService.post<SkBrand>(`/api/admin/brands`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminBrand(id: number, data: any): Observable<SkBrand> {\n return this._apiService.put<SkBrand>(`/api/admin/brands/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminBrands(brands: SkBrand[]): Observable<any> {\n return this._apiService.delete(`/api/admin/brands/delete/${brands.map(brand => brand.id).join(',')}`);\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkCategory, SkCategoryType, SkSubCategory, SkSubCategoryItem} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCategoryService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getCategory(id: number): Observable<SkCategory> {\n return this._apiService.get<SkCategory>(`/api/public/categories/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCategory(id: number): Observable<SkCategory> {\n return this._apiService.get<SkCategory>(`/api/admin/categories/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getCategories(type: SkCategoryType): Observable<SkCategory[]> {\n return this._apiService.get<SkCategory[]>(`/api/public/categories`).pipe(\n map(response => response.data.filter(item => item.type === type))\n );\n }\n\n getAdminAllCategories(): Observable<SkCategory[]> {\n return this._apiService.get<SkCategory[]>(`/api/admin/categories/all`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCategories(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkCategory>> {\n return this._apiService.getPageable<SkCategory>(`/api/admin/categories`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminSsubCategoryItems(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkSubCategoryItem>> {\n return this._apiService.getPageable<SkSubCategoryItem>(`/api/admin/categories/subitems`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCategoriesDetail(idArray: number[]): Observable<SkCategory[]> {\n return this._apiService.get<SkCategory[]>(`/api/admin/categories/detail/${idArray.join(',')}`).pipe(\n map(response => (response.data || []).map(value => {\n return Object.assign({}, {subCategories: []}, value);\n }))\n );\n }\n\n createAdminCategory(data: any): Observable<SkCategory> {\n return this._apiService.post<SkCategory>(`/api/admin/categories`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminCategory(id: number, data: any): Observable<SkCategory> {\n return this._apiService.put<SkCategory>(`/api/admin/categories/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminCategories(categories: SkCategory[]): Observable<any> {\n return this._apiService.delete(`/api/admin/categories/delete/${categories.map(category => category.id).join(',')}`);\n }\n\n createAdminSubCategory(categoryId: number, data: { title: string }): Observable<SkSubCategory> {\n return this._apiService.post<SkSubCategory>(`/api/admin/categories/${categoryId}/sub`, data).pipe(\n map(response => response.data)\n );\n }\n\n createAdminSubCategoryItem(categoryId: number, subCategoryId: number, data: { title: string }): Observable<SkSubCategoryItem> {\n return this._apiService.post<SkSubCategoryItem>(`/api/admin/categories/${categoryId}/sub/${subCategoryId}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminSubCategory(categoryId: number, subCategoryId: number): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/categories/${categoryId}/sub/${subCategoryId}`).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminSubCategoryItem(categoryId: number, subCategoryId: number, subCategoryItemId: number): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/categories/${categoryId}/sub/${subCategoryId}/${subCategoryItemId}`).pipe(\n map(response => response.data)\n );\n }\n\n\n\n\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {\n ISkProductDetail,\n ISkProductFilterData,\n ISkProductOption,\n ISkProductStockHistory,\n SkProduct,\n SkProductCount,\n SkProductListItem,\n SkProductPrice,\n SkProductStock,\n SkProductStockCount,\n SkProductWishlist,\n SkSubCategoryItem,\n ISkProductSeriesListItem,\n ISkProductSeriesCreate,\n ISkProductSeriesDetail, SkFile, ISkFile\n} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkProductService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getProduct(url: string): Observable<ISkProductDetail> {\n return this._apiService.get<ISkProductDetail>(`/api/public/products/${url}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminProduct(id: number): Observable<SkProduct> {\n return this._apiService.get<SkProduct>(`/api/admin/products/${id}`).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n getProducts(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkProductListItem>> {\n return this._apiService.getPageable<SkProductListItem>(`/api/public/products`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminProducts(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkProduct | SkProductListItem>> {\n return this._apiService.getPageable<SkProduct>(`/api/admin/products`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getProductsArray(ids: number[]): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/public/products/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminProductsArray(ids: number[]): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/admin/products/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminProduct(data: any): Observable<SkProduct> {\n return this._apiService.post<SkProduct>(`/api/admin/products`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateProduct(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/public/products/${id}`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProduct(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductPrice(id: number, data: SkProductPrice): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/price`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductOpengraph(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/opengraph`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductNaverEP(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/naverep`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductCatalog(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/catalog`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductOption(id: number, data: { options: ISkProductOption[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/option`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductPackage(id: number, data: { packages: { productId: number; showSpec: boolean; showDesc: boolean; share: number; }[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/package`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n getAdminPackageChildrenOptions(id: number): Observable<ISkProductOption[]> {\n return this._apiService.get<ISkProductOption[]>(`/api/admin/products/${id}/package/children-options`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPackageChildrenImages(id: number): Observable<SkFile[]> {\n return this._apiService.get<ISkFile[]>(`/api/admin/products/${id}/package/children-images`).pipe(\n map(response => (response.data || []).map(item => new SkFile(item)))\n );\n }\n\n updateAdminProductArticleDesc(id: number, data: { content: string, images: number[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/article-desc`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductArticleSpec(id: number, data: { content: string, images: number[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/article-spec`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductImage(id: number, data: { imageIds: number[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/image`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductEDelivery(id: number, data: { sku: string, downloadLink: string, template: string }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/edelivery`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductFurnitureDelivery(id: number, data: { furnitureAssembly: boolean }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/furniture-delivery`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n\n activateAdminProducts(products: SkProduct[]): Observable<any> {\n return this._apiService.put(`/api/admin/products/activate/${products.map(product => product.id).join(',')}`, null);\n }\n\n deactivateAdminProducts(products: SkProduct[]): Observable<any> {\n return this._apiService.put(`/api/admin/products/deactivate/${products.map(product => product.id).join(',')}`, null);\n }\n\n deleteAdminProducts(products: SkProduct[]): Observable<any> {\n return this._apiService.delete(`/api/admin/products/delete/${products.map(product => product.id).join(',')}`);\n }\n\n getAdminProductsCount(): Observable<SkProductCount> {\n return this._apiService.get<SkProductCount>('/api/admin/products/count')\n .pipe(map(response => response.data));\n }\n\n updateWishlist(id: number): Observable<SkProductWishlist> {\n return this._apiService.put<SkProductWishlist>(`/api/public/products/${id}/wishlist`, {}).pipe(\n map(response => response.data)\n );\n }\n\n getWishlist(id: number): Observable<SkProductWishlist> {\n return this._apiService.get<SkProductWishlist>(`/api/public/products/${id}/wishlist`).pipe(\n map(response => response.data)\n );\n }\n\n getProductOptions(id: number): Observable<ISkProductOption[]> {\n return this._apiService.get<ISkProductOption[]>(`/api/public/products/${id}/options`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminProductSubCategoryItem(id: number): Observable<SkSubCategoryItem[]> {\n return this._apiService.get<SkSubCategoryItem[]>(`/api/admin/products/${id}/categories`).pipe(\n map(response => response.data || [])\n );\n }\n\n updateAdminProductSubCategoryItems(id: number, idArr: number[]): Observable<SkSubCategoryItem[]> {\n return this._apiService.put<SkSubCategoryItem[]>(`/api/admin/products/${id}/categories`, {subCategoryItems: idArr}).pipe(\n map(response => response.data || [])\n );\n }\n\n getProductsFilterData(params: ApiPageableParam = new ApiPageableParam()): Observable<ISkProductFilterData> {\n return this._apiService.get<ISkProductFilterData>(`/api/public/products/filter-data`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getIncludedPackages(id: number): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/public/products/${id}/included-packages`).pipe(\n map(response => response.data || [])\n );\n }\n\n\n updateAdminStockConfig(id: number, data: SkProductStock): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/stocks`, data).pipe(\n map(response => response.data)\n );\n }\n\n getAdminStockCount(id: number): Observable<SkProductStockCount> {\n return this._apiService.get<SkProductStockCount>(`/api/admin/products/${id}/stocks/count`).pipe(\n map(response => Object.assign({totalIn: 0, totalOut: 0, current: 0}, response.data))\n );\n }\n\n getAdminStocks(id: number, params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkProductStockHistory>> {\n return this._apiService.getPageable<SkProduct>(`/api/admin/products/${id}/stocks`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n addAdminStock(id: number, data: any): Observable<SkProductStockCount> {\n return this._apiService.post<SkProductStockCount>(`/api/admin/products/${id}/stocks`, data).pipe(\n map(response => Object.assign({totalIn: 0, totalOut: 0, current: 0}, response.data))\n );\n }\n\n updateAdminStock(productId: number, stockId: number, data: { serial: string }): Observable<ISkProductStockHistory> {\n return this._apiService.put<ISkProductStockHistory>(`/api/admin/products/${productId}/stocks/${stockId}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminStock(productId: number, stockId: number): Observable<any> {\n return this._apiService.delete(`/api/admin/products/${productId}/stocks/${stockId}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminSeriesList(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkProductSeriesListItem>> {\n return this._apiService.getPageable<ISkProductSeriesListItem>(`/api/admin/product-series`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminSeries(id: number): Observable<ISkProductSeriesDetail> {\n return this._apiService.get<ISkProductSeriesDetail>(`/api/admin/product-series/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminSeries(data: ISkProductSeriesCreate): Observable<ISkProductSeriesListItem> {\n return this._apiService.post<ISkProductSeriesListItem>(`/api/admin/product-series`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminSeries(id: number, data: ISkProductSeriesCreate): Observable<ISkProductSeriesListItem> {\n return this._apiService.put<ISkProductSeriesListItem>(`/api/admin/product-series/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminSeries(id: number): Observable<any> {\n return this._apiService.delete(`/api/admin/product-series/${id}`).pipe(\n map(response => response.data)\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport {\n ISkPromotionPublicDetail,\n ISkPromotionPublicList,\n ISkPromotionTargetItem,\n ISkPromotionUpdateImage,\n SkPromotion,\n SkPromotionCount\n} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkPromotionService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getPromotion(id: number): Observable<ISkPromotionPublicDetail> {\n return this._apiService.get<ISkPromotionPublicDetail>(`/api/public/promotions/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPromotion(id: number): Observable<SkPromotion> {\n return this._apiService.get<SkPromotion>(`/api/admin/promotions/${id}`).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n getAdminPromotionTarget(id: number): Observable<ISkPromotionTargetItem[]> {\n return this._apiService.get<ISkPromotionTargetItem[]>(`/api/admin/promotions/${id}/target`).pipe(\n map(response => response.data)\n );\n }\n\n getPromotions(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkPromotionPublicList>> {\n return this._apiService.getPageable<SkPromotion>(`/api/public/promotions`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPromotions(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkPromotion>> {\n return this._apiService.getPageable<SkPromotion>(`/api/admin/promotions`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getPromotionsArray(ids: number[]): Observable<ISkPromotionPublicList[]> {\n return this._apiService.get<ISkPromotionPublicList[]>(`/api/public/promotions/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPromotionsArray(ids: number[]): Observable<SkPromotion[]> {\n return this._apiService.get<SkPromotion[]>(`/api/admin/promotions/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminPromotion(data: any): Observable<SkPromotion> {\n return this._apiService.post<SkPromotion>(`/api/admin/promotions`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updatePromotion(id: number, data: any): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/public/promotions/${id}`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotion(id: number, data: any): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionTarget(id: number, data: { targets: ISkPromotionTargetItem[] }): Observable<ISkPromotionTargetItem[]> {\n return this._apiService.put<ISkPromotionTargetItem[]>(`/api/admin/promotions/${id}/target`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminPromotionGift(id: number, data: { gifts: number[] }): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/gift`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionContent(id: number, data: { content: string, images: number[] }): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/content`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionBenefit(id: number, data: { content: string, images: number[] }): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/benefit`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionImage(id: number, data: ISkPromotionUpdateImage): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/image`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionOpengraph(id: number, data: any): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/opengraph`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n activateAdminPromotions(promotions: SkPromotion[]): Observable<any> {\n return this._apiService.put(`/api/admin/promotions/activate/${promotions.map(promotion => promotion.id).join(',')}`, null);\n }\n\n deactivateAdminPromotions(promotions: SkPromotion[]): Observable<any> {\n return this._apiService.put(`/api/admin/promotions/deactivate/${promotions.map(promotion => promotion.id).join(',')}`, null);\n }\n\n deleteAdminPromotions(promotions: SkPromotion[]): Observable<any> {\n return this._apiService.delete(`/api/admin/promotions/delete/${promotions.map(promotion => promotion.id).join(',')}`);\n }\n\n getAdminPromotionsCount(): Observable<SkPromotionCount> {\n return this._apiService.get<SkPromotionCount>('/api/admin/promotions/count')\n .pipe(map(response => response.data));\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { SkUtils } from 'sk-front-lib';\n\nimport { SkApiService } from 'sk-front-lib/api';\nimport { SkBank } from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkConfigService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getConfig(key: string, nullValue: any = null) {\n return this._apiService.get<any>(`/api/public/config/${key}`)\n .pipe(map(result => result.data ? SkUtils.decodeBase64(result.data.value, nullValue) : nullValue));\n }\n\n setConfig(key: string, data: any, nullValue: any = []) {\n return this._apiService.put<any>(`/api/admin/config/${key}`, {value: SkUtils.encodeBase64(data)})\n .pipe(map(result => result.data ? SkUtils.decodeBase64(result.data.value, nullValue) : nullValue));\n }\n\n getBankList(): Observable<SkBank[]> {\n return this._apiService.get<SkBank[]>('/api/public/bank-list')\n .pipe(map(result => result.data || []))\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {isPlatformBrowser} from '@angular/common';\n\n\nimport {HttpParams} from '@angular/common/http';\nimport {Inject, Injectable, PLATFORM_ID} from '@angular/core';\n\nimport {BehaviorSubject, Observable, of, Subscription} from 'rxjs';\nimport {map, switchMap, take, tap} from 'rxjs/operators';\nimport {SkUtils} from 'sk-front-lib';\nimport {SkApiService} from 'sk-front-lib/api';\nimport {ISkCartCreate, SkCart} from 'sk-front-lib/model';\nimport {SkAuthService} from './sk-auth.service';\n\nexport interface CartAbstractService {\n load(): Observable<SkCart[]>;\n\n clear(): Observable<SkCart[]>;\n\n add(cart: SkCart): Observable<SkCart[]>;\n\n remove(carts: SkCart[]): Observable<SkCart[]>;\n\n update(cart: SkCart): Observable<SkCart[]>;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCartApiService implements CartAbstractService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n load() {\n return this._apiService.get<SkCart[]>(`/api/public/carts`).pipe(\n map(response => (response.data || []).map(item => new SkCart(item)))\n );\n }\n\n add(cart: SkCart): Observable<SkCart[]> {\n const data: ISkCartCreate = {\n product: cart.product.id,\n selectedOptions: cart.options.map(item => ({\n value: item.value.id,\n option: item.option.id,\n amount: item.amount\n })),\n amount: cart.amount,\n selectedGifts: (cart.gifts || []).map(item => ({id: item.id}))\n };\n\n return this._apiService.post<SkCart[]>(`/api/public/carts`, data).pipe(\n map(response => (response.data || []).map(item => new SkCart(item)))\n );\n }\n\n clear(): Observable<SkCart[]> {\n return undefined;\n }\n\n remove(carts: SkCart[]): Observable<SkCart[]> {\n return this.removeByIdArray(carts.map(cart => cart.id));\n }\n\n removeByIdArray(idArray: number[]): Observable<SkCart[]> {\n const ids = idArray.filter(id => Number(id) >= 1);\n return this._apiService.delete<SkCart[]>(`/api/public/carts`, new HttpParams().append('target', ids.join(','))).pipe(\n map(response => (response.data || []).map(item => new SkCart(item)))\n );\n }\n\n update(cart: SkCart): Observable<SkCart[]> {\n return this._apiService.put<SkCart[]>(`/api/public/carts/${cart.id}`, {amount: cart.amount}).pipe(\n map(response => (response.data || []).map(item => new SkCart(item)))\n );\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCartLocalService implements CartAbstractService {\n\n private isPlatformBrowser: boolean;\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {\n this.isPlatformBrowser = isPlatformBrowser(this.platformId);\n }\n\n loadRaw() {\n let data = [];\n try {\n if (this.isPlatformBrowser) {\n data = (SkUtils.decodeBase64(localStorage.getItem('cartData')) || []).map(item => new SkCart(item));\n }\n } catch (e) {\n data = [];\n }\n\n return data;\n }\n\n load() {\n return of(this.loadRaw());\n }\n\n add(cart: SkCart): Observable<SkCart[]> {\n cart.id = Math.random();\n const cartList = [cart, ...this.loadRaw()];\n localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));\n return of(cartList);\n }\n\n clear(): Observable<SkCart[]> {\n const cartList = [];\n localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));\n return of(cartList);\n }\n\n remove(carts: SkCart[]): Observable<SkCart[]> {\n return this.removeByIdArray(carts.map(cart => cart.id));\n }\n\n removeByIdArray(idArray: number[]): Observable<SkCart[]> {\n const removedItems = this.loadRaw().filter(item => idArray.findIndex(id => id === item.id) < 0);\n localStorage.setItem('cartData', SkUtils.encodeBase64(removedItems));\n return of(removedItems);\n }\n\n update(cart: SkCart): Observable<SkCart[]> {\n const cartList = this.loadRaw();\n const index = this.loadRaw().findIndex(item => item.id === cart.id);\n if (index > -1) {\n cartList[index] = cart;\n localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));\n }\n\n return of(cartList);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCartService {\n\n private _cartItems$: BehaviorSubject<SkCart[]> = new BehaviorSubject([]);\n public readonly cartItems$: Observable<SkCart[]> = this._cartItems$.asObservable();\n\n get cartItems() {\n return this._cartItems$.getValue();\n }\n\n set cartItems(value) {\n this._cartItems$.next(value);\n }\n\n private _selectedItems$: BehaviorSubject<number[]> = new BehaviorSubject<number[]>([]);\n public readonly selectedItems$: Observable<number[]> = this._selectedItems$.asObservable();\n\n get selectedItems() {\n return this._selectedItems$.getValue();\n }\n\n set selectedItems(value) {\n this._selectedItems$.next(value);\n }\n\n private _myInfoSubscription: Subscription;\n\n constructor(private _authService: SkAuthService,\n private _apiService: SkApiService,\n private _apiCartService: SkCartApiService,\n private _apiLocalService: SkCartLocalService) {\n\n // this._myInfoSubscription = this._authService.userinfo$.subscribe(() => {\n // this.load();\n // });\n }\n\n load() {\n this._authService.checkLogin()\n .pipe(\n switchMap(result => result ? this._apiCartService.load() : this._apiLocalService.load())\n )\n .subscribe(result => this._cartItems$.next(result));\n }\n\n clear() {\n this._authService.checkLogin()\n .pipe(switchMap(result => result ? this._apiCartService.clear() : this._apiLocalService.clear()))\n .subscribe(result => this._cartItems$.next(result));\n }\n\n add(cart: SkCart): Observable<SkCart[]> {\n return this._authService.checkLogin()\n .pipe(\n switchMap(result => result ? this._apiCartService.add(cart) : this._apiLocalService.add(cart)),\n tap(result => this._cartItems$.next(result))\n );\n }\n\n remove(carts: SkCart[]) {\n this._authService.checkLogin()\n .pipe(switchMap(result => result ? this._apiCartService.remove(carts) : this._apiLocalService.remove(carts)))\n .subscribe(result => {\n this._cartItems$.next(result);\n this.checkSelectedItems();\n });\n }\n\n removeByIdArray(idArray: number[]) {\n this._authService.checkLogin()\n .pipe(switchMap(result => result ? this._apiCartService.removeByIdArray(idArray) : this._apiLocalService.removeByIdArray(idArray)))\n .subscribe(result => {\n this._cartItems$.next(result);\n this.checkSelectedItems();\n });\n }\n\n update(cart: SkCart) {\n this._authService.checkLogin()\n .pipe(switchMap(result => result ? this._apiCartService.update(cart) : this._apiLocalService.update(cart)))\n .subscribe(result => this._cartItems$.next(result));\n }\n\n getCart(id: number) {\n return this._cartItems$.getValue().find(value => value.id === id);\n }\n\n checkSelectedItems() {\n this.selectedItems = this.selectedItems.filter(value => !!this.getCart(value));\n }\n\n selectAll() {\n this.selectedItems = this._cartItems$.getValue().map(item => item.id);\n }\n\n deSelectAll() {\n this.selectedItems = [];\n }\n\n toggleSelectAll() {\n if (this.selectedItems.length === this._cartItems$.getValue().length) {\n this.deSelectAll();\n } else {\n this.selectAll();\n }\n }\n\n toggleSelect(cart: SkCart) {\n const targetIndex = this.selectedItems.findIndex(item => item === cart.id);\n if (targetIndex === -1) {\n this.selectedItems = [...this.selectedItems, cart.id];\n } else {\n const target = this.selectedItems;\n target.splice(targetIndex, 1);\n this.selectedItems = target;\n }\n }\n\n isSelected(cart: SkCart) {\n return this.selectedItems.findIndex(item => item === cart.id) > -1;\n }\n\n isSelectedAll() {\n return this.selectedItems.length > 0 && this.selectedItems.length === this._cartItems$.getValue().length;\n }\n\n isIntermediate() {\n return this.selectedItems.length > 0 && this.selectedItems.length !== this._cartItems$.getValue().length;\n }\n\n createOrder(paymentType: string): Observable<string> {\n return this._authService.checkLogin()\n .pipe(\n take(1),\n map(result => {\n if (result) {\n return {\n apiUrl: `/api/public/orders/from-cart`,\n items: this.selectedItems\n };\n } else {\n return {\n apiUrl: `/api/public/orders/from-data`,\n items: this.selectedItems\n .map(id => this.getCart(id))\n .map(cart => ({\n id: cart.id,\n productId: cart.product.id,\n amount: cart.amount,\n options: (cart.options || []).map(option => ({\n optionId: option.option.id,\n valueId: option.value.id,\n amount: option.amount || 1\n })),\n gifts: (cart.gifts || []).map(item => ({id: item.id}))\n }))\n };\n }\n }),\n switchMap(result => this._apiService.post<any>(result.apiUrl, {\n items: result.items,\n paymentType\n })),\n map(result => result.data)\n );\n }\n}\n\n\n\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport {\n ISkOrderCount,\n ISkOrderDetail,\n ISkOrderList,\n ISkOrderLog,\n ISkOrderReqProgress,\n ISkShippingFee,\n ISkValidateCoupon, SkOrderCancelType,\n SkOrderDetail,\n SkOrderStatus,\n SkShippingMethod\n} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkOrderService {\n\n constructor(private _apiService: SkApiService) {\n }\n\n getAdminOrders(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkOrderList>> {\n return this._apiService.getPageable(`/api/admin/orders`, params.buildHttpParams())\n .pipe(\n map(result => result.data)\n );\n }\n\n getAdminOrdersCount(): Observable<ISkOrderCount> {\n return this._apiService.get(`/api/admin/orders/count`)\n .pipe(\n map(result => result.data)\n );\n }\n\n getAdminOrder(id: string): Observable<SkOrderDetail> {\n return this._apiService.get<ISkOrderDetail>(`/api/admin/orders/${id}`)\n .pipe(\n map(result => new SkOrderDetail(result.data))\n );\n }\n\n getMyOrders(): Observable<ISkOrderList[]> {\n return this._apiService.get<ISkOrderList[]>(`/api/public/orders/me`)\n .pipe(\n map(result => result.data)\n );\n }\n\n getMyLatestOrders(): Observable<ISkOrderList[]> {\n return this._apiService.get<ISkOrderList[]>(`/api/public/orders/me/latest`)\n .pipe(\n map(result => result.data)\n );\n }\n\n getOrderDetail(id: string): Observable<SkOrderDetail> {\n return this._apiService.get<ISkOrderDetail>(`/api/public/orders/${id}`)\n .pipe(\n map(result => new SkOrderDetail(result.data))\n );\n }\n\n getOrderStatus(id: string): Observable<SkOrderStatus> {\n return this._apiService.get<SkOrderStatus>(`/api/public/orders/${id}/status`)\n .pipe(\n map(result => result.data)\n );\n }\n\n getOrderLogs(id: string): Observable<ISkOrderLog[]> {\n return this._apiService.get<ISkOrderLog[]>(`/api/admin/orders/${id}/logs`)\n .pipe(\n map(result => result.data || [])\n );\n }\n\n createAdminOrder(data: any): Observable<SkOrderDetail> {\n return this._apiService.post<ISkOrderDetail>(`/api/admin/orders`, data)\n .pipe(\n map(result => new SkOrderDetail(result.data))\n );\n }\n\n addOrderLog(id: string, message: string): Observable<any> {\n return this._apiService.post(`/api/admin/orders/${id}/logs`, {message})\n .pipe(\n map(result => result.data || [])\n );\n }\n\n updateAdminOrderBaseInfo(id: string, data: any): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/info`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminConfirmTransferPayment(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/confirm-payment/transfer`, null)\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminCancel(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/cancel`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminCancelForce(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/cancel/force`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminProcessStart(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/process-start`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminComplete(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/complete`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminPayment(id: string, data: { txId: string, cardName: string, cardQuota: string }): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/update-payment`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminShippingStatus(id: string, data: any): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/update-shipping-status`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n deleteAdminOrders(orders: ISkOrderList[]): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/orders/${orders.map(order => order.id).join(',')}`);\n }\n\n cancelOrder(id: string, data: {cancelType: SkOrderCancelType, cancelDesc: String}): Observable<SkOrderDetail> {\n return this._apiService.put<SkOrderDetail>(`/api/public/orders/${id}/cancel`, data)\n .pipe(map(result => result.data))\n }\n\n startProgress(id: string, data: ISkOrderReqProgress): Observable<SkOrderStatus> {\n return this._apiService.put<SkOrderStatus>(`/api/public/orders/${id}/progress`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n moveToMyOrder(id: string): Observable<string> {\n return this._apiService.put<string>(`/api/public/orders/${id}/move`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n getAdminShippingFeeList(): Observable<ISkShippingFee[]> {\n return this._apiService.get<ISkShippingFee[]>(`/api/admin/orders/shipping-fees`)\n .pipe(\n map(result => result.data)\n );\n }\n\n createAdminShippingFee(data: ISkShippingFee): Observable<ISkShippingFee> {\n return this._apiService.post<ISkShippingFee>(`/api/admin/orders/shipping-fees`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminShippingFee(id: number, data: ISkShippingFee): Observable<ISkShippingFee> {\n return this._apiService.put<ISkShippingFee>(`/api/admin/orders/shipping-fees/${id}`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n deleteAdminShippingFee(id: number): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/orders/shipping-fees/${id}`)\n .pipe(\n map(result => result.data)\n );\n }\n\n calculateShippingFee(id: string, method: SkShippingMethod, zipCode: string): Observable<number> {\n return this._apiService.get<number>(`/api/public/orders/${id}/calculate-shipping-fee`, new HttpParams().append('method', method).append('zipCode', zipCode))\n .pipe(\n map(result => result.data || 0)\n );\n }\n\n validateCoupon(id: string, serials: string[]): Observable<ISkValidateCoupon> {\n return this._apiService.post<ISkValidateCoupon>(`/api/public/orders/${id}/check-coupon`, {\n couponSerials: serials\n }).pipe(\n map(result => result.data || {discountAmount: 0, couponData: []})\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {catchError, map} from 'rxjs/operators';\n\nimport {SkApiService} from 'sk-front-lib/api';\nimport {ISkAddress, SkProductListItem} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAccountService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getDefaultAddress(): Observable<ISkAddress> {\n return this._apiService.get<ISkAddress>(`/api/public/users/me/address/default`).pipe(\n map(response => response.data)\n );\n }\n\n getAddressList(): Observable<ISkAddress[]> {\n return this._apiService.get<ISkAddress[]>(`/api/public/users/me/address`).pipe(\n map(response => response.data || [])\n );\n }\n\n updateAddress(id: number, data: any): Observable<ISkAddress> {\n return this._apiService.put<ISkAddress>(`/api/public/users/me/address/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAddress(id: number): Observable<any> {\n return this._apiService.delete(`/api/public/users/me/address/${id}`);\n }\n\n getWishList(): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/public/users/me/wishlist`).pipe(\n map(response => response.data || [])\n );\n }\n\n getWishListShowBadge(): Observable<boolean> {\n return this._apiService.get<boolean>(`/api/public/users/me/wishlist/badge`).pipe(\n map(response => response.data || false)\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkSearchKeyword, ISkSearchResult} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkSearchService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getSearchResults(params: ApiPageableParam = new ApiPageableParam()): Observable<ISkSearchResult> {\n return this._apiService.get<ISkSearchResult>(`/api/public/search`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getSearchKeywords(): Observable<ISkSearchKeyword[]> {\n return this._apiService.get<ISkSearchKeyword[]>(`/api/public/search/keywords`).pipe(\n map(response => response.data)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport { ISkPointAdd, SkPoint } from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkPointService {\n\n public apiServer: string;\n\n constructor(private _apiService: SkApiService) {\n this.apiServer = _apiService.apiServer;\n }\n\n getMyCurrentPoint() {\n return this._apiService.get<number>(`/api/public/points/me`).pipe(\n map(response => Number(response.data || 0))\n );\n }\n\n getMyPointHistory(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkPoint>> {\n return this._apiService.getPageable<SkPoint>(`/api/public/points/me/history`, params.buildHttpParams()).pipe(\n map(response => response.data),\n map(value => {\n value.content = (value.content || []).map(item => new SkPoint(item));\n return value;\n })\n );\n }\n\n getUserCurrentPoint(userId: number) {\n return this._apiService.get<number>(`/api/admin/points/${userId}`).pipe(\n map(response => Number(response.data || 0))\n );\n }\n\n getUserPointHistory(userId: number, params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkPoint>> {\n return this._apiService.getPageable<SkPoint>(`/api/admin/points/${userId}/history`, params.buildHttpParams()).pipe(\n map(response => response.data),\n map(value => {\n value.content = (value.content || []).map(item => new SkPoint(item));\n return value;\n })\n );\n }\n\n addPointToUser(data: ISkPointAdd) {\n return this._apiService.put<number>(`/api/admin/points/add`, data).pipe(\n map(response => Number(response.data || 0))\n );\n }\n\n usePointToUser(data: ISkPointAdd) {\n return this._apiService.put<number>(`/api/admin/points/use`, data).pipe(\n map(response => Number(response.data || 0))\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkCouponCount, ISkCouponDetail, ISkCouponListItem, ISkCouponTicket, ISkCouponTriggerUpdate} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCouponService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getCoupon(code: string): Observable<ISkCouponDetail> {\n return this._apiService.get<ISkCouponDetail>(`/api/public/coupons/${code}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCoupon(id: number): Observable<ISkCouponDetail> {\n return this._apiService.get<ISkCouponDetail>(`/api/admin/coupons/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getCoupons(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkCouponListItem>> {\n return this._apiService.getPageable<ISkCouponListItem>(`/api/public/coupons`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getCouponTickets(id: number): Observable<ISkCouponTicket[]> {\n return this._apiService.get<ISkCouponTicket[]>(`/api/admin/coupons/${id}/list`).pipe(\n map(response => response.data || [])\n );\n }\n\n getAdminCoupons(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkCouponListItem>> {\n return this._apiService.getPageable<ISkCouponListItem>(`/api/admin/coupons`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getCouponsArray(ids: number[]): Observable<ISkCouponListItem[]> {\n return this._apiService.get<ISkCouponListItem[]>(`/api/public/coupons/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCouponsArray(ids: number[]): Observable<ISkCouponListItem[]> {\n return this._apiService.get<ISkCouponListItem[]>(`/api/admin/coupons/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminCoupon(data: any): Observable<ISkCouponDetail> {\n return this._apiService.post<ISkCouponDetail>(`/api/admin/coupons`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminCoupon(id: number, data: any): Observable<ISkCouponDetail> {\n return this._apiService.put<ISkCouponDetail>(`/api/admin/coupons/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminCouponTrigger(id: number, data: ISkCouponTriggerUpdate): Observable<ISkCouponDetail> {\n return this._apiService.put<ISkCouponDetail>(`/api/admin/coupons/${id}/trigger`, data).pipe(\n map(response => response.data)\n );\n }\n\n activateAdminCoupons(coupons: ISkCouponListItem[]): Observable<any> {\n return this._apiService.put(`/api/admin/coupons/activate/${coupons.map(coupon => coupon.id).join(',')}`, null);\n }\n\n deactivateAdminCoupons(coupons: ISkCouponListItem[]): Observable<any> {\n return this._apiService.put(`/api/admin/coupons/deactivate/${coupons.map(coupon => coupon.id).join(',')}`, null);\n }\n\n deleteAdminCoupons(coupons: ISkCouponListItem[]): Observable<any> {\n return this._apiService.delete(`/api/admin/coupons/delete/${coupons.map(coupon => coupon.id).join(',')}`);\n }\n\n getAdminCouponsCount(): Observable<ISkCouponCount> {\n return this._apiService.get<ISkCouponCount>('/api/admin/coupons/count')\n .pipe(map(response => response.data));\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkDocumentCommentUpdate, ISkDocumentCommentWrite, SkDocumentCommentParent} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCommentService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getDocumentComments(param: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkDocumentCommentParent>> {\n return this._apiService.getPageable<SkDocumentCommentParent>(`/api/public/document-comments`, param.buildHttpParams())\n .pipe(map(response => {\n response.data.content = response.data.content.map(item => new SkDocumentCommentParent(item));\n return response.data;\n }));\n }\n\n getDocumentComment(id: number): Observable<SkDocumentCommentParent> {\n return this._apiService.get<SkDocumentCommentParent>(`/api/public/document-comments/${id}`)\n .pipe(map(response => new SkDocumentCommentParent(response.data)));\n }\n\n writeDocumentComment(data: ISkDocumentCommentWrite): Observable<any> {\n return this._apiService.post(`/api/public/document-comments`, data)\n .pipe(map(response => response.data));\n }\n\n updateDocumentComment(id: number, data: ISkDocumentCommentUpdate): Observable<any> {\n return this._apiService.put(`/api/public/document-comments/${id}`, data)\n .pipe(map(response => response.data));\n }\n\n deleteDocumentComment(id: number): Observable<any> {\n return this._apiService.delete(`/api/public/document-comments/${id}`)\n .pipe(map(response => response.data));\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkContact} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkContactService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n writeContact(data: any): Observable<any> {\n return this._apiService.post(`/api/public/contacts`, data)\n .pipe(map(response => response.data));\n }\n\n getContacts(params: ApiPageableParam = new ApiPageableParam()): Observable<any> {\n return this._apiService.getPageable(`/api/admin/contacts`, params.buildHttpParams())\n .pipe(map(response => response.data));\n }\n\n getContact(id: number): Observable<ISkContact> {\n return this._apiService.get<ISkContact>(`/api/admin/contacts/${id}`)\n .pipe(map(response => response.data));\n }\n\n writeAnswerAdmin(id: number, data: any): Observable<any> {\n return this._apiService.post(`/api/admin/contacts/${id}/answer`, data)\n .pipe(map(response => response.data));\n }\n\n closeContact(id: number): Observable<any> {\n return this._apiService.put(`/api/admin/contacts/${id}/close`, null)\n .pipe(map(response => response.data));\n }\n\n}\n","import {HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {SkApiService} from 'sk-front-lib/api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkEtcService {\n\n constructor(private _apiService: SkApiService) {\n }\n\n sendTestEmail(key: string, params?: HttpParams): Observable<any> {\n return this._apiService.get<any>(`/api/admin/notifications/email/${key}`, params).pipe(\n map(response => response.data)\n );\n }\n\n sendTestSms(key: string, to: string): Observable<any> {\n return this._apiService.get<any>(`/api/admin/notifications/sms/${key}`, new HttpParams().append('to', to)).pipe(\n map(response => response.data)\n );\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkStore} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkStoreService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getStore(id: number): Observable<SkStore> {\n return this._apiService.get<SkStore>(`/api/public/stores/${id}`).pipe(\n map(response => new SkStore(response.data))\n );\n }\n\n getAdminStore(id: number): Observable<SkStore> {\n return this._apiService.get<SkStore>(`/api/admin/stores/${id}`).pipe(\n map(response => new SkStore(response.data))\n );\n }\n\n getStores(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkStore>> {\n return this._apiService.getPageable<SkStore>(`/api/public/stores`, params.buildHttpParams()).pipe(\n map(response => {\n response.data.content = (response.data.content || []).map(item => new SkStore(item));\n return response.data;\n })\n );\n }\n\n getAdminStores(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkStore>> {\n return this._apiService.getPageable<SkStore>(`/api/admin/stores`, params.buildHttpParams()).pipe(\n map(response => {\n response.data.content = (response.data.content || []).map(item => new SkStore(item));\n return response.data;\n })\n );\n }\n\n createAdminStore(data: any): Observable<SkStore> {\n return this._apiService.post<SkStore>(`/api/admin/stores`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminStore(id: number, data: any): Observable<SkStore> {\n return this._apiService.put<SkStore>(`/api/admin/stores/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminStores(stores: SkStore[]): Observable<any> {\n return this._apiService.delete(`/api/admin/stores/delete/${stores.map(store => store.id).join(',')}`);\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkKeyword} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkKeywordService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getKeyword(id: number): Observable<SkKeyword> {\n return this._apiService.get<SkKeyword>(`/api/public/keywords/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminKeyword(id: number): Observable<SkKeyword> {\n return this._apiService.get<SkKeyword>(`/api/admin/keywords/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getKeywords(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkKeyword>> {\n return this._apiService.getPageable<SkKeyword>(`/api/public/keywords`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAllKeywords(params: ApiPageableParam = new ApiPageableParam()): Observable<SkKeyword[]> {\n return this._apiService.get<SkKeyword[]>(`/api/public/keywords/all`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminKeywords(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkKeyword>> {\n return this._apiService.getPageable<SkKeyword>(`/api/admin/keywords`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminAllKeywords(): Observable<SkKeyword[]> {\n return this._apiService.get<SkKeyword[]>(`/api/admin/keywords/all`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminKeyword(data: any): Observable<SkKeyword> {\n return this._apiService.post<SkKeyword>(`/api/admin/keywords`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminKeyword(id: number, data: any): Observable<SkKeyword> {\n return this._apiService.put<SkKeyword>(`/api/admin/keywords/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminKeywords(keywords: SkKeyword[]): Observable<any> {\n return this._apiService.delete(`/api/admin/keywords/delete/${keywords.map(keyword => keyword.id).join(',')}`);\n }\n}\n"]}