sk-front-lib 0.17.49 → 0.17.51

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 (255) hide show
  1. package/esm2020/lib/sk-byte.pipe.mjs +4 -4
  2. package/esm2020/lib/sk-date-time.pipe.mjs +4 -4
  3. package/esm2020/lib/sk-date.pipe.mjs +4 -4
  4. package/esm2020/lib/sk-front-lib.module.mjs +5 -5
  5. package/esm2020/lib/sk-keys.pipe.mjs +4 -4
  6. package/esm2020/lib/sk-time.pipe.mjs +4 -4
  7. package/fesm2015/sk-front-lib.mjs +19 -19
  8. package/fesm2015/sk-front-lib.mjs.map +1 -1
  9. package/fesm2020/sk-front-lib.mjs +19 -19
  10. package/fesm2020/sk-front-lib.mjs.map +1 -1
  11. package/lib/sk-byte.pipe.d.ts +1 -1
  12. package/lib/sk-date-time.pipe.d.ts +1 -1
  13. package/lib/sk-date.pipe.d.ts +1 -1
  14. package/lib/sk-keys.pipe.d.ts +1 -1
  15. package/lib/sk-time.pipe.d.ts +1 -1
  16. package/package.json +3 -67
  17. package/api/model/api-config.d.ts +0 -6
  18. package/api/model/api-pageable-param.d.ts +0 -11
  19. package/api/model/api-pageable.d.ts +0 -11
  20. package/api/model/api-response.d.ts +0 -8
  21. package/api/model/index.d.ts +0 -4
  22. package/api/package.json +0 -10
  23. package/api/public_api.d.ts +0 -3
  24. package/api/sk-api.module.d.ts +0 -12
  25. package/api/sk-api.service.d.ts +0 -34
  26. package/api/sk-front-lib-api.d.ts +0 -5
  27. package/article/package.json +0 -10
  28. package/article/public_api.d.ts +0 -6
  29. package/article/sk-article-editor-server.component.d.ts +0 -23
  30. package/article/sk-article-editor.component.d.ts +0 -27
  31. package/article/sk-article-server.module.d.ts +0 -10
  32. package/article/sk-article.module.d.ts +0 -9
  33. package/article/sk-article.service.d.ts +0 -96
  34. package/article/sk-froala-editor.directive.d.ts +0 -40
  35. package/article/sk-front-lib-article.d.ts +0 -5
  36. package/crud/package.json +0 -10
  37. package/crud/public_api.d.ts +0 -24
  38. package/crud/sk-account.service.d.ts +0 -16
  39. package/crud/sk-affiliate.service.d.ts +0 -38
  40. package/crud/sk-auth-admin.guard.d.ts +0 -13
  41. package/crud/sk-auth.guard.d.ts +0 -13
  42. package/crud/sk-auth.service.d.ts +0 -33
  43. package/crud/sk-board.service.d.ts +0 -21
  44. package/crud/sk-brand.service.d.ts +0 -19
  45. package/crud/sk-cart.service.d.ts +0 -72
  46. package/crud/sk-category.service.d.ts +0 -28
  47. package/crud/sk-comment.service.d.ts +0 -15
  48. package/crud/sk-config.service.d.ts +0 -13
  49. package/crud/sk-contact.service.d.ts +0 -15
  50. package/crud/sk-coupon.service.d.ts +0 -24
  51. package/crud/sk-document.service.d.ts +0 -51
  52. package/crud/sk-etc.service.d.ts +0 -12
  53. package/crud/sk-file.service.d.ts +0 -18
  54. package/crud/sk-front-lib-crud.d.ts +0 -5
  55. package/crud/sk-keyword.service.d.ts +0 -19
  56. package/crud/sk-order.service.d.ts +0 -45
  57. package/crud/sk-point.service.d.ts +0 -17
  58. package/crud/sk-product.service.d.ts +0 -84
  59. package/crud/sk-promotion.service.d.ts +0 -41
  60. package/crud/sk-search.service.d.ts +0 -12
  61. package/crud/sk-store.service.d.ts +0 -17
  62. package/crud/sk-user.service.d.ts +0 -25
  63. package/esm2020/api/model/api-config.mjs +0 -2
  64. package/esm2020/api/model/api-pageable-param.mjs +0 -29
  65. package/esm2020/api/model/api-pageable.mjs +0 -3
  66. package/esm2020/api/model/api-response.mjs +0 -3
  67. package/esm2020/api/model/index.mjs +0 -4
  68. package/esm2020/api/public_api.mjs +0 -4
  69. package/esm2020/api/sk-api.module.mjs +0 -35
  70. package/esm2020/api/sk-api.service.mjs +0 -145
  71. package/esm2020/api/sk-front-lib-api.mjs +0 -5
  72. package/esm2020/article/public_api.mjs +0 -7
  73. package/esm2020/article/sk-article-editor-server.component.mjs +0 -51
  74. package/esm2020/article/sk-article-editor.component.mjs +0 -93
  75. package/esm2020/article/sk-article-server.module.mjs +0 -33
  76. package/esm2020/article/sk-article.module.mjs +0 -32
  77. package/esm2020/article/sk-article.service.mjs +0 -248
  78. package/esm2020/article/sk-froala-editor.directive.mjs +0 -325
  79. package/esm2020/article/sk-front-lib-article.mjs +0 -5
  80. package/esm2020/crud/public_api.mjs +0 -25
  81. package/esm2020/crud/sk-account.service.mjs +0 -36
  82. package/esm2020/crud/sk-affiliate.service.mjs +0 -94
  83. package/esm2020/crud/sk-auth-admin.guard.mjs +0 -31
  84. package/esm2020/crud/sk-auth.guard.mjs +0 -31
  85. package/esm2020/crud/sk-auth.service.mjs +0 -67
  86. package/esm2020/crud/sk-board.service.mjs +0 -54
  87. package/esm2020/crud/sk-brand.service.mjs +0 -46
  88. package/esm2020/crud/sk-cart.service.mjs +0 -256
  89. package/esm2020/crud/sk-category.service.mjs +0 -63
  90. package/esm2020/crud/sk-comment.service.mjs +0 -43
  91. package/esm2020/crud/sk-config.service.mjs +0 -31
  92. package/esm2020/crud/sk-contact.service.mjs +0 -39
  93. package/esm2020/crud/sk-coupon.service.mjs +0 -62
  94. package/esm2020/crud/sk-document.service.mjs +0 -110
  95. package/esm2020/crud/sk-etc.service.mjs +0 -25
  96. package/esm2020/crud/sk-file.service.mjs +0 -37
  97. package/esm2020/crud/sk-front-lib-crud.mjs +0 -5
  98. package/esm2020/crud/sk-keyword.service.mjs +0 -46
  99. package/esm2020/crud/sk-order.service.mjs +0 -133
  100. package/esm2020/crud/sk-point.service.mjs +0 -45
  101. package/esm2020/crud/sk-product.service.mjs +0 -168
  102. package/esm2020/crud/sk-promotion.service.mjs +0 -84
  103. package/esm2020/crud/sk-search.service.mjs +0 -25
  104. package/esm2020/crud/sk-store.service.mjs +0 -47
  105. package/esm2020/crud/sk-user.service.mjs +0 -73
  106. package/esm2020/google-analytics/google-analytics-router.module.mjs +0 -30
  107. package/esm2020/google-analytics/google-analytics.module.mjs +0 -40
  108. package/esm2020/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -24
  109. package/esm2020/google-analytics/initializers/google-analytics.initializer.mjs +0 -46
  110. package/esm2020/google-analytics/interfaces/google-analytics-command.mjs +0 -2
  111. package/esm2020/google-analytics/interfaces/google-analytics-settings.mjs +0 -2
  112. package/esm2020/google-analytics/public_api.mjs +0 -11
  113. package/esm2020/google-analytics/services/google-analytics.service.mjs +0 -223
  114. package/esm2020/google-analytics/sk-front-lib-google-analytics.mjs +0 -5
  115. package/esm2020/google-analytics/tokens/google-analytics-settings-token.mjs +0 -5
  116. package/esm2020/google-analytics/types/ga-action.type.mjs +0 -2
  117. package/esm2020/google-analytics/types/ga-bind.type.mjs +0 -2
  118. package/esm2020/image/public_api.mjs +0 -3
  119. package/esm2020/image/sk-front-lib-image.mjs +0 -5
  120. package/esm2020/image/sk-image.component.mjs +0 -262
  121. package/esm2020/image/sk-image.module.mjs +0 -43
  122. package/esm2020/model/lib/article.mjs +0 -11
  123. package/esm2020/model/lib/audit.mjs +0 -12
  124. package/esm2020/model/lib/auth.mjs +0 -2
  125. package/esm2020/model/lib/board.mjs +0 -21
  126. package/esm2020/model/lib/cart.mjs +0 -29
  127. package/esm2020/model/lib/comment.mjs +0 -25
  128. package/esm2020/model/lib/contact.mjs +0 -28
  129. package/esm2020/model/lib/coupon.mjs +0 -23
  130. package/esm2020/model/lib/document.mjs +0 -49
  131. package/esm2020/model/lib/etc.mjs +0 -57
  132. package/esm2020/model/lib/file.mjs +0 -8
  133. package/esm2020/model/lib/filetype.mjs +0 -179
  134. package/esm2020/model/lib/grid.mjs +0 -83
  135. package/esm2020/model/lib/nicepay.mjs +0 -81
  136. package/esm2020/model/lib/order.mjs +0 -106
  137. package/esm2020/model/lib/payment.mjs +0 -35
  138. package/esm2020/model/lib/point.mjs +0 -47
  139. package/esm2020/model/lib/product-series.mjs +0 -2
  140. package/esm2020/model/lib/product.mjs +0 -156
  141. package/esm2020/model/lib/promotion.mjs +0 -80
  142. package/esm2020/model/lib/shipping.mjs +0 -37
  143. package/esm2020/model/lib/tosspay.mjs +0 -61
  144. package/esm2020/model/lib/user.mjs +0 -61
  145. package/esm2020/model/public_api.mjs +0 -24
  146. package/esm2020/model/sk-front-lib-model.mjs +0 -5
  147. package/esm2020/search-address/dialog/dialog.component.mjs +0 -27
  148. package/esm2020/search-address/public_api.mjs +0 -4
  149. package/esm2020/search-address/sk-front-lib-search-address.mjs +0 -5
  150. package/esm2020/search-address/sk-search-address.directive.mjs +0 -41
  151. package/esm2020/search-address/sk-search-address.model.mjs +0 -8
  152. package/esm2020/search-address/sk-search-address.module.mjs +0 -52
  153. package/esm2020/search-address/sk-search-address.service.mjs +0 -65
  154. package/esm2020/uploader/public_api.mjs +0 -4
  155. package/esm2020/uploader/sk-front-lib-uploader.mjs +0 -5
  156. package/esm2020/uploader/sk-uploader-file-item.model.mjs +0 -95
  157. package/esm2020/uploader/sk-uploader.animation.mjs +0 -47
  158. package/esm2020/uploader/sk-uploader.class.mjs +0 -188
  159. package/esm2020/uploader/sk-uploader.component.mjs +0 -120
  160. package/esm2020/uploader/sk-uploader.directive.mjs +0 -44
  161. package/esm2020/uploader/sk-uploader.module.mjs +0 -62
  162. package/fesm2015/sk-front-lib-api.mjs +0 -218
  163. package/fesm2015/sk-front-lib-api.mjs.map +0 -1
  164. package/fesm2015/sk-front-lib-article.mjs +0 -762
  165. package/fesm2015/sk-front-lib-article.mjs.map +0 -1
  166. package/fesm2015/sk-front-lib-crud.mjs +0 -1529
  167. package/fesm2015/sk-front-lib-crud.mjs.map +0 -1
  168. package/fesm2015/sk-front-lib-google-analytics.mjs +0 -361
  169. package/fesm2015/sk-front-lib-google-analytics.mjs.map +0 -1
  170. package/fesm2015/sk-front-lib-image.mjs +0 -306
  171. package/fesm2015/sk-front-lib-image.mjs.map +0 -1
  172. package/fesm2015/sk-front-lib-model.mjs +0 -1171
  173. package/fesm2015/sk-front-lib-model.mjs.map +0 -1
  174. package/fesm2015/sk-front-lib-search-address.mjs +0 -188
  175. package/fesm2015/sk-front-lib-search-address.mjs.map +0 -1
  176. package/fesm2015/sk-front-lib-uploader.mjs +0 -551
  177. package/fesm2015/sk-front-lib-uploader.mjs.map +0 -1
  178. package/fesm2020/sk-front-lib-api.mjs +0 -216
  179. package/fesm2020/sk-front-lib-api.mjs.map +0 -1
  180. package/fesm2020/sk-front-lib-article.mjs +0 -771
  181. package/fesm2020/sk-front-lib-article.mjs.map +0 -1
  182. package/fesm2020/sk-front-lib-crud.mjs +0 -1525
  183. package/fesm2020/sk-front-lib-crud.mjs.map +0 -1
  184. package/fesm2020/sk-front-lib-google-analytics.mjs +0 -358
  185. package/fesm2020/sk-front-lib-google-analytics.mjs.map +0 -1
  186. package/fesm2020/sk-front-lib-image.mjs +0 -309
  187. package/fesm2020/sk-front-lib-image.mjs.map +0 -1
  188. package/fesm2020/sk-front-lib-model.mjs +0 -1171
  189. package/fesm2020/sk-front-lib-model.mjs.map +0 -1
  190. package/fesm2020/sk-front-lib-search-address.mjs +0 -186
  191. package/fesm2020/sk-front-lib-search-address.mjs.map +0 -1
  192. package/fesm2020/sk-front-lib-uploader.mjs +0 -549
  193. package/fesm2020/sk-front-lib-uploader.mjs.map +0 -1
  194. package/google-analytics/google-analytics-router.module.d.ts +0 -8
  195. package/google-analytics/google-analytics.module.d.ts +0 -10
  196. package/google-analytics/initializers/google-analytics-router.initializer.d.ts +0 -5
  197. package/google-analytics/initializers/google-analytics.initializer.d.ts +0 -4
  198. package/google-analytics/interfaces/google-analytics-command.d.ts +0 -4
  199. package/google-analytics/interfaces/google-analytics-settings.d.ts +0 -6
  200. package/google-analytics/package.json +0 -10
  201. package/google-analytics/public_api.d.ts +0 -10
  202. package/google-analytics/services/google-analytics.service.d.ts +0 -85
  203. package/google-analytics/sk-front-lib-google-analytics.d.ts +0 -5
  204. package/google-analytics/tokens/google-analytics-settings-token.d.ts +0 -3
  205. package/google-analytics/types/ga-action.type.d.ts +0 -1
  206. package/google-analytics/types/ga-bind.type.d.ts +0 -1
  207. package/image/package.json +0 -10
  208. package/image/public_api.d.ts +0 -3
  209. package/image/sk-front-lib-image.d.ts +0 -5
  210. package/image/sk-image.component.d.ts +0 -112
  211. package/image/sk-image.module.d.ts +0 -12
  212. package/model/lib/article.d.ts +0 -13
  213. package/model/lib/audit.d.ts +0 -13
  214. package/model/lib/auth.d.ts +0 -8
  215. package/model/lib/board.d.ts +0 -39
  216. package/model/lib/cart.d.ts +0 -45
  217. package/model/lib/comment.d.ts +0 -43
  218. package/model/lib/contact.d.ts +0 -40
  219. package/model/lib/coupon.d.ts +0 -116
  220. package/model/lib/document.d.ts +0 -104
  221. package/model/lib/etc.d.ts +0 -220
  222. package/model/lib/file.d.ts +0 -24
  223. package/model/lib/filetype.d.ts +0 -10
  224. package/model/lib/grid.d.ts +0 -97
  225. package/model/lib/nicepay.d.ts +0 -39
  226. package/model/lib/order.d.ts +0 -163
  227. package/model/lib/payment.d.ts +0 -32
  228. package/model/lib/point.d.ts +0 -30
  229. package/model/lib/product-series.d.ts +0 -25
  230. package/model/lib/product.d.ts +0 -309
  231. package/model/lib/promotion.d.ts +0 -169
  232. package/model/lib/shipping.d.ts +0 -44
  233. package/model/lib/tosspay.d.ts +0 -29
  234. package/model/lib/user.d.ts +0 -54
  235. package/model/package.json +0 -10
  236. package/model/public_api.d.ts +0 -23
  237. package/model/sk-front-lib-model.d.ts +0 -5
  238. package/search-address/dialog/dialog.component.d.ts +0 -13
  239. package/search-address/package.json +0 -10
  240. package/search-address/public_api.d.ts +0 -3
  241. package/search-address/sk-front-lib-search-address.d.ts +0 -5
  242. package/search-address/sk-search-address.directive.d.ts +0 -15
  243. package/search-address/sk-search-address.model.d.ts +0 -40
  244. package/search-address/sk-search-address.module.d.ts +0 -14
  245. package/search-address/sk-search-address.service.d.ts +0 -13
  246. package/uploader/package.json +0 -10
  247. package/uploader/public_api.d.ts +0 -4
  248. package/uploader/sk-front-lib-uploader.d.ts +0 -5
  249. package/uploader/sk-uploader-file-item.model.d.ts +0 -29
  250. package/uploader/sk-uploader.animation.d.ts +0 -1
  251. package/uploader/sk-uploader.class.d.ts +0 -47
  252. package/uploader/sk-uploader.component.d.ts +0 -28
  253. package/uploader/sk-uploader.directive.d.ts +0 -15
  254. package/uploader/sk-uploader.module.d.ts +0 -16
  255. /package/{sk-front-lib.d.ts → index.d.ts} +0 -0
