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,260 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { HttpParams } from '@angular/common/http';
3
- import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
4
- import { BehaviorSubject, of } from 'rxjs';
5
- import { map, switchMap, take, tap } from 'rxjs/operators';
6
- import { SkUtils } from 'sk-front-lib';
7
- import { SkApiService } from 'sk-front-lib/api';
8
- import { SkCart } from 'sk-front-lib/model';
9
- import { SkAuthService } from './sk-auth.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "sk-front-lib/api";
12
- import * as i2 from "./sk-auth.service";
13
- export class SkCartApiService {
14
- constructor(_apiService) {
15
- this._apiService = _apiService;
16
- }
17
- load() {
18
- return this._apiService.get(`/api/public/carts`).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
19
- }
20
- add(cart) {
21
- const data = {
22
- product: cart.product.id,
23
- selectedOptions: cart.options.map(item => ({
24
- value: item.value.id,
25
- option: item.option.id,
26
- amount: item.amount
27
- })),
28
- amount: cart.amount,
29
- selectedGifts: (cart.gifts || []).map(item => ({ id: item.id }))
30
- };
31
- return this._apiService.post(`/api/public/carts`, data).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
32
- }
33
- clear() {
34
- return undefined;
35
- }
36
- remove(carts) {
37
- return this.removeByIdArray(carts.map(cart => cart.id));
38
- }
39
- removeByIdArray(idArray) {
40
- const ids = idArray.filter(id => Number(id) >= 1);
41
- return this._apiService.delete(`/api/public/carts`, new HttpParams().append('target', ids.join(','))).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
42
- }
43
- update(cart) {
44
- return this._apiService.put(`/api/public/carts/${cart.id}`, { amount: cart.amount }).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
45
- }
46
- }
47
- SkCartApiService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkCartApiService_Factory() { return new SkCartApiService(i0.ɵɵinject(i1.SkApiService)); }, token: SkCartApiService, providedIn: "root" });
48
- SkCartApiService.decorators = [
49
- { type: Injectable, args: [{
50
- providedIn: 'root'
51
- },] }
52
- ];
53
- SkCartApiService.ctorParameters = () => [
54
- { type: SkApiService }
55
- ];
56
- export class SkCartLocalService {
57
- constructor(platformId) {
58
- this.platformId = platformId;
59
- this.isPlatformBrowser = isPlatformBrowser(this.platformId);
60
- }
61
- loadRaw() {
62
- let data = [];
63
- try {
64
- if (this.isPlatformBrowser) {
65
- data = (SkUtils.decodeBase64(localStorage.getItem('cartData')) || []).map(item => new SkCart(item));
66
- }
67
- }
68
- catch (e) {
69
- data = [];
70
- }
71
- return data;
72
- }
73
- load() {
74
- return of(this.loadRaw());
75
- }
76
- add(cart) {
77
- cart.id = Math.random();
78
- const cartList = [cart, ...this.loadRaw()];
79
- localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
80
- return of(cartList);
81
- }
82
- clear() {
83
- const cartList = [];
84
- localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
85
- return of(cartList);
86
- }
87
- remove(carts) {
88
- return this.removeByIdArray(carts.map(cart => cart.id));
89
- }
90
- removeByIdArray(idArray) {
91
- const removedItems = this.loadRaw().filter(item => idArray.findIndex(id => id === item.id) < 0);
92
- localStorage.setItem('cartData', SkUtils.encodeBase64(removedItems));
93
- return of(removedItems);
94
- }
95
- update(cart) {
96
- const cartList = this.loadRaw();
97
- const index = this.loadRaw().findIndex(item => item.id === cart.id);
98
- if (index > -1) {
99
- cartList[index] = cart;
100
- localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
101
- }
102
- return of(cartList);
103
- }
104
- }
105
- SkCartLocalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkCartLocalService_Factory() { return new SkCartLocalService(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: SkCartLocalService, providedIn: "root" });
106
- SkCartLocalService.decorators = [
107
- { type: Injectable, args: [{
108
- providedIn: 'root'
109
- },] }
110
- ];
111
- SkCartLocalService.ctorParameters = () => [
112
- { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
113
- ];
114
- export class SkCartService {
115
- constructor(_authService, _apiService, _apiCartService, _apiLocalService) {
116
- this._authService = _authService;
117
- this._apiService = _apiService;
118
- this._apiCartService = _apiCartService;
119
- this._apiLocalService = _apiLocalService;
120
- this._cartItems$ = new BehaviorSubject([]);
121
- this.cartItems$ = this._cartItems$.asObservable();
122
- this._selectedItems$ = new BehaviorSubject([]);
123
- this.selectedItems$ = this._selectedItems$.asObservable();
124
- // this._myInfoSubscription = this._authService.userinfo$.subscribe(() => {
125
- // this.load();
126
- // });
127
- }
128
- get cartItems() {
129
- return this._cartItems$.getValue();
130
- }
131
- set cartItems(value) {
132
- this._cartItems$.next(value);
133
- }
134
- get selectedItems() {
135
- return this._selectedItems$.getValue();
136
- }
137
- set selectedItems(value) {
138
- this._selectedItems$.next(value);
139
- }
140
- load() {
141
- this._authService.checkLogin()
142
- .pipe(switchMap(result => result ? this._apiCartService.load() : this._apiLocalService.load()))
143
- .subscribe(result => this._cartItems$.next(result));
144
- }
145
- clear() {
146
- this._authService.checkLogin()
147
- .pipe(switchMap(result => result ? this._apiCartService.clear() : this._apiLocalService.clear()))
148
- .subscribe(result => this._cartItems$.next(result));
149
- }
150
- add(cart) {
151
- return this._authService.checkLogin()
152
- .pipe(switchMap(result => result ? this._apiCartService.add(cart) : this._apiLocalService.add(cart)), tap(result => this._cartItems$.next(result)));
153
- }
154
- remove(carts) {
155
- this._authService.checkLogin()
156
- .pipe(switchMap(result => result ? this._apiCartService.remove(carts) : this._apiLocalService.remove(carts)))
157
- .subscribe(result => {
158
- this._cartItems$.next(result);
159
- this.checkSelectedItems();
160
- });
161
- }
162
- removeByIdArray(idArray) {
163
- this._authService.checkLogin()
164
- .pipe(switchMap(result => result ? this._apiCartService.removeByIdArray(idArray) : this._apiLocalService.removeByIdArray(idArray)))
165
- .subscribe(result => {
166
- this._cartItems$.next(result);
167
- this.checkSelectedItems();
168
- });
169
- }
170
- update(cart) {
171
- this._authService.checkLogin()
172
- .pipe(switchMap(result => result ? this._apiCartService.update(cart) : this._apiLocalService.update(cart)))
173
- .subscribe(result => this._cartItems$.next(result));
174
- }
175
- getCart(id) {
176
- return this._cartItems$.getValue().find(value => value.id === id);
177
- }
178
- checkSelectedItems() {
179
- this.selectedItems = this.selectedItems.filter(value => !!this.getCart(value));
180
- }
181
- selectAll() {
182
- this.selectedItems = this._cartItems$.getValue().map(item => item.id);
183
- }
184
- deSelectAll() {
185
- this.selectedItems = [];
186
- }
187
- toggleSelectAll() {
188
- if (this.selectedItems.length === this._cartItems$.getValue().length) {
189
- this.deSelectAll();
190
- }
191
- else {
192
- this.selectAll();
193
- }
194
- }
195
- toggleSelect(cart) {
196
- const targetIndex = this.selectedItems.findIndex(item => item === cart.id);
197
- if (targetIndex === -1) {
198
- this.selectedItems = [...this.selectedItems, cart.id];
199
- }
200
- else {
201
- const target = this.selectedItems;
202
- target.splice(targetIndex, 1);
203
- this.selectedItems = target;
204
- }
205
- }
206
- isSelected(cart) {
207
- return this.selectedItems.findIndex(item => item === cart.id) > -1;
208
- }
209
- isSelectedAll() {
210
- return this.selectedItems.length > 0 && this.selectedItems.length === this._cartItems$.getValue().length;
211
- }
212
- isIntermediate() {
213
- return this.selectedItems.length > 0 && this.selectedItems.length !== this._cartItems$.getValue().length;
214
- }
215
- createOrder(paymentType) {
216
- return this._authService.checkLogin()
217
- .pipe(take(1), map(result => {
218
- if (result) {
219
- return {
220
- apiUrl: `/api/public/orders/from-cart`,
221
- items: this.selectedItems
222
- };
223
- }
224
- else {
225
- return {
226
- apiUrl: `/api/public/orders/from-data`,
227
- items: this.selectedItems
228
- .map(id => this.getCart(id))
229
- .map(cart => ({
230
- id: cart.id,
231
- productId: cart.product.id,
232
- amount: cart.amount,
233
- options: (cart.options || []).map(option => ({
234
- optionId: option.option.id,
235
- valueId: option.value.id,
236
- amount: option.amount || 1
237
- })),
238
- gifts: (cart.gifts || []).map(item => ({ id: item.id }))
239
- }))
240
- };
241
- }
242
- }), switchMap(result => this._apiService.post(result.apiUrl, {
243
- items: result.items,
244
- paymentType
245
- })), map(result => result.data));
246
- }
247
- }
248
- SkCartService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkCartService_Factory() { return new SkCartService(i0.ɵɵinject(i2.SkAuthService), i0.ɵɵinject(i1.SkApiService), i0.ɵɵinject(SkCartApiService), i0.ɵɵinject(SkCartLocalService)); }, token: SkCartService, providedIn: "root" });
249
- SkCartService.decorators = [
250
- { type: Injectable, args: [{
251
- providedIn: 'root'
252
- },] }
253
- ];
254
- SkCartService.ctorParameters = () => [
255
- { type: SkAuthService },
256
- { type: SkApiService },
257
- { type: SkCartApiService },
258
- { type: SkCartLocalService }
259
- ];
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLWNhcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUdsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQWdCLE1BQU0sRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQWtCaEQsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUFvQixXQUF5QjtRQUF6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUU3QyxDQUFDO0lBRUQsSUFBSTtRQUNBLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQVcsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQzNELEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3ZF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VUFBVSxFQUFFLE1BQU07YUFDckI7OztZQXRJTyxhQUFhO1lBRmIsWUFBWTtZQXFLcUIsZ0JBQWdCO1lBQ2Ysa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1BsYXRmb3JtQnJvd3Nlcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuXG5pbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTa1V0aWxzfSBmcm9tICdzay1mcm9udC1saWInO1xuaW1wb3J0IHtTa0FwaVNlcnZpY2V9IGZyb20gJ3NrLWZyb250LWxpYi9hcGknO1xuaW1wb3J0IHtJU2tDYXJ0Q3JlYXRlLCBTa0NhcnR9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5pbXBvcnQge1NrQXV0aFNlcnZpY2V9IGZyb20gJy4vc2stYXV0aC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0QWJzdHJhY3RTZXJ2aWNlIHtcbiAgICBsb2FkKCk6IE9ic2VydmFibGU8U2tDYXJ0W10+O1xuXG4gICAgY2xlYXIoKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT47XG5cbiAgICBhZGQoY2FydDogU2tDYXJ0KTogT2JzZXJ2YWJsZTxTa0NhcnRbXT47XG5cbiAgICByZW1vdmUoY2FydHM6IFNrQ2FydFtdKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT47XG5cbiAgICB1cGRhdGUoY2FydDogU2tDYXJ0KTogT2JzZXJ2YWJsZTxTa0NhcnRbXT47XG59XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0NhcnRBcGlTZXJ2aWNlIGltcGxlbWVudHMgQ2FydEFic3RyYWN0U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGxvYWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa0NhcnRbXT4oYC9hcGkvcHVibGljL2NhcnRzYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrQ2FydChpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYWRkKGNhcnQ6IFNrQ2FydCk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgY29uc3QgZGF0YTogSVNrQ2FydENyZWF0ZSA9IHtcbiAgICAgICAgICAgIHByb2R1Y3Q6IGNhcnQucHJvZHVjdC5pZCxcbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uczogY2FydC5vcHRpb25zLm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUuaWQsXG4gICAgICAgICAgICAgICAgb3B0aW9uOiBpdGVtLm9wdGlvbi5pZCxcbiAgICAgICAgICAgICAgICBhbW91bnQ6IGl0ZW0uYW1vdW50XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBhbW91bnQ6IGNhcnQuYW1vdW50LFxuICAgICAgICAgICAgc2VsZWN0ZWRHaWZ0czogKGNhcnQuZ2lmdHMgfHwgW10pLm1hcChpdGVtID0+ICh7aWQ6IGl0ZW0uaWR9KSlcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrQ2FydFtdPihgL2FwaS9wdWJsaWMvY2FydHNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tDYXJ0KGl0ZW0pKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjbGVhcigpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmVtb3ZlKGNhcnRzOiBTa0NhcnRbXSk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlQnlJZEFycmF5KGNhcnRzLm1hcChjYXJ0ID0+IGNhcnQuaWQpKTtcbiAgICB9XG5cbiAgICByZW1vdmVCeUlkQXJyYXkoaWRBcnJheTogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIGNvbnN0IGlkcyA9IGlkQXJyYXkuZmlsdGVyKGlkID0+IE51bWJlcihpZCkgPj0gMSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZTxTa0NhcnRbXT4oYC9hcGkvcHVibGljL2NhcnRzYCwgbmV3IEh0dHBQYXJhbXMoKS5hcHBlbmQoJ3RhcmdldCcsIGlkcy5qb2luKCcsJykpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tDYXJ0KGl0ZW0pKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGUoY2FydDogU2tDYXJ0KTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tDYXJ0W10+KGAvYXBpL3B1YmxpYy9jYXJ0cy8ke2NhcnQuaWR9YCwge2Ftb3VudDogY2FydC5hbW91bnR9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tDYXJ0KGl0ZW0pKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tDYXJ0TG9jYWxTZXJ2aWNlIGltcGxlbWVudHMgQ2FydEFic3RyYWN0U2VydmljZSB7XG5cbiAgICBwcml2YXRlIGlzUGxhdGZvcm1Ccm93c2VyOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QpIHtcbiAgICAgICAgdGhpcy5pc1BsYXRmb3JtQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gICAgfVxuXG4gICAgbG9hZFJhdygpIHtcbiAgICAgICAgbGV0IGRhdGEgPSBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUGxhdGZvcm1Ccm93c2VyKSB7XG4gICAgICAgICAgICAgICAgZGF0YSA9IChTa1V0aWxzLmRlY29kZUJhc2U2NChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY2FydERhdGEnKSkgfHwgW10pLm1hcChpdGVtID0+IG5ldyBTa0NhcnQoaXRlbSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBkYXRhID0gW107XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBsb2FkKCkge1xuICAgICAgICByZXR1cm4gb2YodGhpcy5sb2FkUmF3KCkpO1xuICAgIH1cblxuICAgIGFkZChjYXJ0OiBTa0NhcnQpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIGNhcnQuaWQgPSBNYXRoLnJhbmRvbSgpO1xuICAgICAgICBjb25zdCBjYXJ0TGlzdCA9IFtjYXJ0LCAuLi50aGlzLmxvYWRSYXcoKV07XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYXJ0RGF0YScsIFNrVXRpbHMuZW5jb2RlQmFzZTY0KGNhcnRMaXN0KSk7XG4gICAgICAgIHJldHVybiBvZihjYXJ0TGlzdCk7XG4gICAgfVxuXG4gICAgY2xlYXIoKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICBjb25zdCBjYXJ0TGlzdCA9IFtdO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY2FydERhdGEnLCBTa1V0aWxzLmVuY29kZUJhc2U2NChjYXJ0TGlzdCkpO1xuICAgICAgICByZXR1cm4gb2YoY2FydExpc3QpO1xuICAgIH1cblxuICAgIHJlbW92ZShjYXJ0czogU2tDYXJ0W10pOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUJ5SWRBcnJheShjYXJ0cy5tYXAoY2FydCA9PiBjYXJ0LmlkKSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQnlJZEFycmF5KGlkQXJyYXk6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICBjb25zdCByZW1vdmVkSXRlbXMgPSB0aGlzLmxvYWRSYXcoKS5maWx0ZXIoaXRlbSA9PiBpZEFycmF5LmZpbmRJbmRleChpZCA9PiBpZCA9PT0gaXRlbS5pZCkgPCAwKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NhcnREYXRhJywgU2tVdGlscy5lbmNvZGVCYXNlNjQocmVtb3ZlZEl0ZW1zKSk7XG4gICAgICAgIHJldHVybiBvZihyZW1vdmVkSXRlbXMpO1xuICAgIH1cblxuICAgIHVwZGF0ZShjYXJ0OiBTa0NhcnQpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIGNvbnN0IGNhcnRMaXN0ID0gdGhpcy5sb2FkUmF3KCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5sb2FkUmF3KCkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gY2FydC5pZCk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBjYXJ0TGlzdFtpbmRleF0gPSBjYXJ0O1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NhcnREYXRhJywgU2tVdGlscy5lbmNvZGVCYXNlNjQoY2FydExpc3QpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvZihjYXJ0TGlzdCk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrQ2FydFNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfY2FydEl0ZW1zJDogQmVoYXZpb3JTdWJqZWN0PFNrQ2FydFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICAgIHB1YmxpYyByZWFkb25seSBjYXJ0SXRlbXMkOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiA9IHRoaXMuX2NhcnRJdGVtcyQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBnZXQgY2FydEl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FydEl0ZW1zJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHNldCBjYXJ0SXRlbXModmFsdWUpIHtcbiAgICAgICAgdGhpcy5fY2FydEl0ZW1zJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1zJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10+KFtdKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtcyQ6IE9ic2VydmFibGU8bnVtYmVyW10+ID0gdGhpcy5fc2VsZWN0ZWRJdGVtcyQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBnZXQgc2VsZWN0ZWRJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgc2V0IHNlbGVjdGVkSXRlbXModmFsdWUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbXlJbmZvU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hdXRoU2VydmljZTogU2tBdXRoU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBpQ2FydFNlcnZpY2U6IFNrQ2FydEFwaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBpTG9jYWxTZXJ2aWNlOiBTa0NhcnRMb2NhbFNlcnZpY2UpIHtcblxuICAgICAgICAvLyB0aGlzLl9teUluZm9TdWJzY3JpcHRpb24gPSB0aGlzLl9hdXRoU2VydmljZS51c2VyaW5mbyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gICAgIHRoaXMubG9hZCgpO1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBsb2FkKCkge1xuICAgICAgICB0aGlzLl9hdXRoU2VydmljZS5jaGVja0xvZ2luKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4gcmVzdWx0ID8gdGhpcy5fYXBpQ2FydFNlcnZpY2UubG9hZCgpIDogdGhpcy5fYXBpTG9jYWxTZXJ2aWNlLmxvYWQoKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5fYXV0aFNlcnZpY2UuY2hlY2tMb2dpbigpXG4gICAgICAgICAgICAucGlwZShzd2l0Y2hNYXAocmVzdWx0ID0+IHJlc3VsdCA/IHRoaXMuX2FwaUNhcnRTZXJ2aWNlLmNsZWFyKCkgOiB0aGlzLl9hcGlMb2NhbFNlcnZpY2UuY2xlYXIoKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB0aGlzLl9jYXJ0SXRlbXMkLm5leHQocmVzdWx0KSk7XG4gICAgfVxuXG4gICAgYWRkKGNhcnQ6IFNrQ2FydCk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQgPyB0aGlzLl9hcGlDYXJ0U2VydmljZS5hZGQoY2FydCkgOiB0aGlzLl9hcGlMb2NhbFNlcnZpY2UuYWRkKGNhcnQpKSxcbiAgICAgICAgICAgICAgICB0YXAocmVzdWx0ID0+IHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZW1vdmUoY2FydHM6IFNrQ2FydFtdKSB7XG4gICAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQgPyB0aGlzLl9hcGlDYXJ0U2VydmljZS5yZW1vdmUoY2FydHMpIDogdGhpcy5fYXBpTG9jYWxTZXJ2aWNlLnJlbW92ZShjYXJ0cykpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVCeUlkQXJyYXkoaWRBcnJheTogbnVtYmVyW10pIHtcbiAgICAgICAgdGhpcy5fYXV0aFNlcnZpY2UuY2hlY2tMb2dpbigpXG4gICAgICAgICAgICAucGlwZShzd2l0Y2hNYXAocmVzdWx0ID0+IHJlc3VsdCA/IHRoaXMuX2FwaUNhcnRTZXJ2aWNlLnJlbW92ZUJ5SWRBcnJheShpZEFycmF5KSA6IHRoaXMuX2FwaUxvY2FsU2VydmljZS5yZW1vdmVCeUlkQXJyYXkoaWRBcnJheSkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGUoY2FydDogU2tDYXJ0KSB7XG4gICAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQgPyB0aGlzLl9hcGlDYXJ0U2VydmljZS51cGRhdGUoY2FydCkgOiB0aGlzLl9hcGlMb2NhbFNlcnZpY2UudXBkYXRlKGNhcnQpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpKTtcbiAgICB9XG5cbiAgICBnZXRDYXJ0KGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhcnRJdGVtcyQuZ2V0VmFsdWUoKS5maW5kKHZhbHVlID0+IHZhbHVlLmlkID09PSBpZCk7XG4gICAgfVxuXG4gICAgY2hlY2tTZWxlY3RlZEl0ZW1zKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKHZhbHVlID0+ICEhdGhpcy5nZXRDYXJ0KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0QWxsKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLl9jYXJ0SXRlbXMkLmdldFZhbHVlKCkubWFwKGl0ZW0gPT4gaXRlbS5pZCk7XG4gICAgfVxuXG4gICAgZGVTZWxlY3RBbGwoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgIH1cblxuICAgIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IHRoaXMuX2NhcnRJdGVtcyQuZ2V0VmFsdWUoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGVTZWxlY3RBbGwoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0QWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVTZWxlY3QoY2FydDogU2tDYXJ0KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IGNhcnQuaWQpO1xuICAgICAgICBpZiAodGFyZ2V0SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbLi4udGhpcy5zZWxlY3RlZEl0ZW1zLCBjYXJ0LmlkXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuc2VsZWN0ZWRJdGVtcztcbiAgICAgICAgICAgIHRhcmdldC5zcGxpY2UodGFyZ2V0SW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGFyZ2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNTZWxlY3RlZChjYXJ0OiBTa0NhcnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBjYXJ0LmlkKSA+IC0xO1xuICAgIH1cblxuICAgIGlzU2VsZWN0ZWRBbGwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSB0aGlzLl9jYXJ0SXRlbXMkLmdldFZhbHVlKCkubGVuZ3RoO1xuICAgIH1cblxuICAgIGlzSW50ZXJtZWRpYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCAhPT0gdGhpcy5fY2FydEl0ZW1zJC5nZXRWYWx1ZSgpLmxlbmd0aDtcbiAgICB9XG5cbiAgICBjcmVhdGVPcmRlcihwYXltZW50VHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGlVcmw6IGAvYXBpL3B1YmxpYy9vcmRlcnMvZnJvbS1jYXJ0YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogdGhpcy5zZWxlY3RlZEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGlVcmw6IGAvYXBpL3B1YmxpYy9vcmRlcnMvZnJvbS1kYXRhYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogdGhpcy5zZWxlY3RlZEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoaWQgPT4gdGhpcy5nZXRDYXJ0KGlkKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChjYXJ0ID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogY2FydC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RJZDogY2FydC5wcm9kdWN0LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBjYXJ0LmFtb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IChjYXJ0Lm9wdGlvbnMgfHwgW10pLm1hcChvcHRpb24gPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25JZDogb3B0aW9uLm9wdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUlkOiBvcHRpb24udmFsdWUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBvcHRpb24uYW1vdW50IHx8IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpZnRzOiAoY2FydC5naWZ0cyB8fCBbXSkubWFwKGl0ZW0gPT4gKHtpZDogaXRlbS5pZH0pKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocmVzdWx0ID0+IHRoaXMuX2FwaVNlcnZpY2UucG9zdDxhbnk+KHJlc3VsdC5hcGlVcmwsIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHJlc3VsdC5pdGVtcyxcbiAgICAgICAgICAgICAgICAgICAgcGF5bWVudFR5cGVcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxufVxuXG5cblxuIl19
@@ -1,64 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { ApiPageableParam, SkApiService } from 'sk-front-lib/api';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "sk-front-lib/api";
6
- export class SkCategoryService {
7
- constructor(_apiService) {
8
- this._apiService = _apiService;
9
- }
10
- getCategory(id) {
11
- return this._apiService.get(`/api/public/categories/${id}`).pipe(map(response => response.data));
12
- }
13
- getAdminCategory(id) {
14
- return this._apiService.get(`/api/admin/categories/${id}`).pipe(map(response => response.data));
15
- }
16
- getCategories(type) {
17
- return this._apiService.get(`/api/public/categories`).pipe(map(response => response.data.filter(item => item.type === type)));
18
- }
19
- getAdminAllCategories() {
20
- return this._apiService.get(`/api/admin/categories/all`).pipe(map(response => response.data));
21
- }
22
- getAdminCategories(params = new ApiPageableParam()) {
23
- return this._apiService.getPageable(`/api/admin/categories`, params.buildHttpParams()).pipe(map(response => response.data));
24
- }
25
- getAdminSsubCategoryItems(params = new ApiPageableParam()) {
26
- return this._apiService.getPageable(`/api/admin/categories/subitems`, params.buildHttpParams()).pipe(map(response => response.data));
27
- }
28
- getAdminCategoriesDetail(idArray) {
29
- return this._apiService.get(`/api/admin/categories/detail/${idArray.join(',')}`).pipe(map(response => (response.data || []).map(value => {
30
- return Object.assign({}, { subCategories: [] }, value);
31
- })));
32
- }
33
- createAdminCategory(data) {
34
- return this._apiService.post(`/api/admin/categories`, data).pipe(map(response => response.data));
35
- }
36
- updateAdminCategory(id, data) {
37
- return this._apiService.put(`/api/admin/categories/${id}`, data).pipe(map(response => response.data));
38
- }
39
- deleteAdminCategories(categories) {
40
- return this._apiService.delete(`/api/admin/categories/delete/${categories.map(category => category.id).join(',')}`);
41
- }
42
- createAdminSubCategory(categoryId, data) {
43
- return this._apiService.post(`/api/admin/categories/${categoryId}/sub`, data).pipe(map(response => response.data));
44
- }
45
- createAdminSubCategoryItem(categoryId, subCategoryId, data) {
46
- return this._apiService.post(`/api/admin/categories/${categoryId}/sub/${subCategoryId}`, data).pipe(map(response => response.data));
47
- }
48
- deleteAdminSubCategory(categoryId, subCategoryId) {
49
- return this._apiService.delete(`/api/admin/categories/${categoryId}/sub/${subCategoryId}`).pipe(map(response => response.data));
50
- }
51
- deleteAdminSubCategoryItem(categoryId, subCategoryId, subCategoryItemId) {
52
- return this._apiService.delete(`/api/admin/categories/${categoryId}/sub/${subCategoryId}/${subCategoryItemId}`).pipe(map(response => response.data));
53
- }
54
- }
55
- SkCategoryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkCategoryService_Factory() { return new SkCategoryService(i0.ɵɵinject(i1.SkApiService)); }, token: SkCategoryService, providedIn: "root" });
56
- SkCategoryService.decorators = [
57
- { type: Injectable, args: [{
58
- providedIn: 'root'
59
- },] }
60
- ];
61
- SkCategoryService.ctorParameters = () => [
62
- { type: SkApiService }
63
- ];
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9jcnVkL3NyYy9zay1jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBTTdFLE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsWUFBb0IsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFFN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWEsMEJBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4RSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBVTtRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFhLHlCQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdkUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFlLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUNwRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBZSwyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FDdkUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQTJCLElBQUksZ0JBQWdCLEVBQUU7UUFDaEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBYSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25HLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxTQUEyQixJQUFJLGdCQUFnQixFQUFFO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQW9CLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbkgsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELHdCQUF3QixDQUFDLE9BQWlCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWUsZ0NBQWdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUMsYUFBYSxFQUFFLEVBQUUsRUFBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDLENBQ04sQ0FBQztJQUNOLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFTO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQWEsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN4RSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBVSxFQUFFLElBQVM7UUFDckMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBYSx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUM3RSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQscUJBQXFCLENBQUMsVUFBd0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxnQ0FBZ0MsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hILENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxVQUFrQixFQUFFLElBQXVCO1FBQzlELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQWdCLHlCQUF5QixVQUFVLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzdGLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxVQUFrQixFQUFFLGFBQXFCLEVBQUUsSUFBdUI7UUFDekYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBb0IseUJBQXlCLFVBQVUsUUFBUSxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ2xILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxVQUFrQixFQUFFLGFBQXFCO1FBQzVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQU0seUJBQXlCLFVBQVUsUUFBUSxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELDBCQUEwQixDQUFDLFVBQWtCLEVBQUUsYUFBcUIsRUFBRSxpQkFBeUI7UUFDM0YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBTSx5QkFBeUIsVUFBVSxRQUFRLGFBQWEsSUFBSSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNySCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDOzs7O1lBM0ZKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBTHNDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBcGlQYWdlYWJsZSwgQXBpUGFnZWFibGVQYXJhbSwgU2tBcGlTZXJ2aWNlfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7U2tDYXRlZ29yeSwgU2tDYXRlZ29yeVR5cGUsIFNrU3ViQ2F0ZWdvcnksIFNrU3ViQ2F0ZWdvcnlJdGVtfSBmcm9tICdzay1mcm9udC1saWIvbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrQ2F0ZWdvcnlTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwaVNlcnZpY2U6IFNrQXBpU2VydmljZSkge1xuXG4gICAgfVxuXG4gICAgZ2V0Q2F0ZWdvcnkoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tDYXRlZ29yeT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tDYXRlZ29yeT4oYC9hcGkvcHVibGljL2NhdGVnb3JpZXMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5DYXRlZ29yeShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa0NhdGVnb3J5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa0NhdGVnb3J5PihgL2FwaS9hZG1pbi9jYXRlZ29yaWVzLyR7aWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldENhdGVnb3JpZXModHlwZTogU2tDYXRlZ29yeVR5cGUpOiBPYnNlcnZhYmxlPFNrQ2F0ZWdvcnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tDYXRlZ29yeVtdPihgL2FwaS9wdWJsaWMvY2F0ZWdvcmllc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09IHR5cGUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluQWxsQ2F0ZWdvcmllcygpOiBPYnNlcnZhYmxlPFNrQ2F0ZWdvcnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tDYXRlZ29yeVtdPihgL2FwaS9hZG1pbi9jYXRlZ29yaWVzL2FsbGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbkNhdGVnb3JpZXMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tDYXRlZ29yeT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8U2tDYXRlZ29yeT4oYC9hcGkvYWRtaW4vY2F0ZWdvcmllc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluU3N1YkNhdGVnb3J5SXRlbXMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tTdWJDYXRlZ29yeUl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrU3ViQ2F0ZWdvcnlJdGVtPihgL2FwaS9hZG1pbi9jYXRlZ29yaWVzL3N1Yml0ZW1zYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5DYXRlZ29yaWVzRGV0YWlsKGlkQXJyYXk6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa0NhdGVnb3J5W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrQ2F0ZWdvcnlbXT4oYC9hcGkvYWRtaW4vY2F0ZWdvcmllcy9kZXRhaWwvJHtpZEFycmF5LmpvaW4oJywnKX1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB7c3ViQ2F0ZWdvcmllczogW119LCB2YWx1ZSk7XG4gICAgICAgICAgICB9KSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjcmVhdGVBZG1pbkNhdGVnb3J5KGRhdGE6IGFueSk6IE9ic2VydmFibGU8U2tDYXRlZ29yeT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrQ2F0ZWdvcnk+KGAvYXBpL2FkbWluL2NhdGVnb3JpZXNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5DYXRlZ29yeShpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrQ2F0ZWdvcnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrQ2F0ZWdvcnk+KGAvYXBpL2FkbWluL2NhdGVnb3JpZXMvJHtpZH1gLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5DYXRlZ29yaWVzKGNhdGVnb3JpZXM6IFNrQ2F0ZWdvcnlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZShgL2FwaS9hZG1pbi9jYXRlZ29yaWVzL2RlbGV0ZS8ke2NhdGVnb3JpZXMubWFwKGNhdGVnb3J5ID0+IGNhdGVnb3J5LmlkKS5qb2luKCcsJyl9YCk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5TdWJDYXRlZ29yeShjYXRlZ29yeUlkOiBudW1iZXIsIGRhdGE6IHsgdGl0bGU6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxTa1N1YkNhdGVnb3J5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tTdWJDYXRlZ29yeT4oYC9hcGkvYWRtaW4vY2F0ZWdvcmllcy8ke2NhdGVnb3J5SWR9L3N1YmAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjcmVhdGVBZG1pblN1YkNhdGVnb3J5SXRlbShjYXRlZ29yeUlkOiBudW1iZXIsIHN1YkNhdGVnb3J5SWQ6IG51bWJlciwgZGF0YTogeyB0aXRsZTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPFNrU3ViQ2F0ZWdvcnlJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tTdWJDYXRlZ29yeUl0ZW0+KGAvYXBpL2FkbWluL2NhdGVnb3JpZXMvJHtjYXRlZ29yeUlkfS9zdWIvJHtzdWJDYXRlZ29yeUlkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVBZG1pblN1YkNhdGVnb3J5KGNhdGVnb3J5SWQ6IG51bWJlciwgc3ViQ2F0ZWdvcnlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlPGFueT4oYC9hcGkvYWRtaW4vY2F0ZWdvcmllcy8ke2NhdGVnb3J5SWR9L3N1Yi8ke3N1YkNhdGVnb3J5SWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluU3ViQ2F0ZWdvcnlJdGVtKGNhdGVnb3J5SWQ6IG51bWJlciwgc3ViQ2F0ZWdvcnlJZDogbnVtYmVyLCBzdWJDYXRlZ29yeUl0ZW1JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlPGFueT4oYC9hcGkvYWRtaW4vY2F0ZWdvcmllcy8ke2NhdGVnb3J5SWR9L3N1Yi8ke3N1YkNhdGVnb3J5SWR9LyR7c3ViQ2F0ZWdvcnlJdGVtSWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuXG5cblxufVxuIl19
@@ -1,44 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { ApiPageableParam, SkApiService } from 'sk-front-lib/api';
4
- import { SkDocumentCommentParent } from 'sk-front-lib/model';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "sk-front-lib/api";
7
- export class SkCommentService {
8
- constructor(_apiService) {
9
- this._apiService = _apiService;
10
- }
11
- getDocumentComments(param = new ApiPageableParam()) {
12
- return this._apiService.getPageable(`/api/public/document-comments`, param.buildHttpParams())
13
- .pipe(map(response => {
14
- response.data.content = response.data.content.map(item => new SkDocumentCommentParent(item));
15
- return response.data;
16
- }));
17
- }
18
- getDocumentComment(id) {
19
- return this._apiService.get(`/api/public/document-comments/${id}`)
20
- .pipe(map(response => new SkDocumentCommentParent(response.data)));
21
- }
22
- writeDocumentComment(data) {
23
- return this._apiService.post(`/api/public/document-comments`, data)
24
- .pipe(map(response => response.data));
25
- }
26
- updateDocumentComment(id, data) {
27
- return this._apiService.put(`/api/public/document-comments/${id}`, data)
28
- .pipe(map(response => response.data));
29
- }
30
- deleteDocumentComment(id) {
31
- return this._apiService.delete(`/api/public/document-comments/${id}`)
32
- .pipe(map(response => response.data));
33
- }
34
- }
35
- SkCommentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkCommentService_Factory() { return new SkCommentService(i0.ɵɵinject(i1.SkApiService)); }, token: SkCommentService, providedIn: "root" });
36
- SkCommentService.decorators = [
37
- { type: Injectable, args: [{
38
- providedIn: 'root'
39
- },] }
40
- ];
41
- SkCommentService.ctorParameters = () => [
42
- { type: SkApiService }
43
- ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY29tbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLWNvbW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQWMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFvRCx1QkFBdUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7QUFLOUcsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUFvQixXQUF5QjtRQUF6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUU3QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsUUFBMEIsSUFBSSxnQkFBZ0IsRUFBRTtRQUNoRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUEwQiwrQkFBK0IsRUFBRSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDakgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNqQixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDN0YsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUEwQixpQ0FBaUMsRUFBRSxFQUFFLENBQUM7YUFDdEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksdUJBQXVCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBNkI7UUFDOUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxJQUFJLENBQUM7YUFDOUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxFQUFVLEVBQUUsSUFBOEI7UUFDNUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDO2FBQ25FLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsRUFBVTtRQUM1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLEVBQUUsQ0FBQzthQUNoRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7OztZQW5DSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQUxzQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtBcGlQYWdlYWJsZSwgQXBpUGFnZWFibGVQYXJhbSwgU2tBcGlTZXJ2aWNlfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7SVNrRG9jdW1lbnRDb21tZW50VXBkYXRlLCBJU2tEb2N1bWVudENvbW1lbnRXcml0ZSwgU2tEb2N1bWVudENvbW1lbnRQYXJlbnR9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tDb21tZW50U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGdldERvY3VtZW50Q29tbWVudHMocGFyYW06IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxTa0RvY3VtZW50Q29tbWVudFBhcmVudD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8U2tEb2N1bWVudENvbW1lbnRQYXJlbnQ+KGAvYXBpL3B1YmxpYy9kb2N1bWVudC1jb21tZW50c2AsIHBhcmFtLmJ1aWxkSHR0cFBhcmFtcygpKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLmNvbnRlbnQgPSByZXNwb25zZS5kYXRhLmNvbnRlbnQubWFwKGl0ZW0gPT4gbmV3IFNrRG9jdW1lbnRDb21tZW50UGFyZW50KGl0ZW0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBnZXREb2N1bWVudENvbW1lbnQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tEb2N1bWVudENvbW1lbnRQYXJlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrRG9jdW1lbnRDb21tZW50UGFyZW50PihgL2FwaS9wdWJsaWMvZG9jdW1lbnQtY29tbWVudHMvJHtpZH1gKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IG5ldyBTa0RvY3VtZW50Q29tbWVudFBhcmVudChyZXNwb25zZS5kYXRhKSkpO1xuICAgIH1cblxuICAgIHdyaXRlRG9jdW1lbnRDb21tZW50KGRhdGE6IElTa0RvY3VtZW50Q29tbWVudFdyaXRlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdChgL2FwaS9wdWJsaWMvZG9jdW1lbnQtY29tbWVudHNgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKTtcbiAgICB9XG5cbiAgICB1cGRhdGVEb2N1bWVudENvbW1lbnQoaWQ6IG51bWJlciwgZGF0YTogSVNrRG9jdW1lbnRDb21tZW50VXBkYXRlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL3B1YmxpYy9kb2N1bWVudC1jb21tZW50cy8ke2lkfWAsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSkpO1xuICAgIH1cblxuICAgIGRlbGV0ZURvY3VtZW50Q29tbWVudChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL3B1YmxpYy9kb2N1bWVudC1jb21tZW50cy8ke2lkfWApXG4gICAgICAgICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSkpO1xuICAgIH1cblxufVxuIl19
@@ -1,33 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { SkUtils } from 'sk-front-lib';
4
- import { SkApiService } from 'sk-front-lib/api';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "sk-front-lib/api";
7
- export class SkConfigService {
8
- constructor(_apiService) {
9
- this._apiService = _apiService;
10
- }
11
- getConfig(key, nullValue = null) {
12
- return this._apiService.get(`/api/public/config/${key}`)
13
- .pipe(map(result => result.data ? SkUtils.decodeBase64(result.data.value, nullValue) : nullValue));
14
- }
15
- setConfig(key, data, nullValue = []) {
16
- return this._apiService.put(`/api/admin/config/${key}`, { value: SkUtils.encodeBase64(data) })
17
- .pipe(map(result => result.data ? SkUtils.decodeBase64(result.data.value, nullValue) : nullValue));
18
- }
19
- getBankList() {
20
- return this._apiService.get('/api/public/bank-list')
21
- .pipe(map(result => result.data || []));
22
- }
23
- }
24
- SkConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkConfigService_Factory() { return new SkConfigService(i0.ɵɵinject(i1.SkApiService)); }, token: SkConfigService, providedIn: "root" });
25
- SkConfigService.decorators = [
26
- { type: Injectable, args: [{
27
- providedIn: 'root'
28
- },] }
29
- ];
30
- SkConfigService.ctorParameters = () => [
31
- { type: SkApiService }
32
- ];
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvY3J1ZC9zcmMvc2stY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQU9oRCxNQUFNLE9BQU8sZUFBZTtJQUV4QixZQUFvQixXQUF5QjtRQUF6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUU3QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxZQUFpQixJQUFJO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO2FBQ3hELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBVyxFQUFFLElBQVMsRUFBRSxZQUFpQixFQUFFO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQU0scUJBQXFCLEdBQUcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQzthQUM1RixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQVcsdUJBQXVCLENBQUM7YUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMvQyxDQUFDOzs7O1lBdEJKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBTlEsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNrVXRpbHMgfSBmcm9tICdzay1mcm9udC1saWInO1xuXG5pbXBvcnQgeyBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7IFNrQmFuayB9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0NvbmZpZ1NlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlKSB7XG5cbiAgICB9XG5cbiAgICBnZXRDb25maWcoa2V5OiBzdHJpbmcsIG51bGxWYWx1ZTogYW55ID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8YW55PihgL2FwaS9wdWJsaWMvY29uZmlnLyR7a2V5fWApXG4gICAgICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhID8gU2tVdGlscy5kZWNvZGVCYXNlNjQocmVzdWx0LmRhdGEudmFsdWUsIG51bGxWYWx1ZSkgOiBudWxsVmFsdWUpKTtcbiAgICB9XG5cbiAgICBzZXRDb25maWcoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSwgbnVsbFZhbHVlOiBhbnkgPSBbXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9jb25maWcvJHtrZXl9YCwge3ZhbHVlOiBTa1V0aWxzLmVuY29kZUJhc2U2NChkYXRhKX0pXG4gICAgICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhID8gU2tVdGlscy5kZWNvZGVCYXNlNjQocmVzdWx0LmRhdGEudmFsdWUsIG51bGxWYWx1ZSkgOiBudWxsVmFsdWUpKTtcbiAgICB9XG5cbiAgICBnZXRCYW5rTGlzdCgpOiBPYnNlcnZhYmxlPFNrQmFua1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa0JhbmtbXT4oJy9hcGkvcHVibGljL2JhbmstbGlzdCcpXG4gICAgICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhIHx8IFtdKSlcbiAgICB9XG59XG4iXX0=
@@ -1,40 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { ApiPageableParam, SkApiService } from 'sk-front-lib/api';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "sk-front-lib/api";
6
- export class SkContactService {
7
- constructor(_apiService) {
8
- this._apiService = _apiService;
9
- }
10
- writeContact(data) {
11
- return this._apiService.post(`/api/public/contacts`, data)
12
- .pipe(map(response => response.data));
13
- }
14
- getContacts(params = new ApiPageableParam()) {
15
- return this._apiService.getPageable(`/api/admin/contacts`, params.buildHttpParams())
16
- .pipe(map(response => response.data));
17
- }
18
- getContact(id) {
19
- return this._apiService.get(`/api/admin/contacts/${id}`)
20
- .pipe(map(response => response.data));
21
- }
22
- writeAnswerAdmin(id, data) {
23
- return this._apiService.post(`/api/admin/contacts/${id}/answer`, data)
24
- .pipe(map(response => response.data));
25
- }
26
- closeContact(id) {
27
- return this._apiService.put(`/api/admin/contacts/${id}/close`, null)
28
- .pipe(map(response => response.data));
29
- }
30
- }
31
- SkContactService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkContactService_Factory() { return new SkContactService(i0.ɵɵinject(i1.SkApiService)); }, token: SkContactService, providedIn: "root" });
32
- SkContactService.decorators = [
33
- { type: Injectable, args: [{
34
- providedIn: 'root'
35
- },] }
36
- ];
37
- SkContactService.ctorParameters = () => [
38
- { type: SkApiService }
39
- ];
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY29udGFjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLWNvbnRhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7OztBQU1oRSxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBRTdDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQzthQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUEyQixJQUFJLGdCQUFnQixFQUFFO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBYSx1QkFBdUIsRUFBRSxFQUFFLENBQUM7YUFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFVLEVBQUUsSUFBUztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUM7YUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUM7YUFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7WUFoQ0osVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFMeUIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QXBpUGFnZWFibGVQYXJhbSwgU2tBcGlTZXJ2aWNlfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7SVNrQ29udGFjdH0gZnJvbSAnc2stZnJvbnQtbGliL21vZGVsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0NvbnRhY3RTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwaVNlcnZpY2U6IFNrQXBpU2VydmljZSkge1xuXG4gICAgfVxuXG4gICAgd3JpdGVDb250YWN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoYC9hcGkvcHVibGljL2NvbnRhY3RzYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgZ2V0Q29udGFjdHMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlKGAvYXBpL2FkbWluL2NvbnRhY3RzYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKTtcbiAgICB9XG5cbiAgICBnZXRDb250YWN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa0NvbnRhY3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa0NvbnRhY3Q+KGAvYXBpL2FkbWluL2NvbnRhY3RzLyR7aWR9YClcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgd3JpdGVBbnN3ZXJBZG1pbihpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0KGAvYXBpL2FkbWluL2NvbnRhY3RzLyR7aWR9L2Fuc3dlcmAsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSkpO1xuICAgIH1cblxuICAgIGNsb3NlQ29udGFjdChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL2FkbWluL2NvbnRhY3RzLyR7aWR9L2Nsb3NlYCwgbnVsbClcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,63 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { ApiPageableParam, SkApiService } from 'sk-front-lib/api';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "sk-front-lib/api";
6
- export class SkCouponService {
7
- constructor(_apiService) {
8
- this._apiService = _apiService;
9
- }
10
- getCoupon(code) {
11
- return this._apiService.get(`/api/public/coupons/${code}`).pipe(map(response => response.data));
12
- }
13
- getAdminCoupon(id) {
14
- return this._apiService.get(`/api/admin/coupons/${id}`).pipe(map(response => response.data));
15
- }
16
- getCoupons(params = new ApiPageableParam()) {
17
- return this._apiService.getPageable(`/api/public/coupons`, params.buildHttpParams()).pipe(map(response => response.data));
18
- }
19
- getCouponTickets(id) {
20
- return this._apiService.get(`/api/admin/coupons/${id}/list`).pipe(map(response => response.data || []));
21
- }
22
- getAdminCoupons(params = new ApiPageableParam()) {
23
- return this._apiService.getPageable(`/api/admin/coupons`, params.buildHttpParams()).pipe(map(response => response.data));
24
- }
25
- getCouponsArray(ids) {
26
- return this._apiService.get(`/api/public/coupons/array/${ids.join(',')}`).pipe(map(response => response.data));
27
- }
28
- getAdminCouponsArray(ids) {
29
- return this._apiService.get(`/api/admin/coupons/array/${ids.join(',')}`).pipe(map(response => response.data));
30
- }
31
- createAdminCoupon(data) {
32
- return this._apiService.post(`/api/admin/coupons`, data).pipe(map(response => response.data));
33
- }
34
- updateAdminCoupon(id, data) {
35
- return this._apiService.put(`/api/admin/coupons/${id}`, data).pipe(map(response => response.data));
36
- }
37
- updateAdminCouponTrigger(id, data) {
38
- return this._apiService.put(`/api/admin/coupons/${id}/trigger`, data).pipe(map(response => response.data));
39
- }
40
- activateAdminCoupons(coupons) {
41
- return this._apiService.put(`/api/admin/coupons/activate/${coupons.map(coupon => coupon.id).join(',')}`, null);
42
- }
43
- deactivateAdminCoupons(coupons) {
44
- return this._apiService.put(`/api/admin/coupons/deactivate/${coupons.map(coupon => coupon.id).join(',')}`, null);
45
- }
46
- deleteAdminCoupons(coupons) {
47
- return this._apiService.delete(`/api/admin/coupons/delete/${coupons.map(coupon => coupon.id).join(',')}`);
48
- }
49
- getAdminCouponsCount() {
50
- return this._apiService.get('/api/admin/coupons/count')
51
- .pipe(map(response => response.data));
52
- }
53
- }
54
- SkCouponService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkCouponService_Factory() { return new SkCouponService(i0.ɵɵinject(i1.SkApiService)); }, token: SkCouponService, providedIn: "root" });
55
- SkCouponService.decorators = [
56
- { type: Injectable, args: [{
57
- providedIn: 'root'
58
- },] }
59
- ];
60
- SkCouponService.ctorParameters = () => [
61
- { type: SkApiService }
62
- ];
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY291cG9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvY3J1ZC9zcmMvc2stY291cG9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFjLGdCQUFnQixFQUFFLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7QUFNN0UsTUFBTSxPQUFPLGVBQWU7SUFFeEIsWUFBb0IsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFFN0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtCLHVCQUF1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFVO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtCLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDekUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUEyQixJQUFJLGdCQUFnQixFQUFFO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQW9CLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDeEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FB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QyxNQUFNLENBQUMsNkJBQTZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWlCLDBCQUEwQixDQUFDO2FBQ2xFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7O1lBcEZKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBTHNDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBcGlQYWdlYWJsZSwgQXBpUGFnZWFibGVQYXJhbSwgU2tBcGlTZXJ2aWNlfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7SVNrQ291cG9uQ291bnQsIElTa0NvdXBvbkRldGFpbCwgSVNrQ291cG9uTGlzdEl0ZW0sIElTa0NvdXBvblRpY2tldCwgSVNrQ291cG9uVHJpZ2dlclVwZGF0ZX0gZnJvbSAnc2stZnJvbnQtbGliL21vZGVsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0NvdXBvblNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlKSB7XG5cbiAgICB9XG5cbiAgICBnZXRDb3Vwb24oY29kZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJU2tDb3Vwb25EZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa0NvdXBvbkRldGFpbD4oYC9hcGkvcHVibGljL2NvdXBvbnMvJHtjb2RlfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbkNvdXBvbihpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tDb3Vwb25EZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa0NvdXBvbkRldGFpbD4oYC9hcGkvYWRtaW4vY291cG9ucy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRDb3Vwb25zKHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPEFwaVBhZ2VhYmxlPElTa0NvdXBvbkxpc3RJdGVtPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxJU2tDb3Vwb25MaXN0SXRlbT4oYC9hcGkvcHVibGljL2NvdXBvbnNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRDb3Vwb25UaWNrZXRzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa0NvdXBvblRpY2tldFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tDb3Vwb25UaWNrZXRbXT4oYC9hcGkvYWRtaW4vY291cG9ucy8ke2lkfS9saXN0YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhIHx8IFtdKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluQ291cG9ucyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxJU2tDb3Vwb25MaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8SVNrQ291cG9uTGlzdEl0ZW0+KGAvYXBpL2FkbWluL2NvdXBvbnNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRDb3Vwb25zQXJyYXkoaWRzOiBudW1iZXJbXSk6IE9ic2VydmFibGU8SVNrQ291cG9uTGlzdEl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrQ291cG9uTGlzdEl0ZW1bXT4oYC9hcGkvcHVibGljL2NvdXBvbnMvYXJyYXkvJHtpZHMuam9pbignLCcpfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbkNvdXBvbnNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxJU2tDb3Vwb25MaXN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tDb3Vwb25MaXN0SXRlbVtdPihgL2FwaS9hZG1pbi9jb3Vwb25zL2FycmF5LyR7aWRzLmpvaW4oJywnKX1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5Db3Vwb24oZGF0YTogYW55KTogT2JzZXJ2YWJsZTxJU2tDb3Vwb25EZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxJU2tDb3Vwb25EZXRhaWw+KGAvYXBpL2FkbWluL2NvdXBvbnNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Db3Vwb24oaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxJU2tDb3Vwb25EZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PElTa0NvdXBvbkRldGFpbD4oYC9hcGkvYWRtaW4vY291cG9ucy8ke2lkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkNvdXBvblRyaWdnZXIoaWQ6IG51bWJlciwgZGF0YTogSVNrQ291cG9uVHJpZ2dlclVwZGF0ZSk6IE9ic2VydmFibGU8SVNrQ291cG9uRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tDb3Vwb25EZXRhaWw+KGAvYXBpL2FkbWluL2NvdXBvbnMvJHtpZH0vdHJpZ2dlcmAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhY3RpdmF0ZUFkbWluQ291cG9ucyhjb3Vwb25zOiBJU2tDb3Vwb25MaXN0SXRlbVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL2FkbWluL2NvdXBvbnMvYWN0aXZhdGUvJHtjb3Vwb25zLm1hcChjb3Vwb24gPT4gY291cG9uLmlkKS5qb2luKCcsJyl9YCwgbnVsbCk7XG4gICAgfVxuXG4gICAgZGVhY3RpdmF0ZUFkbWluQ291cG9ucyhjb3Vwb25zOiBJU2tDb3Vwb25MaXN0SXRlbVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL2FkbWluL2NvdXBvbnMvZGVhY3RpdmF0ZS8ke2NvdXBvbnMubWFwKGNvdXBvbiA9PiBjb3Vwb24uaWQpLmpvaW4oJywnKX1gLCBudWxsKTtcbiAgICB9XG5cbiAgICBkZWxldGVBZG1pbkNvdXBvbnMoY291cG9uczogSVNrQ291cG9uTGlzdEl0ZW1bXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZShgL2FwaS9hZG1pbi9jb3Vwb25zL2RlbGV0ZS8ke2NvdXBvbnMubWFwKGNvdXBvbiA9PiBjb3Vwb24uaWQpLmpvaW4oJywnKX1gKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbkNvdXBvbnNDb3VudCgpOiBPYnNlcnZhYmxlPElTa0NvdXBvbkNvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tDb3Vwb25Db3VudD4oJy9hcGkvYWRtaW4vY291cG9ucy9jb3VudCcpXG4gICAgICAgICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSkpO1xuICAgIH1cblxufVxuIl19