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
@@ -0,0 +1,39 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { ApiPageableParam } 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.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkContactService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
32
+ SkContactService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkContactService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkContactService, decorators: [{
34
+ type: Injectable,
35
+ args: [{
36
+ providedIn: 'root'
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY29udGFjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLWNvbnRhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBTWhFLE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsWUFBb0IsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFFN0MsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDO2FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCLElBQUksZ0JBQWdCLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDL0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFhLHVCQUF1QixFQUFFLEVBQUUsQ0FBQzthQUMvRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVUsRUFBRSxJQUFTO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQzthQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQzthQUMvRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7NkdBN0JRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2V9IGZyb20gJ3NrLWZyb250LWxpYi9hcGknO1xuaW1wb3J0IHtJU2tDb250YWN0fSBmcm9tICdzay1mcm9udC1saWIvbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrQ29udGFjdFNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlKSB7XG5cbiAgICB9XG5cbiAgICB3cml0ZUNvbnRhY3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdChgL2FwaS9wdWJsaWMvY29udGFjdHNgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKTtcbiAgICB9XG5cbiAgICBnZXRDb250YWN0cyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGUoYC9hcGkvYWRtaW4vY29udGFjdHNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpXG4gICAgICAgICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSkpO1xuICAgIH1cblxuICAgIGdldENvbnRhY3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SVNrQ29udGFjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrQ29udGFjdD4oYC9hcGkvYWRtaW4vY29udGFjdHMvJHtpZH1gKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKTtcbiAgICB9XG5cbiAgICB3cml0ZUFuc3dlckFkbWluKGlkOiBudW1iZXIsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoYC9hcGkvYWRtaW4vY29udGFjdHMvJHtpZH0vYW5zd2VyYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgY2xvc2VDb250YWN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQoYC9hcGkvYWRtaW4vY29udGFjdHMvJHtpZH0vY2xvc2VgLCBudWxsKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { ApiPageableParam } 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.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkCouponService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ SkCouponService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkCouponService, providedIn: 'root' });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkCouponService, decorators: [{
57
+ type: Injectable,
58
+ args: [{
59
+ providedIn: 'root'
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY291cG9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvY3J1ZC9zcmMvc2stY291cG9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFjLGdCQUFnQixFQUFlLE1BQU0sa0JBQWtCLENBQUM7OztBQU03RSxNQUFNLE9BQU8sZUFBZTtJQUV4QixZQUFvQixXQUF5QjtRQUF6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUU3QyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBa0IsdUJBQXVCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUM1RSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBa0Isc0JBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN6RSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQTJCLElBQUksZ0JBQWdCLEVBQUU7UUFDeEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBb0IscUJBQXFCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4RyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENB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Qyw2QkFBNkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBaUIsMEJBQTBCLENBQUM7YUFDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7OzRHQWpGUSxlQUFlO2dIQUFmLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QXBpUGFnZWFibGUsIEFwaVBhZ2VhYmxlUGFyYW0sIFNrQXBpU2VydmljZX0gZnJvbSAnc2stZnJvbnQtbGliL2FwaSc7XG5pbXBvcnQge0lTa0NvdXBvbkNvdW50LCBJU2tDb3Vwb25EZXRhaWwsIElTa0NvdXBvbkxpc3RJdGVtLCBJU2tDb3Vwb25UaWNrZXQsIElTa0NvdXBvblRyaWdnZXJVcGRhdGV9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tDb3Vwb25TZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwaVNlcnZpY2U6IFNrQXBpU2VydmljZSkge1xuXG4gICAgfVxuXG4gICAgZ2V0Q291cG9uKGNvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8SVNrQ291cG9uRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tDb3Vwb25EZXRhaWw+KGAvYXBpL3B1YmxpYy9jb3Vwb25zLyR7Y29kZX1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Db3Vwb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SVNrQ291cG9uRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tDb3Vwb25EZXRhaWw+KGAvYXBpL2FkbWluL2NvdXBvbnMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0Q291cG9ucyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxJU2tDb3Vwb25MaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8SVNrQ291cG9uTGlzdEl0ZW0+KGAvYXBpL3B1YmxpYy9jb3Vwb25zYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0Q291cG9uVGlja2V0cyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tDb3Vwb25UaWNrZXRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrQ291cG9uVGlja2V0W10+KGAvYXBpL2FkbWluL2NvdXBvbnMvJHtpZH0vbGlzdGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbkNvdXBvbnMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8SVNrQ291cG9uTGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPElTa0NvdXBvbkxpc3RJdGVtPihgL2FwaS9hZG1pbi9jb3Vwb25zYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0Q291cG9uc0FycmF5KGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPElTa0NvdXBvbkxpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa0NvdXBvbkxpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9jb3Vwb25zL2FycmF5LyR7aWRzLmpvaW4oJywnKX1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Db3Vwb25zQXJyYXkoaWRzOiBudW1iZXJbXSk6IE9ic2VydmFibGU8SVNrQ291cG9uTGlzdEl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrQ291cG9uTGlzdEl0ZW1bXT4oYC9hcGkvYWRtaW4vY291cG9ucy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluQ291cG9uKGRhdGE6IGFueSk6IE9ic2VydmFibGU8SVNrQ291cG9uRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrQ291cG9uRGV0YWlsPihgL2FwaS9hZG1pbi9jb3Vwb25zYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluQ291cG9uKGlkOiBudW1iZXIsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8SVNrQ291cG9uRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tDb3Vwb25EZXRhaWw+KGAvYXBpL2FkbWluL2NvdXBvbnMvJHtpZH1gLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Db3Vwb25UcmlnZ2VyKGlkOiBudW1iZXIsIGRhdGE6IElTa0NvdXBvblRyaWdnZXJVcGRhdGUpOiBPYnNlcnZhYmxlPElTa0NvdXBvbkRldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8SVNrQ291cG9uRGV0YWlsPihgL2FwaS9hZG1pbi9jb3Vwb25zLyR7aWR9L3RyaWdnZXJgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYWN0aXZhdGVBZG1pbkNvdXBvbnMoY291cG9uczogSVNrQ291cG9uTGlzdEl0ZW1bXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dChgL2FwaS9hZG1pbi9jb3Vwb25zL2FjdGl2YXRlLyR7Y291cG9ucy5tYXAoY291cG9uID0+IGNvdXBvbi5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlYWN0aXZhdGVBZG1pbkNvdXBvbnMoY291cG9uczogSVNrQ291cG9uTGlzdEl0ZW1bXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dChgL2FwaS9hZG1pbi9jb3Vwb25zL2RlYWN0aXZhdGUvJHtjb3Vwb25zLm1hcChjb3Vwb24gPT4gY291cG9uLmlkKS5qb2luKCcsJyl9YCwgbnVsbCk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5Db3Vwb25zKGNvdXBvbnM6IElTa0NvdXBvbkxpc3RJdGVtW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGUoYC9hcGkvYWRtaW4vY291cG9ucy9kZWxldGUvJHtjb3Vwb25zLm1hcChjb3Vwb24gPT4gY291cG9uLmlkKS5qb2luKCcsJyl9YCk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Db3Vwb25zQ291bnQoKTogT2JzZXJ2YWJsZTxJU2tDb3Vwb25Db3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrQ291cG9uQ291bnQ+KCcvYXBpL2FkbWluL2NvdXBvbnMvY291bnQnKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,95 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { ApiPageableParam } from 'sk-front-lib/api';
4
+ import { SkDocument } from 'sk-front-lib/model';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "sk-front-lib/api";
7
+ export class SkDocumentService {
8
+ constructor(_apiService) {
9
+ this._apiService = _apiService;
10
+ }
11
+ getDocument(id) {
12
+ return this._apiService.get(`/api/public/documents/${id}`).pipe(map(response => new SkDocument(response.data)));
13
+ }
14
+ getDocumentByUrl(url) {
15
+ return this._apiService.get(`/api/public/documents/url/${url}`).pipe(map(response => new SkDocument(response.data)));
16
+ }
17
+ getAdminDocument(id) {
18
+ return this._apiService.get(`/api/admin/documents/${id}`).pipe(map(response => new SkDocument(response.data)));
19
+ }
20
+ getDocumentProduct(id) {
21
+ return this._apiService.get(`/api/public/documents/${id}/product`).pipe(map(response => response.data));
22
+ }
23
+ getAdminDocumentProduct(id) {
24
+ return this._apiService.get(`/api/admin/documents/${id}/product`).pipe(map(response => response.data));
25
+ }
26
+ getDocuments(params = new ApiPageableParam()) {
27
+ return this._apiService.getPageable(`/api/public/documents`, params.buildHttpParams()).pipe(map(response => response.data));
28
+ }
29
+ getAdminDocuments(params = new ApiPageableParam()) {
30
+ return this._apiService.getPageable(`/api/admin/documents`, params.buildHttpParams()).pipe(map(response => response.data));
31
+ }
32
+ getDocumentsArray(ids) {
33
+ return this._apiService.get(`/api/public/documents/array/${ids.join(',')}`).pipe(map(response => response.data));
34
+ }
35
+ getAdminDocumentsArray(ids) {
36
+ return this._apiService.get(`/api/admin/documents/array/${ids.join(',')}`).pipe(map(response => response.data));
37
+ }
38
+ createAdminDocument(data) {
39
+ return this._apiService.post(`/api/admin/documents`, data).pipe(map(response => new SkDocument(response.data)));
40
+ }
41
+ writePost(data) {
42
+ return this._apiService.post(`/api/public/documents`, data).pipe(map(response => response.data));
43
+ }
44
+ deletePost(id) {
45
+ return this._apiService.delete(`/api/public/documents/${id}`).pipe(map(response => response.data));
46
+ }
47
+ updateDocument(id, data) {
48
+ return this._apiService.put(`/api/public/documents/${id}`, data).pipe(map(response => new SkDocument(response.data)));
49
+ }
50
+ updateAdminDocument(id, data) {
51
+ return this._apiService.put(`/api/admin/documents/${id}`, data).pipe(map(response => new SkDocument(response.data)));
52
+ }
53
+ updateAdminDocumentArticle(id, data) {
54
+ return this._apiService.put(`/api/admin/documents/${id}/article`, data).pipe(map(response => new SkDocument(response.data)));
55
+ }
56
+ updateAdminDocumentImage(id, data) {
57
+ return this._apiService.put(`/api/admin/documents/${id}/image`, data).pipe(map(response => new SkDocument(response.data)));
58
+ }
59
+ updateAdminDocumentProduct(id, data) {
60
+ return this._apiService.put(`/api/admin/documents/${id}/product`, data).pipe(map(response => response.data));
61
+ }
62
+ updateAdminDocumentOpengraph(id, data) {
63
+ return this._apiService.put(`/api/admin/documents/${id}/opengraph`, data).pipe(map(response => new SkDocument(response.data)));
64
+ }
65
+ activateAdminDocuments(documents) {
66
+ return this._apiService.put(`/api/admin/documents/activate/${documents.map(document => document.id).join(',')}`, null);
67
+ }
68
+ deactivateAdminDocuments(documents) {
69
+ return this._apiService.put(`/api/admin/documents/deactivate/${documents.map(document => document.id).join(',')}`, null);
70
+ }
71
+ deleteAdminDocuments(documents) {
72
+ return this._apiService.delete(`/api/admin/documents/delete/${documents.map(document => document.id).join(',')}`);
73
+ }
74
+ getAdminDocumentsCount() {
75
+ return this._apiService.get('/api/admin/documents/count')
76
+ .pipe(map(response => response.data));
77
+ }
78
+ getNextDocumentId(id) {
79
+ return this._apiService.get(`/api/public/documents/${id}/next`)
80
+ .pipe(map(response => response.data));
81
+ }
82
+ getPrevDocumentId(id) {
83
+ return this._apiService.get(`/api/public/documents/${id}/prev`)
84
+ .pipe(map(response => response.data));
85
+ }
86
+ }
87
+ SkDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkDocumentService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
88
+ SkDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkDocumentService, providedIn: 'root' });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkDocumentService, decorators: [{
90
+ type: Injectable,
91
+ args: [{
92
+ providedIn: 'root'
93
+ }]
94
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stZG9jdW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9jcnVkL3NyYy9zay1kb2N1bWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBYyxnQkFBZ0IsRUFBZSxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBd0QsVUFBVSxFQUFxQyxNQUFNLG9CQUFvQixDQUFDOzs7QUFNekksTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixZQUFvQixXQUF5QjtRQUF6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUU3QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBYSx5QkFBeUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3ZFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVc7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBYSw2QkFBNkIsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzVFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBYSx3QkFBd0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3RF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QkFBc0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBa0IsNEJBQTRCLENBQUM7YUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQXFCLHlCQUF5QixFQUFFLE9BQU8sQ0FBQzthQUM5RSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVU7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBcUIseUJBQXlCLEVBQUUsT0FBTyxDQUFDO2FBQzlFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs4R0EzSVEsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBcGlQYWdlYWJsZSwgQXBpUGFnZWFibGVQYXJhbSwgU2tBcGlTZXJ2aWNlfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7SVNrQXJ0aWNsZSwgSVNrRG9jdW1lbnRQdWJsaWNMaXN0LCBJU2tEb2N1bWVudFNpYmxpbmcsIFNrRG9jdW1lbnQsIFNrRG9jdW1lbnRDb3VudCwgU2tQcm9kdWN0TGlzdEl0ZW19IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0RvY3VtZW50U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGdldERvY3VtZW50KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrRG9jdW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrRG9jdW1lbnQ+KGAvYXBpL3B1YmxpYy9kb2N1bWVudHMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa0RvY3VtZW50KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldERvY3VtZW50QnlVcmwodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNrRG9jdW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrRG9jdW1lbnQ+KGAvYXBpL3B1YmxpYy9kb2N1bWVudHMvdXJsLyR7dXJsfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrRG9jdW1lbnQocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Eb2N1bWVudChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa0RvY3VtZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa0RvY3VtZW50PihgL2FwaS9hZG1pbi9kb2N1bWVudHMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa0RvY3VtZW50KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldERvY3VtZW50UHJvZHVjdChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RMaXN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RMaXN0SXRlbVtdPihgL2FwaS9wdWJsaWMvZG9jdW1lbnRzLyR7aWR9L3Byb2R1Y3RgKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Eb2N1bWVudFByb2R1Y3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tQcm9kdWN0TGlzdEl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0TGlzdEl0ZW1bXT4oYC9hcGkvYWRtaW4vZG9jdW1lbnRzLyR7aWR9L3Byb2R1Y3RgKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0RG9jdW1lbnRzKHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPEFwaVBhZ2VhYmxlPFNrRG9jdW1lbnQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrRG9jdW1lbnQ+KGAvYXBpL3B1YmxpYy9kb2N1bWVudHNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbkRvY3VtZW50cyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxTa0RvY3VtZW50Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa0RvY3VtZW50PihgL2FwaS9hZG1pbi9kb2N1bWVudHNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXREb2N1bWVudHNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa0RvY3VtZW50W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrRG9jdW1lbnRbXT4oYC9hcGkvcHVibGljL2RvY3VtZW50cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluRG9jdW1lbnRzQXJyYXkoaWRzOiBudW1iZXJbXSk6IE9ic2VydmFibGU8U2tEb2N1bWVudFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa0RvY3VtZW50W10+KGAvYXBpL2FkbWluL2RvY3VtZW50cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluRG9jdW1lbnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa0RvY3VtZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tEb2N1bWVudD4oYC9hcGkvYWRtaW4vZG9jdW1lbnRzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tEb2N1bWVudChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB3cml0ZVBvc3QoZGF0YTogeyB0aXRsZTogc3RyaW5nLCBjb250ZW50OiBJU2tBcnRpY2xlLCBib2FyZElkOiBudW1iZXIgfSk6IE9ic2VydmFibGU8SVNrRG9jdW1lbnRQdWJsaWNMaXN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrRG9jdW1lbnRQdWJsaWNMaXN0PihgL2FwaS9wdWJsaWMvZG9jdW1lbnRzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZVBvc3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SVNrRG9jdW1lbnRQdWJsaWNMaXN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZTxhbnk+KGAvYXBpL3B1YmxpYy9kb2N1bWVudHMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlRG9jdW1lbnQoaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa0RvY3VtZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa0RvY3VtZW50PihgL2FwaS9wdWJsaWMvZG9jdW1lbnRzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tEb2N1bWVudChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkRvY3VtZW50KGlkOiBudW1iZXIsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8U2tEb2N1bWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tEb2N1bWVudD4oYC9hcGkvYWRtaW4vZG9jdW1lbnRzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tEb2N1bWVudChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkRvY3VtZW50QXJ0aWNsZShpZDogbnVtYmVyLCBkYXRhOiB7IGNvbnRlbnQ6IHN0cmluZywgaW1hZ2VzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa0RvY3VtZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa0RvY3VtZW50PihgL2FwaS9hZG1pbi9kb2N1bWVudHMvJHtpZH0vYXJ0aWNsZWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrRG9jdW1lbnQocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Eb2N1bWVudEltYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgaW1hZ2U/OiBudW1iZXIsIGltYWdlQWx0PzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPFNrRG9jdW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrRG9jdW1lbnQ+KGAvYXBpL2FkbWluL2RvY3VtZW50cy8ke2lkfS9pbWFnZWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrRG9jdW1lbnQocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Eb2N1bWVudFByb2R1Y3QoaWQ6IG51bWJlciwgZGF0YTogeyBsaW5rZWRQcm9kdWN0czogbnVtYmVyW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0TGlzdEl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0TGlzdEl0ZW1bXT4oYC9hcGkvYWRtaW4vZG9jdW1lbnRzLyR7aWR9L3Byb2R1Y3RgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Eb2N1bWVudE9wZW5ncmFwaChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrRG9jdW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrRG9jdW1lbnQ+KGAvYXBpL2FkbWluL2RvY3VtZW50cy8ke2lkfS9vcGVuZ3JhcGhgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa0RvY3VtZW50KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFjdGl2YXRlQWRtaW5Eb2N1bWVudHMoZG9jdW1lbnRzOiBTa0RvY3VtZW50W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQoYC9hcGkvYWRtaW4vZG9jdW1lbnRzL2FjdGl2YXRlLyR7ZG9jdW1lbnRzLm1hcChkb2N1bWVudCA9PiBkb2N1bWVudC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlYWN0aXZhdGVBZG1pbkRvY3VtZW50cyhkb2N1bWVudHM6IFNrRG9jdW1lbnRbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dChgL2FwaS9hZG1pbi9kb2N1bWVudHMvZGVhY3RpdmF0ZS8ke2RvY3VtZW50cy5tYXAoZG9jdW1lbnQgPT4gZG9jdW1lbnQuaWQpLmpvaW4oJywnKX1gLCBudWxsKTtcbiAgICB9XG5cbiAgICBkZWxldGVBZG1pbkRvY3VtZW50cyhkb2N1bWVudHM6IFNrRG9jdW1lbnRbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZShgL2FwaS9hZG1pbi9kb2N1bWVudHMvZGVsZXRlLyR7ZG9jdW1lbnRzLm1hcChkb2N1bWVudCA9PiBkb2N1bWVudC5pZCkuam9pbignLCcpfWApO1xuICAgIH1cblxuICAgIGdldEFkbWluRG9jdW1lbnRzQ291bnQoKTogT2JzZXJ2YWJsZTxTa0RvY3VtZW50Q291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrRG9jdW1lbnRDb3VudD4oJy9hcGkvYWRtaW4vZG9jdW1lbnRzL2NvdW50JylcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgZ2V0TmV4dERvY3VtZW50SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SVNrRG9jdW1lbnRTaWJsaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tEb2N1bWVudFNpYmxpbmc+KGAvYXBpL3B1YmxpYy9kb2N1bWVudHMvJHtpZH0vbmV4dGApXG4gICAgICAgICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSkpO1xuICAgIH1cblxuICAgIGdldFByZXZEb2N1bWVudElkKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa0RvY3VtZW50U2libGluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrRG9jdW1lbnRTaWJsaW5nPihgL2FwaS9wdWJsaWMvZG9jdW1lbnRzLyR7aWR9L3ByZXZgKVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpKTtcbiAgICB9XG5cblxufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "sk-front-lib/api";
6
+ export class SkEtcService {
7
+ constructor(_apiService) {
8
+ this._apiService = _apiService;
9
+ }
10
+ sendTestEmail(key, params) {
11
+ return this._apiService.get(`/api/admin/notifications/email/${key}`, params).pipe(map(response => response.data));
12
+ }
13
+ sendTestSms(key, to) {
14
+ return this._apiService.get(`/api/admin/notifications/sms/${key}`, new HttpParams().append('to', to)).pipe(map(response => response.data));
15
+ }
16
+ }
17
+ SkEtcService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkEtcService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ SkEtcService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkEtcService, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkEtcService, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root'
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stZXRjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvY3J1ZC9zcmMvc2stZXRjLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFNbkMsTUFBTSxPQUFPLFlBQVk7SUFFckIsWUFBb0IsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFDN0MsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFXLEVBQUUsTUFBbUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBTSxrQ0FBa0MsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNsRixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVcsRUFBRSxFQUFVO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQU0sZ0NBQWdDLEdBQUcsRUFBRSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0csR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQzs7eUdBZlEsWUFBWTs2R0FBWixZQUFZLGNBRlQsTUFBTTsyRkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTa0FwaVNlcnZpY2V9IGZyb20gJ3NrLWZyb250LWxpYi9hcGknO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrRXRjU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBzZW5kVGVzdEVtYWlsKGtleTogc3RyaW5nLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PGFueT4oYC9hcGkvYWRtaW4vbm90aWZpY2F0aW9ucy9lbWFpbC8ke2tleX1gLCBwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzZW5kVGVzdFNtcyhrZXk6IHN0cmluZywgdG86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxhbnk+KGAvYXBpL2FkbWluL25vdGlmaWNhdGlvbnMvc21zLyR7a2V5fWAsIG5ldyBIdHRwUGFyYW1zKCkuYXBwZW5kKCd0bycsIHRvKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { ApiPageableParam } from 'sk-front-lib/api';
4
+ import { SkFile } from 'sk-front-lib/model';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "sk-front-lib/api";
7
+ export class SkFileService {
8
+ constructor(_apiService) {
9
+ this._apiService = _apiService;
10
+ this.apiServer = _apiService.apiServer;
11
+ }
12
+ getFile(id) {
13
+ return this._apiService.get(`/api/admin/files/${id}`)
14
+ .pipe(map(result => new SkFile(result.data)));
15
+ }
16
+ getAdminFiles(params = new ApiPageableParam()) {
17
+ return this._apiService.getPageable(`/api/admin/files`, params.buildHttpParams()).pipe(map(response => {
18
+ response.data.content = (response.data.content || []).map(item => new SkFile(item));
19
+ return response.data;
20
+ }));
21
+ }
22
+ deleteAdminFile(id) {
23
+ return this._apiService.delete(`/api/admin/files/${id}`);
24
+ }
25
+ updateAdminFile(id, data) {
26
+ return this._apiService.put(`/api/admin/files/${id}`, data).pipe(map(result => new SkFile(result.data)));
27
+ }
28
+ }
29
+ SkFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkFileService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ SkFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkFileService, providedIn: 'root' });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkFileService, decorators: [{
32
+ type: Injectable,
33
+ args: [{
34
+ providedIn: 'root'
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLWZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQWMsZ0JBQWdCLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7OztBQUsxQyxNQUFNLE9BQU8sYUFBYTtJQUl0QixZQUFvQixXQUF5QjtRQUF6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDM0MsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBUyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7YUFDeEQsSUFBSSxDQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6QyxDQUFDO0lBQ1YsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUEyQixJQUFJLGdCQUFnQixFQUFFO1FBQzNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQVMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUMxRixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDWCxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEYsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVU7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBTSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFnRDtRQUNoRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFTLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3BFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6QyxDQUFDO0lBQ04sQ0FBQzs7MEdBaENRLGFBQWE7OEdBQWIsYUFBYSxjQUZWLE1BQU07MkZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2V9IGZyb20gJ3NrLWZyb250LWxpYi9hcGknO1xuaW1wb3J0IHtTa0ZpbGV9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tGaWxlU2VydmljZSB7XG5cbiAgICBwdWJsaWMgYXBpU2VydmVyOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5hcGlTZXJ2ZXIgPSBfYXBpU2VydmljZS5hcGlTZXJ2ZXI7XG4gICAgfVxuXG4gICAgZ2V0RmlsZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa0ZpbGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrRmlsZT4oYC9hcGkvYWRtaW4vZmlsZXMvJHtpZH1gKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgU2tGaWxlKHJlc3VsdC5kYXRhKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5GaWxlcyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxTa0ZpbGU+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrRmlsZT4oYC9hcGkvYWRtaW4vZmlsZXNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEuY29udGVudCA9IChyZXNwb25zZS5kYXRhLmNvbnRlbnQgfHwgW10pLm1hcChpdGVtID0+IG5ldyBTa0ZpbGUoaXRlbSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVBZG1pbkZpbGUoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZTxhbnk+KGAvYXBpL2FkbWluL2ZpbGVzLyR7aWR9YCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5GaWxlKGlkLCBkYXRhOiB7IGlzUHJpdmF0ZT86IGJvb2xlYW4sIGlzVmFsaWQ/OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPFNrRmlsZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tGaWxlPihgL2FwaS9hZG1pbi9maWxlcy8ke2lkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IG5ldyBTa0ZpbGUocmVzdWx0LmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stZnJvbnQtbGliLWNydWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvY3J1ZC9zcmMvc2stZnJvbnQtbGliLWNydWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { ApiPageableParam } from 'sk-front-lib/api';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "sk-front-lib/api";
6
+ export class SkKeywordService {
7
+ constructor(_apiService) {
8
+ this._apiService = _apiService;
9
+ }
10
+ getKeyword(id) {
11
+ return this._apiService.get(`/api/public/keywords/${id}`).pipe(map(response => response.data));
12
+ }
13
+ getAdminKeyword(id) {
14
+ return this._apiService.get(`/api/admin/keywords/${id}`).pipe(map(response => response.data));
15
+ }
16
+ getKeywords(params = new ApiPageableParam()) {
17
+ return this._apiService.getPageable(`/api/public/keywords`, params.buildHttpParams()).pipe(map(response => response.data));
18
+ }
19
+ getAllKeywords(params = new ApiPageableParam()) {
20
+ return this._apiService.get(`/api/public/keywords/all`, params.buildHttpParams()).pipe(map(response => response.data));
21
+ }
22
+ getAdminKeywords(params = new ApiPageableParam()) {
23
+ return this._apiService.getPageable(`/api/admin/keywords`, params.buildHttpParams()).pipe(map(response => response.data));
24
+ }
25
+ getAdminAllKeywords() {
26
+ return this._apiService.get(`/api/admin/keywords/all`).pipe(map(response => response.data));
27
+ }
28
+ createAdminKeyword(data) {
29
+ return this._apiService.post(`/api/admin/keywords`, data).pipe(map(response => response.data));
30
+ }
31
+ updateAdminKeyword(id, data) {
32
+ return this._apiService.put(`/api/admin/keywords/${id}`, data).pipe(map(response => response.data));
33
+ }
34
+ deleteAdminKeywords(keywords) {
35
+ return this._apiService.delete(`/api/admin/keywords/delete/${keywords.map(keyword => keyword.id).join(',')}`);
36
+ }
37
+ }
38
+ SkKeywordService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkKeywordService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ SkKeywordService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkKeywordService, providedIn: 'root' });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkKeywordService, decorators: [{
41
+ type: Injectable,
42
+ args: [{
43
+ providedIn: 'root'
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2sta2V5d29yZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLWtleXdvcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQWMsZ0JBQWdCLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBTzdFLE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsWUFBb0IsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFFN0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQVksd0JBQXdCLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNyRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVU7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBWSx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3BFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsU0FBMkIsSUFBSSxnQkFBZ0IsRUFBRTtRQUN6RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFZLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDakcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUEyQixJQUFJLGdCQUFnQixFQUFFO1FBQzVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUMvRixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBMkIsSUFBSSxnQkFBZ0IsRUFBRTtRQUM5RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFZLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWMseUJBQXlCLENBQUMsQ0FBQyxJQUFJLENBQ3BFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFTO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQVkscUJBQXFCLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNyRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFBVSxFQUFFLElBQVM7UUFDcEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBWSx1QkFBdUIsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMxRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsbUJBQW1CLENBQUMsUUFBcUI7UUFDckMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILENBQUM7OzZHQXhEUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQUZiLE1BQU07MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0FwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2V9IGZyb20gJ3NrLWZyb250LWxpYi9hcGknO1xuaW1wb3J0IHtTa0tleXdvcmR9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0tleXdvcmRTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwaVNlcnZpY2U6IFNrQXBpU2VydmljZSkge1xuXG4gICAgfVxuXG4gICAgZ2V0S2V5d29yZChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa0tleXdvcmQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrS2V5d29yZD4oYC9hcGkvcHVibGljL2tleXdvcmRzLyR7aWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluS2V5d29yZChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa0tleXdvcmQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrS2V5d29yZD4oYC9hcGkvYWRtaW4va2V5d29yZHMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0S2V5d29yZHMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tLZXl3b3JkPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa0tleXdvcmQ+KGAvYXBpL3B1YmxpYy9rZXl3b3Jkc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFsbEtleXdvcmRzKHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPFNrS2V5d29yZFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa0tleXdvcmRbXT4oYC9hcGkvcHVibGljL2tleXdvcmRzL2FsbGAsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluS2V5d29yZHMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tLZXl3b3JkPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa0tleXdvcmQ+KGAvYXBpL2FkbWluL2tleXdvcmRzYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5BbGxLZXl3b3JkcygpOiBPYnNlcnZhYmxlPFNrS2V5d29yZFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa0tleXdvcmRbXT4oYC9hcGkvYWRtaW4va2V5d29yZHMvYWxsYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluS2V5d29yZChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrS2V5d29yZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrS2V5d29yZD4oYC9hcGkvYWRtaW4va2V5d29yZHNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5LZXl3b3JkKGlkOiBudW1iZXIsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8U2tLZXl3b3JkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa0tleXdvcmQ+KGAvYXBpL2FkbWluL2tleXdvcmRzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluS2V5d29yZHMoa2V5d29yZHM6IFNrS2V5d29yZFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL2tleXdvcmRzL2RlbGV0ZS8ke2tleXdvcmRzLm1hcChrZXl3b3JkID0+IGtleXdvcmQuaWQpLmpvaW4oJywnKX1gKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,133 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { map } from 'rxjs/operators';
4
+ import { ApiPageableParam } from 'sk-front-lib/api';
5
+ import { SkOrderDetail } from 'sk-front-lib/model';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "sk-front-lib/api";
8
+ export class SkOrderService {
9
+ constructor(_apiService) {
10
+ this._apiService = _apiService;
11
+ }
12
+ getAdminOrders(params = new ApiPageableParam()) {
13
+ return this._apiService.getPageable(`/api/admin/orders`, params.buildHttpParams())
14
+ .pipe(map(result => result.data));
15
+ }
16
+ getAdminOrdersCount() {
17
+ return this._apiService.get(`/api/admin/orders/count`)
18
+ .pipe(map(result => result.data));
19
+ }
20
+ getAdminOrder(id) {
21
+ return this._apiService.get(`/api/admin/orders/${id}`)
22
+ .pipe(map(result => new SkOrderDetail(result.data)));
23
+ }
24
+ getMyOrders() {
25
+ return this._apiService.get(`/api/public/orders/me`)
26
+ .pipe(map(result => result.data));
27
+ }
28
+ getMyLatestOrders() {
29
+ return this._apiService.get(`/api/public/orders/me/latest`)
30
+ .pipe(map(result => result.data));
31
+ }
32
+ getOrderDetail(id) {
33
+ return this._apiService.get(`/api/public/orders/${id}`)
34
+ .pipe(map(result => new SkOrderDetail(result.data)));
35
+ }
36
+ getOrderStatus(id) {
37
+ return this._apiService.get(`/api/public/orders/${id}/status`)
38
+ .pipe(map(result => result.data));
39
+ }
40
+ getOrderLogs(id) {
41
+ return this._apiService.get(`/api/admin/orders/${id}/logs`)
42
+ .pipe(map(result => result.data || []));
43
+ }
44
+ createAdminOrder(data) {
45
+ return this._apiService.post(`/api/admin/orders`, data)
46
+ .pipe(map(result => new SkOrderDetail(result.data)));
47
+ }
48
+ addOrderLog(id, message) {
49
+ return this._apiService.post(`/api/admin/orders/${id}/logs`, { message })
50
+ .pipe(map(result => result.data || []));
51
+ }
52
+ updateAdminOrderBaseInfo(id, data) {
53
+ return this._apiService.put(`/api/admin/orders/${id}/info`, data)
54
+ .pipe(map(result => result.data));
55
+ }
56
+ updateAdminConfirmTransferPayment(id) {
57
+ return this._apiService.put(`/api/admin/orders/${id}/confirm-payment/transfer`, null)
58
+ .pipe(map(result => result.data));
59
+ }
60
+ updateAdminCancel(id) {
61
+ return this._apiService.put(`/api/admin/orders/${id}/cancel`, {})
62
+ .pipe(map(result => result.data));
63
+ }
64
+ updateAdminCancelForce(id) {
65
+ return this._apiService.put(`/api/admin/orders/${id}/cancel/force`, {})
66
+ .pipe(map(result => result.data));
67
+ }
68
+ updateAdminProcessStart(id) {
69
+ return this._apiService.put(`/api/admin/orders/${id}/process-start`, {})
70
+ .pipe(map(result => result.data));
71
+ }
72
+ updateAdminComplete(id) {
73
+ return this._apiService.put(`/api/admin/orders/${id}/complete`, {})
74
+ .pipe(map(result => result.data));
75
+ }
76
+ updateAdminPayment(id, data) {
77
+ return this._apiService.put(`/api/admin/orders/${id}/update-payment`, data)
78
+ .pipe(map(result => result.data));
79
+ }
80
+ updateAdminShippingStatus(id, data) {
81
+ return this._apiService.put(`/api/admin/orders/${id}/update-shipping-status`, data)
82
+ .pipe(map(result => result.data));
83
+ }
84
+ deleteAdminOrders(orders) {
85
+ return this._apiService.delete(`/api/admin/orders/${orders.map(order => order.id).join(',')}`);
86
+ }
87
+ cancelOrder(id, data) {
88
+ return this._apiService.put(`/api/public/orders/${id}/cancel`, data)
89
+ .pipe(map(result => result.data));
90
+ }
91
+ startProgress(id, data) {
92
+ return this._apiService.put(`/api/public/orders/${id}/progress`, data)
93
+ .pipe(map(result => result.data));
94
+ }
95
+ moveToMyOrder(id) {
96
+ return this._apiService.put(`/api/public/orders/${id}/move`, {})
97
+ .pipe(map(result => result.data));
98
+ }
99
+ getAdminShippingFeeList() {
100
+ return this._apiService.get(`/api/admin/orders/shipping-fees`)
101
+ .pipe(map(result => result.data));
102
+ }
103
+ createAdminShippingFee(data) {
104
+ return this._apiService.post(`/api/admin/orders/shipping-fees`, data)
105
+ .pipe(map(result => result.data));
106
+ }
107
+ updateAdminShippingFee(id, data) {
108
+ return this._apiService.put(`/api/admin/orders/shipping-fees/${id}`, data)
109
+ .pipe(map(result => result.data));
110
+ }
111
+ deleteAdminShippingFee(id) {
112
+ return this._apiService.delete(`/api/admin/orders/shipping-fees/${id}`)
113
+ .pipe(map(result => result.data));
114
+ }
115
+ calculateShippingFee(id, method, zipCode) {
116
+ return this._apiService.get(`/api/public/orders/${id}/calculate-shipping-fee`, new HttpParams().append('method', method).append('zipCode', zipCode))
117
+ .pipe(map(result => result.data || 0));
118
+ }
119
+ validateCoupon(id, serials) {
120
+ return this._apiService.post(`/api/public/orders/${id}/check-coupon`, {
121
+ couponSerials: serials
122
+ }).pipe(map(result => result.data || { discountAmount: 0, couponData: [] }));
123
+ }
124
+ }
125
+ SkOrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkOrderService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
126
+ SkOrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkOrderService, providedIn: 'root' });
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkOrderService, decorators: [{
128
+ type: Injectable,
129
+ args: [{
130
+ providedIn: 'root'
131
+ }]
132
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stb3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9jcnVkL3NyYy9zay1vcmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQVFILGFBQWEsRUFHaEIsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSzVCLE1BQU0sT0FBTyxjQUFjO0lBRXZCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBMkIsSUFBSSxnQkFBZ0IsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUM3RSxJQUFJLENBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUM3QixDQUFDO0lBQ1YsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUM7YUFDakQsSUFBSSxDQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDN0IsQ0FBQztJQUNWLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFpQixxQkFBcUIsRUFBRSxFQUFFLENBQUM7YUFDakUsSUFB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QUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FDbEMsQ0FBQztJQUNWLENBQUM7SUFFRCxjQUFjLENBQUMsRUFBVSxFQUFFLE9BQWlCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQW9CLHNCQUFzQixFQUFFLGVBQWUsRUFBRTtZQUNyRixhQUFhLEVBQUUsT0FBTztTQUN6QixDQUFDLENBQUMsSUFBSSxDQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUNwRSxDQUFDO0lBQ04sQ0FBQzs7MkdBbk1RLGNBQWM7K0dBQWQsY0FBYyxjQUZYLE1BQU07MkZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7XG4gICAgSVNrT3JkZXJDb3VudCxcbiAgICBJU2tPcmRlckRldGFpbCxcbiAgICBJU2tPcmRlckxpc3QsXG4gICAgSVNrT3JkZXJMb2csXG4gICAgSVNrT3JkZXJSZXFQcm9ncmVzcyxcbiAgICBJU2tTaGlwcGluZ0ZlZSxcbiAgICBJU2tWYWxpZGF0ZUNvdXBvbiwgU2tPcmRlckNhbmNlbFR5cGUsXG4gICAgU2tPcmRlckRldGFpbCxcbiAgICBTa09yZGVyU3RhdHVzLFxuICAgIFNrU2hpcHBpbmdNZXRob2Rcbn0gZnJvbSAnc2stZnJvbnQtbGliL21vZGVsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa09yZGVyU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBnZXRBZG1pbk9yZGVycyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxJU2tPcmRlckxpc3Q+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlKGAvYXBpL2FkbWluL29yZGVyc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluT3JkZXJzQ291bnQoKTogT2JzZXJ2YWJsZTxJU2tPcmRlckNvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldChgL2FwaS9hZG1pbi9vcmRlcnMvY291bnRgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5PcmRlcihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTa09yZGVyRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tPcmRlckRldGFpbD4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9YClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFNrT3JkZXJEZXRhaWwocmVzdWx0LmRhdGEpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRNeU9yZGVycygpOiBPYnNlcnZhYmxlPElTa09yZGVyTGlzdFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tPcmRlckxpc3RbXT4oYC9hcGkvcHVibGljL29yZGVycy9tZWApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRNeUxhdGVzdE9yZGVycygpOiBPYnNlcnZhYmxlPElTa09yZGVyTGlzdFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tPcmRlckxpc3RbXT4oYC9hcGkvcHVibGljL29yZGVycy9tZS9sYXRlc3RgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0T3JkZXJEZXRhaWwoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8U2tPcmRlckRldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJEZXRhaWw+KGAvYXBpL3B1YmxpYy9vcmRlcnMvJHtpZH1gKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgU2tPcmRlckRldGFpbChyZXN1bHQuZGF0YSkpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldE9yZGVyU3RhdHVzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNrT3JkZXJTdGF0dXM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrT3JkZXJTdGF0dXM+KGAvYXBpL3B1YmxpYy9vcmRlcnMvJHtpZH0vc3RhdHVzYClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldE9yZGVyTG9ncyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJU2tPcmRlckxvZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tPcmRlckxvZ1tdPihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vbG9nc2ApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhIHx8IFtdKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjcmVhdGVBZG1pbk9yZGVyKGRhdGE6IGFueSk6IE9ic2VydmFibGU8U2tPcmRlckRldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PElTa09yZGVyRGV0YWlsPihgL2FwaS9hZG1pbi9vcmRlcnNgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgU2tPcmRlckRldGFpbChyZXN1bHQuZGF0YSkpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGFkZE9yZGVyTG9nKGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2xvZ3NgLCB7bWVzc2FnZX0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhIHx8IFtdKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbk9yZGVyQmFzZUluZm8oaWQ6IHN0cmluZywgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2luZm9gLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Db25maXJtVHJhbnNmZXJQYXltZW50KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vY29uZmlybS1wYXltZW50L3RyYW5zZmVyYCwgbnVsbClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluQ2FuY2VsKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vY2FuY2VsYCwge30pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkNhbmNlbEZvcmNlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vY2FuY2VsL2ZvcmNlYCwge30pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2Nlc3NTdGFydChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L3Byb2Nlc3Mtc3RhcnRgLCB7fSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluQ29tcGxldGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9jb21wbGV0ZWAsIHt9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5QYXltZW50KGlkOiBzdHJpbmcsIGRhdGE6IHsgdHhJZDogc3RyaW5nLCBjYXJkTmFtZTogc3RyaW5nLCBjYXJkUXVvdGE6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L3VwZGF0ZS1wYXltZW50YCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluU2hpcHBpbmdTdGF0dXMoaWQ6IHN0cmluZywgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L3VwZGF0ZS1zaGlwcGluZy1zdGF0dXNgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5PcmRlcnMob3JkZXJzOiBJU2tPcmRlckxpc3RbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZTxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke29yZGVycy5tYXAob3JkZXIgPT4gb3JkZXIuaWQpLmpvaW4oJywnKX1gKTtcbiAgICB9XG5cbiAgICBjYW5jZWxPcmRlcihpZDogc3RyaW5nLCBkYXRhOiB7Y2FuY2VsVHlwZTogU2tPcmRlckNhbmNlbFR5cGUsIGNhbmNlbERlc2M6IFN0cmluZ30pOiBPYnNlcnZhYmxlPFNrT3JkZXJEZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrT3JkZXJEZXRhaWw+KGAvYXBpL3B1YmxpYy9vcmRlcnMvJHtpZH0vY2FuY2VsYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpKVxuICAgIH1cblxuICAgIHN0YXJ0UHJvZ3Jlc3MoaWQ6IHN0cmluZywgZGF0YTogSVNrT3JkZXJSZXFQcm9ncmVzcyk6IE9ic2VydmFibGU8U2tPcmRlclN0YXR1cz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tPcmRlclN0YXR1cz4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfS9wcm9ncmVzc2AsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBtb3ZlVG9NeU9yZGVyKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8c3RyaW5nPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L21vdmVgLCB7fSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluU2hpcHBpbmdGZWVMaXN0KCk6IE9ic2VydmFibGU8SVNrU2hpcHBpbmdGZWVbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrU2hpcHBpbmdGZWVbXT4oYC9hcGkvYWRtaW4vb3JkZXJzL3NoaXBwaW5nLWZlZXNgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5TaGlwcGluZ0ZlZShkYXRhOiBJU2tTaGlwcGluZ0ZlZSk6IE9ic2VydmFibGU8SVNrU2hpcHBpbmdGZWU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxJU2tTaGlwcGluZ0ZlZT4oYC9hcGkvYWRtaW4vb3JkZXJzL3NoaXBwaW5nLWZlZXNgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5TaGlwcGluZ0ZlZShpZDogbnVtYmVyLCBkYXRhOiBJU2tTaGlwcGluZ0ZlZSk6IE9ic2VydmFibGU8SVNrU2hpcHBpbmdGZWU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PElTa1NoaXBwaW5nRmVlPihgL2FwaS9hZG1pbi9vcmRlcnMvc2hpcHBpbmctZmVlcy8ke2lkfWAsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVBZG1pblNoaXBwaW5nRmVlKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGU8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvc2hpcHBpbmctZmVlcy8ke2lkfWApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVTaGlwcGluZ0ZlZShpZDogc3RyaW5nLCBtZXRob2Q6IFNrU2hpcHBpbmdNZXRob2QsIHppcENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxudW1iZXI+KGAvYXBpL3B1YmxpYy9vcmRlcnMvJHtpZH0vY2FsY3VsYXRlLXNoaXBwaW5nLWZlZWAsIG5ldyBIdHRwUGFyYW1zKCkuYXBwZW5kKCdtZXRob2QnLCBtZXRob2QpLmFwcGVuZCgnemlwQ29kZScsIHppcENvZGUpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSB8fCAwKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUNvdXBvbihpZDogc3RyaW5nLCBzZXJpYWxzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8SVNrVmFsaWRhdGVDb3Vwb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxJU2tWYWxpZGF0ZUNvdXBvbj4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfS9jaGVjay1jb3Vwb25gLCB7XG4gICAgICAgICAgICBjb3Vwb25TZXJpYWxzOiBzZXJpYWxzXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhIHx8IHtkaXNjb3VudEFtb3VudDogMCwgY291cG9uRGF0YTogW119KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==