@@ -1,133 +0,0 @@
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, serials = []) {
116
- return this._apiService.get(`/api/public/orders/${id}/calculate-shipping-fee`, new HttpParams().append('method', method).append('zipCode', zipCode).append('serials', serials.join(',')))
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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QUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDNUwsSUFBSSxDQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQ2xDLENBQUM7SUFDVixDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQVUsRUFBRSxPQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFvQixzQkFBc0IsRUFBRSxlQUFlLEVBQUU7WUFDckYsYUFBYSxFQUFFLE9BQU87U0FDekIsQ0FBQyxDQUFDLElBQUksQ0FDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7OzJHQW5NUSxjQUFjOytHQUFkLGNBQWMsY0FGWCxNQUFNOzJGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBcGlQYWdlYWJsZSwgQXBpUGFnZWFibGVQYXJhbSwgU2tBcGlTZXJ2aWNlIH0gZnJvbSAnc2stZnJvbnQtbGliL2FwaSc7XG5pbXBvcnQge1xuICAgIElTa09yZGVyQ291bnQsXG4gICAgSVNrT3JkZXJEZXRhaWwsXG4gICAgSVNrT3JkZXJMaXN0LFxuICAgIElTa09yZGVyTG9nLFxuICAgIElTa09yZGVyUmVxUHJvZ3Jlc3MsXG4gICAgSVNrU2hpcHBpbmdGZWUsXG4gICAgSVNrVmFsaWRhdGVDb3Vwb24sIFNrT3JkZXJDYW5jZWxUeXBlLFxuICAgIFNrT3JkZXJEZXRhaWwsXG4gICAgU2tPcmRlclN0YXR1cyxcbiAgICBTa1NoaXBwaW5nTWV0aG9kXG59IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tPcmRlclNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5PcmRlcnMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8SVNrT3JkZXJMaXN0Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZShgL2FwaS9hZG1pbi9vcmRlcnNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pbk9yZGVyc0NvdW50KCk6IE9ic2VydmFibGU8SVNrT3JkZXJDb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQoYC9hcGkvYWRtaW4vb3JkZXJzL2NvdW50YClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluT3JkZXIoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8U2tPcmRlckRldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJEZXRhaWw+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfWApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IG5ldyBTa09yZGVyRGV0YWlsKHJlc3VsdC5kYXRhKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0TXlPcmRlcnMoKTogT2JzZXJ2YWJsZTxJU2tPcmRlckxpc3RbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJMaXN0W10+KGAvYXBpL3B1YmxpYy9vcmRlcnMvbWVgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0TXlMYXRlc3RPcmRlcnMoKTogT2JzZXJ2YWJsZTxJU2tPcmRlckxpc3RbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJMaXN0W10+KGAvYXBpL3B1YmxpYy9vcmRlcnMvbWUvbGF0ZXN0YClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGdldE9yZGVyRGV0YWlsKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNrT3JkZXJEZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa09yZGVyRGV0YWlsPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9YClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFNrT3JkZXJEZXRhaWwocmVzdWx0LmRhdGEpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRPcmRlclN0YXR1cyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTa09yZGVyU3RhdHVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa09yZGVyU3RhdHVzPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L3N0YXR1c2ApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRPcmRlckxvZ3MoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SVNrT3JkZXJMb2dbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrT3JkZXJMb2dbXT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2xvZ3NgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSB8fCBbXSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5PcmRlcihkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrT3JkZXJEZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxJU2tPcmRlckRldGFpbD4oYC9hcGkvYWRtaW4vb3JkZXJzYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFNrT3JkZXJEZXRhaWwocmVzdWx0LmRhdGEpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhZGRPcmRlckxvZyhpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9sb2dzYCwge21lc3NhZ2V9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSB8fCBbXSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5PcmRlckJhc2VJbmZvKGlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9pbmZvYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluQ29uZmlybVRyYW5zZmVyUGF5bWVudChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2NvbmZpcm0tcGF5bWVudC90cmFuc2ZlcmAsIG51bGwpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkNhbmNlbChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2NhbmNlbGAsIHt9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5DYW5jZWxGb3JjZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzLyR7aWR9L2NhbmNlbC9mb3JjZWAsIHt9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9jZXNzU3RhcnQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS9wcm9jZXNzLXN0YXJ0YCwge30pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pbkNvbXBsZXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtpZH0vY29tcGxldGVgLCB7fSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUGF5bWVudChpZDogc3RyaW5nLCBkYXRhOiB7IHR4SWQ6IHN0cmluZywgY2FyZE5hbWU6IHN0cmluZywgY2FyZFF1b3RhOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS91cGRhdGUtcGF5bWVudGAsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblNoaXBwaW5nU3RhdHVzKGlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxhbnk+KGAvYXBpL2FkbWluL29yZGVycy8ke2lkfS91cGRhdGUtc2hpcHBpbmctc3RhdHVzYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluT3JkZXJzKG9yZGVyczogSVNrT3JkZXJMaXN0W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGU8YW55PihgL2FwaS9hZG1pbi9vcmRlcnMvJHtvcmRlcnMubWFwKG9yZGVyID0+IG9yZGVyLmlkKS5qb2luKCcsJyl9YCk7XG4gICAgfVxuXG4gICAgY2FuY2VsT3JkZXIoaWQ6IHN0cmluZywgZGF0YToge2NhbmNlbFR5cGU6IFNrT3JkZXJDYW5jZWxUeXBlLCBjYW5jZWxEZXNjOiBTdHJpbmd9KTogT2JzZXJ2YWJsZTxTa09yZGVyRGV0YWlsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa09yZGVyRGV0YWlsPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L2NhbmNlbGAsIGRhdGEpXG4gICAgICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKSlcbiAgICB9XG5cbiAgICBzdGFydFByb2dyZXNzKGlkOiBzdHJpbmcsIGRhdGE6IElTa09yZGVyUmVxUHJvZ3Jlc3MpOiBPYnNlcnZhYmxlPFNrT3JkZXJTdGF0dXM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrT3JkZXJTdGF0dXM+KGAvYXBpL3B1YmxpYy9vcmRlcnMvJHtpZH0vcHJvZ3Jlc3NgLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgbW92ZVRvTXlPcmRlcihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PHN0cmluZz4oYC9hcGkvcHVibGljL29yZGVycy8ke2lkfS9tb3ZlYCwge30pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblNoaXBwaW5nRmVlTGlzdCgpOiBPYnNlcnZhYmxlPElTa1NoaXBwaW5nRmVlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1NoaXBwaW5nRmVlW10+KGAvYXBpL2FkbWluL29yZGVycy9zaGlwcGluZy1mZWVzYClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluU2hpcHBpbmdGZWUoZGF0YTogSVNrU2hpcHBpbmdGZWUpOiBPYnNlcnZhYmxlPElTa1NoaXBwaW5nRmVlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrU2hpcHBpbmdGZWU+KGAvYXBpL2FkbWluL29yZGVycy9zaGlwcGluZy1mZWVzYCwgZGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluU2hpcHBpbmdGZWUoaWQ6IG51bWJlciwgZGF0YTogSVNrU2hpcHBpbmdGZWUpOiBPYnNlcnZhYmxlPElTa1NoaXBwaW5nRmVlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tTaGlwcGluZ0ZlZT4oYC9hcGkvYWRtaW4vb3JkZXJzL3NoaXBwaW5nLWZlZXMvJHtpZH1gLCBkYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5TaGlwcGluZ0ZlZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlPGFueT4oYC9hcGkvYWRtaW4vb3JkZXJzL3NoaXBwaW5nLWZlZXMvJHtpZH1gKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlU2hpcHBpbmdGZWUoaWQ6IHN0cmluZywgbWV0aG9kOiBTa1NoaXBwaW5nTWV0aG9kLCB6aXBDb2RlOiBzdHJpbmcsIHNlcmlhbHM6IHN0cmluZ1tdID0gW10pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8bnVtYmVyPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L2NhbGN1bGF0ZS1zaGlwcGluZy1mZWVgLCBuZXcgSHR0cFBhcmFtcygpLmFwcGVuZCgnbWV0aG9kJywgbWV0aG9kKS5hcHBlbmQoJ3ppcENvZGUnLCB6aXBDb2RlKS5hcHBlbmQoJ3NlcmlhbHMnLCBzZXJpYWxzLmpvaW4oJywnKSkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhIHx8IDApXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHZhbGlkYXRlQ291cG9uKGlkOiBzdHJpbmcsIHNlcmlhbHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxJU2tWYWxpZGF0ZUNvdXBvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PElTa1ZhbGlkYXRlQ291cG9uPihgL2FwaS9wdWJsaWMvb3JkZXJzLyR7aWR9L2NoZWNrLWNvdXBvbmAsIHtcbiAgICAgICAgICAgIGNvdXBvblNlcmlhbHM6IHNlcmlhbHNcbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEgfHwge2Rpc2NvdW50QW1vdW50OiAwLCBjb3Vwb25EYXRhOiBbXX0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -1,45 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { ApiPageableParam } from 'sk-front-lib/api';
4
- import { SkPoint } from 'sk-front-lib/model';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "sk-front-lib/api";
7
- export class SkPointService {
8
- constructor(_apiService) {
9
- this._apiService = _apiService;
10
- this.apiServer = _apiService.apiServer;
11
- }
12
- getMyCurrentPoint() {
13
- return this._apiService.get(`/api/public/points/me`).pipe(map(response => Number(response.data || 0)));
14
- }
15
- getMyPointHistory(params = new ApiPageableParam()) {
16
- return this._apiService.getPageable(`/api/public/points/me/history`, params.buildHttpParams()).pipe(map(response => response.data), map(value => {
17
- value.content = (value.content || []).map(item => new SkPoint(item));
18
- return value;
19
- }));
20
- }
21
- getUserCurrentPoint(userId) {
22
- return this._apiService.get(`/api/admin/points/${userId}`).pipe(map(response => Number(response.data || 0)));
23
- }
24
- getUserPointHistory(userId, params = new ApiPageableParam()) {
25
- return this._apiService.getPageable(`/api/admin/points/${userId}/history`, params.buildHttpParams()).pipe(map(response => response.data), map(value => {
26
- value.content = (value.content || []).map(item => new SkPoint(item));
27
- return value;
28
- }));
29
- }
30
- addPointToUser(data) {
31
- return this._apiService.put(`/api/admin/points/add`, data).pipe(map(response => Number(response.data || 0)));
32
- }
33
- usePointToUser(data) {
34
- return this._apiService.put(`/api/admin/points/use`, data).pipe(map(response => Number(response.data || 0)));
35
- }
36
- }
37
- SkPointService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkPointService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
38
- SkPointService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkPointService, providedIn: 'root' });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkPointService, decorators: [{
40
- type: Injectable,
41
- args: [{
42
- providedIn: 'root'
43
- }]
44
- }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stcG9pbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9jcnVkL3NyYy9zay1wb2ludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBZSxnQkFBZ0IsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRSxPQUFPLEVBQWUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUsxRCxNQUFNLE9BQU8sY0FBYztJQUl2QixZQUFvQixXQUF5QjtRQUF6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDM0MsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQVMsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzlDLENBQUM7SUFDTixDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBMkIsSUFBSSxnQkFBZ0IsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFVLCtCQUErQixFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDeEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUM5QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBYztRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFTLHFCQUFxQixNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDOUMsQ0FBQztJQUNOLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsU0FBMkIsSUFBSSxnQkFBZ0IsRUFBRTtRQUNqRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFVLHFCQUFxQixNQUFNLFVBQVUsRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzlHLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDOUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1IsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFpQjtRQUM1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFTLHVCQUF1QixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDOUMsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBaUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBUyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ25FLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzlDLENBQUM7SUFDTixDQUFDOzsyR0FsRFEsY0FBYzsrR0FBZCxjQUFjLGNBRlgsTUFBTTsyRkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7IElTa1BvaW50QWRkLCBTa1BvaW50IH0gZnJvbSAnc2stZnJvbnQtbGliL21vZGVsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa1BvaW50U2VydmljZSB7XG5cbiAgICBwdWJsaWMgYXBpU2VydmVyOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5hcGlTZXJ2ZXIgPSBfYXBpU2VydmljZS5hcGlTZXJ2ZXI7XG4gICAgfVxuXG4gICAgZ2V0TXlDdXJyZW50UG9pbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxudW1iZXI+KGAvYXBpL3B1YmxpYy9wb2ludHMvbWVgKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IE51bWJlcihyZXNwb25zZS5kYXRhIHx8IDApKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldE15UG9pbnRIaXN0b3J5KHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPEFwaVBhZ2VhYmxlPFNrUG9pbnQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrUG9pbnQ+KGAvYXBpL3B1YmxpYy9wb2ludHMvbWUvaGlzdG9yeWAsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSxcbiAgICAgICAgICAgIG1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWUuY29udGVudCA9ICh2YWx1ZS5jb250ZW50IHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tQb2ludChpdGVtKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyQ3VycmVudFBvaW50KHVzZXJJZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxudW1iZXI+KGAvYXBpL2FkbWluL3BvaW50cy8ke3VzZXJJZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IE51bWJlcihyZXNwb25zZS5kYXRhIHx8IDApKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFVzZXJQb2ludEhpc3RvcnkodXNlcklkOiBudW1iZXIsIHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPEFwaVBhZ2VhYmxlPFNrUG9pbnQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrUG9pbnQ+KGAvYXBpL2FkbWluL3BvaW50cy8ke3VzZXJJZH0vaGlzdG9yeWAsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSxcbiAgICAgICAgICAgIG1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWUuY29udGVudCA9ICh2YWx1ZS5jb250ZW50IHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tQb2ludChpdGVtKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhZGRQb2ludFRvVXNlcihkYXRhOiBJU2tQb2ludEFkZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8bnVtYmVyPihgL2FwaS9hZG1pbi9wb2ludHMvYWRkYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBOdW1iZXIocmVzcG9uc2UuZGF0YSB8fCAwKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1c2VQb2ludFRvVXNlcihkYXRhOiBJU2tQb2ludEFkZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8bnVtYmVyPihgL2FwaS9hZG1pbi9wb2ludHMvdXNlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBOdW1iZXIocmVzcG9uc2UuZGF0YSB8fCAwKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,168 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { ApiPageableParam } from 'sk-front-lib/api';
4
- import { SkProduct, 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 SkProductService {
8
- constructor(_apiService) {
9
- this._apiService = _apiService;
10
- }
11
- getProduct(url) {
12
- return this._apiService.get(`/api/public/products/${url}`).pipe(map(response => response.data));
13
- }
14
- getAdminProduct(id) {
15
- return this._apiService.get(`/api/admin/products/${id}`).pipe(map(response => new SkProduct(response.data)));
16
- }
17
- getProducts(params = new ApiPageableParam()) {
18
- return this._apiService.getPageable(`/api/public/products`, params.buildHttpParams()).pipe(map(response => response.data));
19
- }
20
- getAdminProducts(params = new ApiPageableParam()) {
21
- return this._apiService.getPageable(`/api/admin/products`, params.buildHttpParams()).pipe(map(response => response.data));
22
- }
23
- getProductsArray(ids) {
24
- return this._apiService.get(`/api/public/products/array/${ids.join(',')}`).pipe(map(response => response.data));
25
- }
26
- getAdminProductsArray(ids) {
27
- return this._apiService.get(`/api/admin/products/array/${ids.join(',')}`).pipe(map(response => response.data));
28
- }
29
- createAdminProduct(data) {
30
- return this._apiService.post(`/api/admin/products`, data).pipe(map(response => new SkProduct(response.data)));
31
- }
32
- copyAdminProduct(id) {
33
- return this._apiService.post(`/api/admin/products/${id}/copy`, {}).pipe(map(response => new SkProduct(response.data)));
34
- }
35
- updateProduct(id, data) {
36
- return this._apiService.put(`/api/public/products/${id}`, data).pipe(map(response => new SkProduct(response.data)));
37
- }
38
- updateAdminProduct(id, data) {
39
- return this._apiService.put(`/api/admin/products/${id}`, data).pipe(map(response => new SkProduct(response.data)));
40
- }
41
- updateAdminProductPrice(id, data) {
42
- return this._apiService.put(`/api/admin/products/${id}/price`, data).pipe(map(response => new SkProduct(response.data)));
43
- }
44
- updateAdminProductOpengraph(id, data) {
45
- return this._apiService.put(`/api/admin/products/${id}/opengraph`, data).pipe(map(response => new SkProduct(response.data)));
46
- }
47
- updateAdminProductNaverEP(id, data) {
48
- return this._apiService.put(`/api/admin/products/${id}/naverep`, data).pipe(map(response => new SkProduct(response.data)));
49
- }
50
- updateAdminProductCatalog(id, data) {
51
- return this._apiService.put(`/api/admin/products/${id}/catalog`, data).pipe(map(response => new SkProduct(response.data)));
52
- }
53
- updateAdminProductOption(id, data) {
54
- return this._apiService.put(`/api/admin/products/${id}/option`, data).pipe(map(response => new SkProduct(response.data)));
55
- }
56
- updateAdminProductPackage(id, data) {
57
- return this._apiService.put(`/api/admin/products/${id}/package`, data).pipe(map(response => new SkProduct(response.data)));
58
- }
59
- getAdminPackageChildrenOptions(id) {
60
- return this._apiService.get(`/api/admin/products/${id}/package/children-options`).pipe(map(response => response.data));
61
- }
62
- getAdminPackageChildrenImages(id) {
63
- return this._apiService.get(`/api/admin/products/${id}/package/children-images`).pipe(map(response => (response.data || []).map(item => new SkFile(item))));
64
- }
65
- updateAdminProductArticleDesc(id, data) {
66
- return this._apiService.put(`/api/admin/products/${id}/article-desc`, data).pipe(map(response => new SkProduct(response.data)));
67
- }
68
- updateAdminProductArticleSpec(id, data) {
69
- return this._apiService.put(`/api/admin/products/${id}/article-spec`, data).pipe(map(response => new SkProduct(response.data)));
70
- }
71
- updateAdminProductImage(id, data) {
72
- return this._apiService.put(`/api/admin/products/${id}/image`, data).pipe(map(response => new SkProduct(response.data)));
73
- }
74
- updateAdminProductEDelivery(id, data) {
75
- return this._apiService.put(`/api/admin/products/${id}/edelivery`, data).pipe(map(response => new SkProduct(response.data)));
76
- }
77
- updateAdminProductFurnitureDelivery(id, data) {
78
- return this._apiService.put(`/api/admin/products/${id}/furniture-delivery`, data).pipe(map(response => new SkProduct(response.data)));
79
- }
80
- activateAdminProducts(products) {
81
- return this._apiService.put(`/api/admin/products/activate/${products.map(product => product.id).join(',')}`, null);
82
- }
83
- deactivateAdminProducts(products) {
84
- return this._apiService.put(`/api/admin/products/deactivate/${products.map(product => product.id).join(',')}`, null);
85
- }
86
- deleteAdminProducts(products) {
87
- return this._apiService.delete(`/api/admin/products/delete/${products.map(product => product.id).join(',')}`);
88
- }
89
- getAdminProductsCount() {
90
- return this._apiService.get('/api/admin/products/count')
91
- .pipe(map(response => response.data));
92
- }
93
- updateWishlist(id) {
94
- return this._apiService.put(`/api/public/products/${id}/wishlist`, {}).pipe(map(response => response.data));
95
- }
96
- getWishlist(id) {
97
- return this._apiService.get(`/api/public/products/${id}/wishlist`).pipe(map(response => response.data));
98
- }
99
- getProductOptions(id) {
100
- return this._apiService.get(`/api/public/products/${id}/options`).pipe(map(response => response.data));
101
- }
102
- getAdminProductSubCategoryItem(id) {
103
- return this._apiService.get(`/api/admin/products/${id}/categories`).pipe(map(response => response.data || []));
104
- }
105
- updateAdminProductSubCategoryItems(id, idArr) {
106
- return this._apiService.put(`/api/admin/products/${id}/categories`, { subCategoryItems: idArr }).pipe(map(response => response.data || []));
107
- }
108
- getProductsFilterData(params = new ApiPageableParam()) {
109
- return this._apiService.get(`/api/public/products/filter-data`, params.buildHttpParams()).pipe(map(response => response.data));
110
- }
111
- getIncludedPackages(id) {
112
- return this._apiService.get(`/api/public/products/${id}/included-packages`).pipe(map(response => response.data || []));
113
- }
114
- updateAdminStockConfig(id, data) {
115
- return this._apiService.put(`/api/admin/products/${id}/stocks`, data).pipe(map(response => response.data));
116
- }
117
- getAdminStockCount(id) {
118
- return this._apiService.get(`/api/admin/products/${id}/stocks/count`).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
119
- }
120
- getAdminStocks(id, params = new ApiPageableParam()) {
121
- return this._apiService.getPageable(`/api/admin/products/${id}/stocks`, params.buildHttpParams()).pipe(map(response => response.data));
122
- }
123
- addAdminStock(id, data) {
124
- return this._apiService.post(`/api/admin/products/${id}/stocks`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
125
- }
126
- updateAdminStock(productId, stockId, data) {
127
- return this._apiService.put(`/api/admin/products/${productId}/stocks/${stockId}`, data).pipe(map(response => response.data));
128
- }
129
- deleteAdminStock(productId, stockId) {
130
- return this._apiService.delete(`/api/admin/products/${productId}/stocks/${stockId}`).pipe(map(response => response.data));
131
- }
132
- getAdminSeriesList(params = new ApiPageableParam()) {
133
- return this._apiService.getPageable(`/api/admin/product-series`, params.buildHttpParams()).pipe(map(response => response.data));
134
- }
135
- getAdminSeries(id) {
136
- return this._apiService.get(`/api/admin/product-series/${id}`).pipe(map(response => response.data));
137
- }
138
- createAdminSeries(data) {
139
- return this._apiService.post(`/api/admin/product-series`, data).pipe(map(response => response.data));
140
- }
141
- updateAdminSeries(id, data) {
142
- return this._apiService.put(`/api/admin/product-series/${id}`, data).pipe(map(response => response.data));
143
- }
144
- deleteAdminSeries(id) {
145
- return this._apiService.delete(`/api/admin/product-series/${id}`).pipe(map(response => response.data));
146
- }
147
- getAdminPublish(productId) {
148
- return this._apiService.get(`/api/admin/products/${productId}/publish`).pipe(map(response => response.data));
149
- }
150
- deleteAdminPublish(productId, id) {
151
- return this._apiService.delete(`/api/admin/products/${productId}/publish/${id}`).pipe(map(response => response.data));
152
- }
153
- createAdminPublish(productId, data) {
154
- return this._apiService.post(`/api/admin/products/${productId}/publish`, data).pipe(map(response => response.data));
155
- }
156
- updateAdminPublish(productId, data) {
157
- return this._apiService.put(`/api/admin/products/${productId}/publish`, data).pipe(map(response => response.data));
158
- }
159
- }
160
- SkProductService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkProductService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
161
- SkProductService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkProductService, providedIn: 'root' });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkProductService, decorators: [{
163
- type: Injectable,
164
- args: [{
165
- providedIn: 'root'
166
- }]
167
- }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stcHJvZHVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLXByb2R1Y3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQUtILFNBQVMsRUFXZSxNQUFNLEVBQ2pDLE1BQU0sb0JBQW9CLENBQUM7OztBQUs1QixNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBRTdDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQix3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzdFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsRUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFZLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDcEUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCLElBQUksZ0JBQWdCLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBb0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxD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QUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDakcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQzs7NkdBclNRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7XG4gICAgSVNrUHJvZHVjdERldGFpbCxcbiAgICBJU2tQcm9kdWN0RmlsdGVyRGF0YSxcbiAgICBJU2tQcm9kdWN0T3B0aW9uLFxuICAgIElTa1Byb2R1Y3RTdG9ja0hpc3RvcnksXG4gICAgU2tQcm9kdWN0LFxuICAgIFNrUHJvZHVjdENvdW50LFxuICAgIFNrUHJvZHVjdExpc3RJdGVtLFxuICAgIFNrUHJvZHVjdFByaWNlLFxuICAgIFNrUHJvZHVjdFN0b2NrLFxuICAgIFNrUHJvZHVjdFN0b2NrQ291bnQsXG4gICAgU2tQcm9kdWN0V2lzaGxpc3QsXG4gICAgU2tTdWJDYXRlZ29yeUl0ZW0sXG4gICAgSVNrUHJvZHVjdFB1Ymxpc2gsXG4gICAgSVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtLFxuICAgIElTa1Byb2R1Y3RTZXJpZXNDcmVhdGUsXG4gICAgSVNrUHJvZHVjdFNlcmllc0RldGFpbCwgU2tGaWxlLCBJU2tGaWxlXG59IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tQcm9kdWN0U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGdldFByb2R1Y3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3REZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3REZXRhaWw+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke3VybH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Qcm9kdWN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0cyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxTa1Byb2R1Y3RMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8U2tQcm9kdWN0TGlzdEl0ZW0+KGAvYXBpL3B1YmxpYy9wcm9kdWN0c2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tQcm9kdWN0IHwgU2tQcm9kdWN0TGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0FycmF5KGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RMaXN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RMaXN0SXRlbVtdPihgL2FwaS9hZG1pbi9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluUHJvZHVjdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29weUFkbWluUHJvZHVjdChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2NvcHlgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZVByb2R1Y3QoaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQcmljZShpZDogbnVtYmVyLCBkYXRhOiBTa1Byb2R1Y3RQcmljZSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3ByaWNlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdE9wZW5ncmFwaChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9vcGVuZ3JhcGhgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0TmF2ZXJFUChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9uYXZlcmVwYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdENhdGFsb2coaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0YWxvZ2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RPcHRpb24oaWQ6IG51bWJlciwgZGF0YTogeyBvcHRpb25zOiBJU2tQcm9kdWN0T3B0aW9uW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L29wdGlvbmAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQYWNrYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgcGFja2FnZXM6IHsgcHJvZHVjdElkOiBudW1iZXI7IHNob3dTcGVjOiBib29sZWFuOyBzaG93RGVzYzogYm9vbGVhbjsgc2hhcmU6IG51bWJlcjsgfVtdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9wYWNrYWdlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuT3B0aW9ucyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0T3B0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RPcHRpb25bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vcGFja2FnZS9jaGlsZHJlbi1vcHRpb25zYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuSW1hZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrRmlsZVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tGaWxlW10+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3BhY2thZ2UvY2hpbGRyZW4taW1hZ2VzYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrRmlsZShpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0QXJ0aWNsZURlc2MoaWQ6IG51bWJlciwgZGF0YTogeyBjb250ZW50OiBzdHJpbmcsIGltYWdlczogbnVtYmVyW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2FydGljbGUtZGVzY2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RBcnRpY2xlU3BlYyhpZDogbnVtYmVyLCBkYXRhOiB7IGNvbnRlbnQ6IHN0cmluZywgaW1hZ2VzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vYXJ0aWNsZS1zcGVjYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdEltYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgaW1hZ2VJZHM6IG51bWJlcltdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9pbWFnZWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RFRGVsaXZlcnkoaWQ6IG51bWJlciwgZGF0YTogeyBza3U6IHN0cmluZywgZG93bmxvYWRMaW5rOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2VkZWxpdmVyeWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RGdXJuaXR1cmVEZWxpdmVyeShpZDogbnVtYmVyLCBkYXRhOiB7IGZ1cm5pdHVyZUFzc2VtYmx5OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9mdXJuaXR1cmUtZGVsaXZlcnlgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICBhY3RpdmF0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL2FkbWluL3Byb2R1Y3RzL2FjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlYWN0aXZhdGVBZG1pblByb2R1Y3RzKHByb2R1Y3RzOiBTa1Byb2R1Y3RbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dChgL2FwaS9hZG1pbi9wcm9kdWN0cy9kZWFjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzL2RlbGV0ZS8ke3Byb2R1Y3RzLm1hcChwcm9kdWN0ID0+IHByb2R1Y3QuaWQpLmpvaW4oJywnKX1gKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RzQ291bnQoKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RDb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0Q291bnQ+KCcvYXBpL2FkbWluL3Byb2R1Y3RzL2NvdW50JylcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlV2lzaGxpc3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tQcm9kdWN0V2lzaGxpc3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdFdpc2hsaXN0PihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vd2lzaGxpc3RgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFdpc2hsaXN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFdpc2hsaXN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RXaXNobGlzdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9L3dpc2hsaXN0YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RPcHRpb25zKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RPcHRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvZHVjdE9wdGlvbltdPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vb3B0aW9uc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW0oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW1zKGlkOiBudW1iZXIsIGlkQXJyOiBudW1iZXJbXSk6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2AsIHtzdWJDYXRlZ29yeUl0ZW1zOiBpZEFycn0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0ZpbHRlckRhdGEocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdEZpbHRlckRhdGE+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RGaWx0ZXJEYXRhPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvZmlsdGVyLWRhdGFgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRJbmNsdWRlZFBhY2thZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke2lkfS9pbmNsdWRlZC1wYWNrYWdlc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIHVwZGF0ZUFkbWluU3RvY2tDb25maWcoaWQ6IG51bWJlciwgZGF0YTogU2tQcm9kdWN0U3RvY2spOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9zdG9ja3NgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TdG9ja0NvdW50KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFN0b2NrQ291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdFN0b2NrQ291bnQ+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrcy9jb3VudGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gT2JqZWN0LmFzc2lnbih7dG90YWxJbjogMCwgdG90YWxPdXQ6IDAsIGN1cnJlbnQ6IDB9LCByZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblN0b2NrcyhpZDogbnVtYmVyLCBwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFkZEFkbWluU3RvY2soaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RTdG9ja0NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tQcm9kdWN0U3RvY2tDb3VudD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vc3RvY2tzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBPYmplY3QuYXNzaWduKHt0b3RhbEluOiAwLCB0b3RhbE91dDogMCwgY3VycmVudDogMH0sIHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluU3RvY2socHJvZHVjdElkOiBudW1iZXIsIHN0b2NrSWQ6IG51bWJlciwgZGF0YTogeyBzZXJpYWw6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vc3RvY2tzLyR7c3RvY2tJZH1gLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5TdG9jayhwcm9kdWN0SWQ6IG51bWJlciwgc3RvY2tJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9zdG9ja3MvJHtzdG9ja0lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblNlcmllc0xpc3QocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxJU2tQcm9kdWN0U2VyaWVzTGlzdEl0ZW0+KGAvYXBpL2FkbWluL3Byb2R1Y3Qtc2VyaWVzYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TZXJpZXMoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SVNrUHJvZHVjdFNlcmllc0RldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvZHVjdFNlcmllc0RldGFpbD4oYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5TZXJpZXMoZGF0YTogSVNrUHJvZHVjdFNlcmllc0NyZWF0ZSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPihgL2FwaS9hZG1pbi9wcm9kdWN0LXNlcmllc2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblNlcmllcyhpZDogbnVtYmVyLCBkYXRhOiBJU2tQcm9kdWN0U2VyaWVzQ3JlYXRlKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0U2VyaWVzTGlzdEl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4oYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXMvJHtpZH1gLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5TZXJpZXMoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZShgL2FwaS9hZG1pbi9wcm9kdWN0LXNlcmllcy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblB1Ymxpc2gocHJvZHVjdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RQdWJsaXNoW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RQdWJsaXNoW10+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHVibGlzaChwcm9kdWN0SWQ6IG51bWJlciwgaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGUoYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtwcm9kdWN0SWR9L3B1Ymxpc2gvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5QdWJsaXNoKHByb2R1Y3RJZDogbnVtYmVyLCBkYXRhOiBJU2tQcm9kdWN0UHVibGlzaCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrUHJvZHVjdFB1Ymxpc2g+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHVibGlzaChwcm9kdWN0SWQ6IG51bWJlciwgZGF0YTogSVNrUHJvZHVjdFB1Ymxpc2gpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8SVNrUHJvZHVjdFB1Ymxpc2g+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,84 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { ApiPageableParam } from 'sk-front-lib/api';
4
- import { SkPromotion } from 'sk-front-lib/model';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "sk-front-lib/api";
7
- export class SkPromotionService {
8
- constructor(_apiService) {
9
- this._apiService = _apiService;
10
- }
11
- getPromotion(id) {
12
- return this._apiService.get(`/api/public/promotions/${id}`).pipe(map(response => response.data));
13
- }
14
- getPromotionPreview(id) {
15
- return this._apiService.get(`/api/admin/promotions/${id}/preview`).pipe(map(response => response.data));
16
- }
17
- getAdminPromotion(id) {
18
- return this._apiService.get(`/api/admin/promotions/${id}`).pipe(map(response => new SkPromotion(response.data)));
19
- }
20
- getAdminPromotionTarget(id) {
21
- return this._apiService.get(`/api/admin/promotions/${id}/target`).pipe(map(response => response.data));
22
- }
23
- getPromotions(params = new ApiPageableParam()) {
24
- return this._apiService.getPageable(`/api/public/promotions`, params.buildHttpParams()).pipe(map(response => response.data));
25
- }
26
- getAdminPromotions(params = new ApiPageableParam()) {
27
- return this._apiService.getPageable(`/api/admin/promotions`, params.buildHttpParams()).pipe(map(response => response.data));
28
- }
29
- getPromotionsArray(ids) {
30
- return this._apiService.get(`/api/public/promotions/array/${ids.join(',')}`).pipe(map(response => response.data));
31
- }
32
- getAdminPromotionsArray(ids) {
33
- return this._apiService.get(`/api/admin/promotions/array/${ids.join(',')}`).pipe(map(response => response.data));
34
- }
35
- createAdminPromotion(data) {
36
- return this._apiService.post(`/api/admin/promotions`, data).pipe(map(response => new SkPromotion(response.data)));
37
- }
38
- updatePromotion(id, data) {
39
- return this._apiService.put(`/api/public/promotions/${id}`, data).pipe(map(response => new SkPromotion(response.data)));
40
- }
41
- updateAdminPromotion(id, data) {
42
- return this._apiService.put(`/api/admin/promotions/${id}`, data).pipe(map(response => new SkPromotion(response.data)));
43
- }
44
- updateAdminPromotionTarget(id, data) {
45
- return this._apiService.put(`/api/admin/promotions/${id}/target`, data).pipe(map(response => response.data));
46
- }
47
- updateAdminPromotionGift(id, data) {
48
- return this._apiService.put(`/api/admin/promotions/${id}/gift`, data).pipe(map(response => new SkPromotion(response.data)));
49
- }
50
- updateAdminPromotionContent(id, data) {
51
- return this._apiService.put(`/api/admin/promotions/${id}/content`, data).pipe(map(response => new SkPromotion(response.data)));
52
- }
53
- updateAdminPromotionBenefit(id, data) {
54
- return this._apiService.put(`/api/admin/promotions/${id}/benefit`, data).pipe(map(response => new SkPromotion(response.data)));
55
- }
56
- updateAdminPromotionImage(id, data) {
57
- return this._apiService.put(`/api/admin/promotions/${id}/image`, data).pipe(map(response => new SkPromotion(response.data)));
58
- }
59
- updateAdminPromotionOpengraph(id, data) {
60
- return this._apiService.put(`/api/admin/promotions/${id}/opengraph`, data).pipe(map(response => new SkPromotion(response.data)));
61
- }
62
- activateAdminPromotions(promotions) {
63
- return this._apiService.put(`/api/admin/promotions/activate/${promotions.map(promotion => promotion.id).join(',')}`, null);
64
- }
65
- deactivateAdminPromotions(promotions) {
66
- return this._apiService.put(`/api/admin/promotions/deactivate/${promotions.map(promotion => promotion.id).join(',')}`, null);
67
- }
68
- deleteAdminPromotions(promotions) {
69
- return this._apiService.delete(`/api/admin/promotions/delete/${promotions.map(promotion => promotion.id).join(',')}`);
70
- }
71
- getAdminPromotionsCount() {
72
- return this._apiService.get('/api/admin/promotions/count')
73
- .pipe(map(response => response.data));
74
- }
75
- }
76
- SkPromotionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkPromotionService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
77
- SkPromotionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkPromotionService, providedIn: 'root' });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkPromotionService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root'
82
- }]
83
- }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stcHJvbW90aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvY3J1ZC9zcmMvc2stcHJvbW90aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFlLGdCQUFnQixFQUFnQixNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFLSCxXQUFXLEVBRWQsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSzVCLE1BQU0sT0FBTyxrQkFBa0I7SUFFM0IsWUFBb0IsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFFN0MsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQTJCLDBCQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdEYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELG1CQUFtQixDQUFDLEVBQVU7UUFDMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBMkIseUJBQXlCLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM3RixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFjLHlCQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDeEUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxX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QUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsd0JBQXdCLENBQUMsRUFBVSxFQUFFLElBQXlCO1FBQzFELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWMseUJBQXlCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbkYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2xELENBQUM7SUFDTixDQUFDO0lBRUQsMkJBQTJCLENBQUMsRUFBVSxFQUFFLElBQTJDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWMseUJBQXlCLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDdEYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2xELENBQUM7SUFDTixDQUFDO0lBRUQsMkJBQTJCLENBQUMsRUFBVSxFQUFFLElBQTJDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWMseUJBQXlCLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDdEYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2xELENBQUM7SUFDTixDQUFDO0lBRUQseUJBQXlCLENBQUMsRUFBVSxFQUFFLElBQTZCO1FBQy9ELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWMseUJBQXlCLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDcEYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2xELENBQUM7SUFDTixDQUFDO0lBRUQsNkJBQTZCLENBQUMsRUFBVSxFQUFFLElBQVM7UUFDL0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBYyx5QkFBeUIsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN4RixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbEQsQ0FBQztJQUNOLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxVQUF5QjtRQUM3QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ILENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxVQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pJLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxVQUF5QjtRQUMzQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGdDQUFnQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQiw2QkFBNkIsQ0FBQzthQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7K0dBM0hRLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTsyRkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7XG4gICAgSVNrUHJvbW90aW9uUHVibGljRGV0YWlsLFxuICAgIElTa1Byb21vdGlvblB1YmxpY0xpc3QsXG4gICAgSVNrUHJvbW90aW9uVGFyZ2V0SXRlbSxcbiAgICBJU2tQcm9tb3Rpb25VcGRhdGVJbWFnZSxcbiAgICBTa1Byb21vdGlvbixcbiAgICBTa1Byb21vdGlvbkNvdW50XG59IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tQcm9tb3Rpb25TZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwaVNlcnZpY2U6IFNrQXBpU2VydmljZSkge1xuXG4gICAgfVxuXG4gICAgZ2V0UHJvbW90aW9uKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb21vdGlvblB1YmxpY0RldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvbW90aW9uUHVibGljRGV0YWlsPihgL2FwaS9wdWJsaWMvcHJvbW90aW9ucy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9tb3Rpb25QcmV2aWV3KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb21vdGlvblB1YmxpY0RldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvbW90aW9uUHVibGljRGV0YWlsPihgL2FwaS9hZG1pbi9wcm9tb3Rpb25zLyR7aWR9L3ByZXZpZXdgKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Qcm9tb3Rpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tQcm9tb3Rpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvbW90aW9uPihgL2FwaS9hZG1pbi9wcm9tb3Rpb25zLyR7aWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9tb3Rpb24ocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Qcm9tb3Rpb25UYXJnZXQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SVNrUHJvbW90aW9uVGFyZ2V0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tQcm9tb3Rpb25UYXJnZXRJdGVtW10+KGAvYXBpL2FkbWluL3Byb21vdGlvbnMvJHtpZH0vdGFyZ2V0YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByb21vdGlvbnMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8SVNrUHJvbW90aW9uUHVibGljTGlzdD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8U2tQcm9tb3Rpb24+KGAvYXBpL3B1YmxpYy9wcm9tb3Rpb25zYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Qcm9tb3Rpb25zKHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPEFwaVBhZ2VhYmxlPFNrUHJvbW90aW9uPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa1Byb21vdGlvbj4oYC9hcGkvYWRtaW4vcHJvbW90aW9uc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByb21vdGlvbnNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxJU2tQcm9tb3Rpb25QdWJsaWNMaXN0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb21vdGlvblB1YmxpY0xpc3RbXT4oYC9hcGkvcHVibGljL3Byb21vdGlvbnMvYXJyYXkvJHtpZHMuam9pbignLCcpfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb21vdGlvbnNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa1Byb21vdGlvbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb21vdGlvbltdPihgL2FwaS9hZG1pbi9wcm9tb3Rpb25zL2FycmF5LyR7aWRzLmpvaW4oJywnKX1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5Qcm9tb3Rpb24oZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb21vdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrUHJvbW90aW9uPihgL2FwaS9hZG1pbi9wcm9tb3Rpb25zYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9tb3Rpb24ocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlUHJvbW90aW9uKGlkOiBudW1iZXIsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8U2tQcm9tb3Rpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvbW90aW9uPihgL2FwaS9wdWJsaWMvcHJvbW90aW9ucy8ke2lkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvbW90aW9uKHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvbW90aW9uKGlkOiBudW1iZXIsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8U2tQcm9tb3Rpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvbW90aW9uPihgL2FwaS9hZG1pbi9wcm9tb3Rpb25zLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9tb3Rpb24ocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9tb3Rpb25UYXJnZXQoaWQ6IG51bWJlciwgZGF0YTogeyB0YXJnZXRzOiBJU2tQcm9tb3Rpb25UYXJnZXRJdGVtW10gfSk6IE9ic2VydmFibGU8SVNrUHJvbW90aW9uVGFyZ2V0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tQcm9tb3Rpb25UYXJnZXRJdGVtW10+KGAvYXBpL2FkbWluL3Byb21vdGlvbnMvJHtpZH0vdGFyZ2V0YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvbW90aW9uR2lmdChpZDogbnVtYmVyLCBkYXRhOiB7IGdpZnRzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa1Byb21vdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9tb3Rpb24+KGAvYXBpL2FkbWluL3Byb21vdGlvbnMvJHtpZH0vZ2lmdGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvbW90aW9uKHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvbW90aW9uQ29udGVudChpZDogbnVtYmVyLCBkYXRhOiB7IGNvbnRlbnQ6IHN0cmluZywgaW1hZ2VzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa1Byb21vdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9tb3Rpb24+KGAvYXBpL2FkbWluL3Byb21vdGlvbnMvJHtpZH0vY29udGVudGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvbW90aW9uKHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvbW90aW9uQmVuZWZpdChpZDogbnVtYmVyLCBkYXRhOiB7IGNvbnRlbnQ6IHN0cmluZywgaW1hZ2VzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa1Byb21vdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9tb3Rpb24+KGAvYXBpL2FkbWluL3Byb21vdGlvbnMvJHtpZH0vYmVuZWZpdGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvbW90aW9uKHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvbW90aW9uSW1hZ2UoaWQ6IG51bWJlciwgZGF0YTogSVNrUHJvbW90aW9uVXBkYXRlSW1hZ2UpOiBPYnNlcnZhYmxlPFNrUHJvbW90aW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb21vdGlvbj4oYC9hcGkvYWRtaW4vcHJvbW90aW9ucy8ke2lkfS9pbWFnZWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvbW90aW9uKHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvbW90aW9uT3BlbmdyYXBoKGlkOiBudW1iZXIsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8U2tQcm9tb3Rpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvbW90aW9uPihgL2FwaS9hZG1pbi9wcm9tb3Rpb25zLyR7aWR9L29wZW5ncmFwaGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvbW90aW9uKHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFjdGl2YXRlQWRtaW5Qcm9tb3Rpb25zKHByb21vdGlvbnM6IFNrUHJvbW90aW9uW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQoYC9hcGkvYWRtaW4vcHJvbW90aW9ucy9hY3RpdmF0ZS8ke3Byb21vdGlvbnMubWFwKHByb21vdGlvbiA9PiBwcm9tb3Rpb24uaWQpLmpvaW4oJywnKX1gLCBudWxsKTtcbiAgICB9XG5cbiAgICBkZWFjdGl2YXRlQWRtaW5Qcm9tb3Rpb25zKHByb21vdGlvbnM6IFNrUHJvbW90aW9uW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQoYC9hcGkvYWRtaW4vcHJvbW90aW9ucy9kZWFjdGl2YXRlLyR7cHJvbW90aW9ucy5tYXAocHJvbW90aW9uID0+IHByb21vdGlvbi5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHJvbW90aW9ucyhwcm9tb3Rpb25zOiBTa1Byb21vdGlvbltdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb21vdGlvbnMvZGVsZXRlLyR7cHJvbW90aW9ucy5tYXAocHJvbW90aW9uID0+IHByb21vdGlvbi5pZCkuam9pbignLCcpfWApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvbW90aW9uc0NvdW50KCk6IE9ic2VydmFibGU8U2tQcm9tb3Rpb25Db3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9tb3Rpb25Db3VudD4oJy9hcGkvYWRtaW4vcHJvbW90aW9ucy9jb3VudCcpXG4gICAgICAgICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSkpO1xuICAgIH1cblxufVxuIl19
@@ -1,25 +0,0 @@
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 SkSearchService {
7
- constructor(_apiService) {
8
- this._apiService = _apiService;
9
- }
10
- getSearchResults(params = new ApiPageableParam()) {
11
- return this._apiService.get(`/api/public/search`, params.buildHttpParams()).pipe(map(response => response.data));
12
- }
13
- getSearchKeywords() {
14
- return this._apiService.get(`/api/public/search/keywords`).pipe(map(response => response.data));
15
- }
16
- }
17
- SkSearchService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
18
- SkSearchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchService, providedIn: 'root' });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchService, decorators: [{
20
- type: Injectable,
21
- args: [{
22
- providedIn: 'root'
23
- }]
24
- }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stc2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvY3J1ZC9zcmMvc2stc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLGdCQUFnQixFQUFlLE1BQU0sa0JBQWtCLENBQUM7OztBQU1oRSxNQUFNLE9BQU8sZUFBZTtJQUV4QixZQUFvQixXQUF5QjtRQUF6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUU3QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBMkIsSUFBSSxnQkFBZ0IsRUFBRTtRQUM5RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFrQixvQkFBb0IsRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzdGLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFxQiw2QkFBNkIsQ0FBQyxDQUFDLElBQUksQ0FDL0UsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQzs7NEdBaEJRLGVBQWU7Z0hBQWYsZUFBZSxjQUZaLE1BQU07MkZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FwaVBhZ2VhYmxlUGFyYW0sIFNrQXBpU2VydmljZX0gZnJvbSAnc2stZnJvbnQtbGliL2FwaSc7XG5pbXBvcnQge0lTa1NlYXJjaEtleXdvcmQsIElTa1NlYXJjaFJlc3VsdH0gZnJvbSAnc2stZnJvbnQtbGliL21vZGVsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa1NlYXJjaFNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlKSB7XG5cbiAgICB9XG5cbiAgICBnZXRTZWFyY2hSZXN1bHRzKHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPElTa1NlYXJjaFJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrU2VhcmNoUmVzdWx0PihgL2FwaS9wdWJsaWMvc2VhcmNoYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0U2VhcmNoS2V5d29yZHMoKTogT2JzZXJ2YWJsZTxJU2tTZWFyY2hLZXl3b3JkW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1NlYXJjaEtleXdvcmRbXT4oYC9hcGkvcHVibGljL3NlYXJjaC9rZXl3b3Jkc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=