sk-front-lib 0.18.2 → 0.18.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 (173) hide show
  1. package/article/sk-article-editor-server.component.d.ts +1 -1
  2. package/article/sk-article-editor.component.d.ts +1 -1
  3. package/article/sk-froala-editor.directive.d.ts +1 -1
  4. package/crud/sk-auth-admin.guard.d.ts +2 -2
  5. package/crud/sk-auth.guard.d.ts +2 -2
  6. package/{esm2020 → esm2022}/api/sk-api.module.mjs +9 -9
  7. package/{esm2020 → esm2022}/api/sk-api.service.mjs +4 -4
  8. package/{esm2020 → esm2022}/article/sk-article-editor-server.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/article/sk-article-editor.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/article/sk-article-server.module.mjs +5 -5
  11. package/{esm2020 → esm2022}/article/sk-article.module.mjs +7 -7
  12. package/{esm2020 → esm2022}/article/sk-article.service.mjs +4 -4
  13. package/{esm2020 → esm2022}/article/sk-froala-editor.directive.mjs +7 -7
  14. package/{esm2020 → esm2022}/crud/sk-account.service.mjs +4 -4
  15. package/{esm2020 → esm2022}/crud/sk-affiliate.service.mjs +4 -4
  16. package/{esm2020 → esm2022}/crud/sk-auth-admin.guard.mjs +4 -4
  17. package/{esm2020 → esm2022}/crud/sk-auth.guard.mjs +4 -4
  18. package/{esm2020 → esm2022}/crud/sk-auth.service.mjs +7 -7
  19. package/{esm2020 → esm2022}/crud/sk-board.service.mjs +4 -4
  20. package/{esm2020 → esm2022}/crud/sk-brand.service.mjs +4 -4
  21. package/esm2022/crud/sk-cart.service.mjs +256 -0
  22. package/{esm2020 → esm2022}/crud/sk-category.service.mjs +4 -4
  23. package/{esm2020 → esm2022}/crud/sk-comment.service.mjs +4 -4
  24. package/{esm2020 → esm2022}/crud/sk-config.service.mjs +4 -4
  25. package/{esm2020 → esm2022}/crud/sk-contact.service.mjs +4 -4
  26. package/{esm2020 → esm2022}/crud/sk-coupon.service.mjs +4 -4
  27. package/{esm2020 → esm2022}/crud/sk-document.service.mjs +4 -4
  28. package/{esm2020 → esm2022}/crud/sk-etc.service.mjs +4 -4
  29. package/{esm2020 → esm2022}/crud/sk-file.service.mjs +4 -4
  30. package/{esm2020 → esm2022}/crud/sk-keyword.service.mjs +4 -4
  31. package/{esm2020 → esm2022}/crud/sk-order.service.mjs +4 -4
  32. package/{esm2020 → esm2022}/crud/sk-point.service.mjs +4 -4
  33. package/{esm2020 → esm2022}/crud/sk-product.service.mjs +4 -4
  34. package/{esm2020 → esm2022}/crud/sk-promotion.service.mjs +4 -4
  35. package/{esm2020 → esm2022}/crud/sk-search.service.mjs +4 -4
  36. package/{esm2020 → esm2022}/crud/sk-store.service.mjs +4 -4
  37. package/{esm2020 → esm2022}/crud/sk-user.service.mjs +4 -4
  38. package/{esm2020 → esm2022}/google-analytics/google-analytics-router.module.mjs +9 -9
  39. package/{esm2020 → esm2022}/google-analytics/google-analytics.module.mjs +5 -5
  40. package/{esm2020 → esm2022}/google-analytics/services/google-analytics.service.mjs +4 -4
  41. package/{esm2020 → esm2022}/image/sk-image.component.mjs +6 -6
  42. package/esm2022/image/sk-image.module.mjs +40 -0
  43. package/{esm2020 → esm2022}/lib/sk-byte.pipe.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/sk-date-time.pipe.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/sk-date.pipe.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/sk-front-lib.module.mjs +13 -13
  47. package/{esm2020 → esm2022}/lib/sk-keys.pipe.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/sk-time.pipe.mjs +4 -4
  49. package/esm2022/model/lib/filetype.mjs +179 -0
  50. package/esm2022/search-address/dialog/dialog.component.mjs +27 -0
  51. package/{esm2020 → esm2022}/search-address/sk-search-address.directive.mjs +6 -6
  52. package/esm2022/search-address/sk-search-address.module.mjs +47 -0
  53. package/{esm2020 → esm2022}/search-address/sk-search-address.service.mjs +4 -4
  54. package/esm2022/uploader/sk-uploader.component.mjs +119 -0
  55. package/esm2022/uploader/sk-uploader.directive.mjs +44 -0
  56. package/esm2022/uploader/sk-uploader.module.mjs +57 -0
  57. package/{fesm2020 → fesm2022}/sk-front-lib-api.mjs +11 -11
  58. package/{fesm2020 → fesm2022}/sk-front-lib-api.mjs.map +1 -1
  59. package/{fesm2020 → fesm2022}/sk-front-lib-article.mjs +25 -25
  60. package/{fesm2020 → fesm2022}/sk-front-lib-article.mjs.map +1 -1
  61. package/{fesm2020 → fesm2022}/sk-front-lib-crud.mjs +93 -93
  62. package/fesm2022/sk-front-lib-crud.mjs.map +1 -0
  63. package/{fesm2020 → fesm2022}/sk-front-lib-google-analytics.mjs +15 -15
  64. package/{fesm2020 → fesm2022}/sk-front-lib-google-analytics.mjs.map +1 -1
  65. package/{fesm2020 → fesm2022}/sk-front-lib-image.mjs +21 -21
  66. package/fesm2022/sk-front-lib-image.mjs.map +1 -0
  67. package/{fesm2015 → fesm2022}/sk-front-lib-model.mjs +56 -56
  68. package/{fesm2020 → fesm2022}/sk-front-lib-model.mjs.map +1 -1
  69. package/{fesm2020 → fesm2022}/sk-front-lib-search-address.mjs +32 -32
  70. package/fesm2022/sk-front-lib-search-address.mjs.map +1 -0
  71. package/{fesm2020 → fesm2022}/sk-front-lib-uploader.mjs +48 -49
  72. package/fesm2022/sk-front-lib-uploader.mjs.map +1 -0
  73. package/{fesm2020 → fesm2022}/sk-front-lib.mjs +27 -27
  74. package/{fesm2015 → fesm2022}/sk-front-lib.mjs.map +1 -1
  75. package/google-analytics/types/ga-action.type.d.ts +1 -1
  76. package/google-analytics/types/ga-bind.type.d.ts +1 -1
  77. package/image/sk-image.component.d.ts +2 -2
  78. package/image/sk-image.module.d.ts +3 -3
  79. package/model/lib/payment.d.ts +1 -1
  80. package/package.json +44 -66
  81. package/search-address/dialog/dialog.component.d.ts +1 -1
  82. package/search-address/sk-search-address.directive.d.ts +2 -2
  83. package/search-address/sk-search-address.module.d.ts +3 -3
  84. package/uploader/sk-uploader.component.d.ts +1 -1
  85. package/uploader/sk-uploader.directive.d.ts +2 -2
  86. package/uploader/sk-uploader.module.d.ts +5 -5
  87. package/esm2020/crud/sk-cart.service.mjs +0 -256
  88. package/esm2020/image/sk-image.module.mjs +0 -40
  89. package/esm2020/model/lib/filetype.mjs +0 -179
  90. package/esm2020/search-address/dialog/dialog.component.mjs +0 -27
  91. package/esm2020/search-address/sk-search-address.module.mjs +0 -47
  92. package/esm2020/uploader/sk-uploader.component.mjs +0 -120
  93. package/esm2020/uploader/sk-uploader.directive.mjs +0 -44
  94. package/esm2020/uploader/sk-uploader.module.mjs +0 -57
  95. package/fesm2015/sk-front-lib-api.mjs +0 -216
  96. package/fesm2015/sk-front-lib-api.mjs.map +0 -1
  97. package/fesm2015/sk-front-lib-article.mjs +0 -758
  98. package/fesm2015/sk-front-lib-article.mjs.map +0 -1
  99. package/fesm2015/sk-front-lib-crud.mjs +0 -1529
  100. package/fesm2015/sk-front-lib-crud.mjs.map +0 -1
  101. package/fesm2015/sk-front-lib-google-analytics.mjs +0 -334
  102. package/fesm2015/sk-front-lib-google-analytics.mjs.map +0 -1
  103. package/fesm2015/sk-front-lib-image.mjs +0 -303
  104. package/fesm2015/sk-front-lib-image.mjs.map +0 -1
  105. package/fesm2015/sk-front-lib-model.mjs.map +0 -1
  106. package/fesm2015/sk-front-lib-search-address.mjs +0 -183
  107. package/fesm2015/sk-front-lib-search-address.mjs.map +0 -1
  108. package/fesm2015/sk-front-lib-uploader.mjs +0 -546
  109. package/fesm2015/sk-front-lib-uploader.mjs.map +0 -1
  110. package/fesm2015/sk-front-lib.mjs +0 -538
  111. package/fesm2020/sk-front-lib-crud.mjs.map +0 -1
  112. package/fesm2020/sk-front-lib-image.mjs.map +0 -1
  113. package/fesm2020/sk-front-lib-model.mjs +0 -1105
  114. package/fesm2020/sk-front-lib-search-address.mjs.map +0 -1
  115. package/fesm2020/sk-front-lib-uploader.mjs.map +0 -1
  116. package/fesm2020/sk-front-lib.mjs.map +0 -1
  117. /package/{esm2020 → esm2022}/api/model/api-config.mjs +0 -0
  118. /package/{esm2020 → esm2022}/api/model/api-pageable-param.mjs +0 -0
  119. /package/{esm2020 → esm2022}/api/model/api-pageable.mjs +0 -0
  120. /package/{esm2020 → esm2022}/api/model/api-response.mjs +0 -0
  121. /package/{esm2020 → esm2022}/api/model/index.mjs +0 -0
  122. /package/{esm2020 → esm2022}/api/public_api.mjs +0 -0
  123. /package/{esm2020 → esm2022}/api/sk-front-lib-api.mjs +0 -0
  124. /package/{esm2020 → esm2022}/article/public_api.mjs +0 -0
  125. /package/{esm2020 → esm2022}/article/sk-front-lib-article.mjs +0 -0
  126. /package/{esm2020 → esm2022}/crud/public_api.mjs +0 -0
  127. /package/{esm2020 → esm2022}/crud/sk-front-lib-crud.mjs +0 -0
  128. /package/{esm2020 → esm2022}/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -0
  129. /package/{esm2020 → esm2022}/google-analytics/initializers/google-analytics.initializer.mjs +0 -0
  130. /package/{esm2020 → esm2022}/google-analytics/interfaces/google-analytics-command.mjs +0 -0
  131. /package/{esm2020 → esm2022}/google-analytics/interfaces/google-analytics-settings.mjs +0 -0
  132. /package/{esm2020 → esm2022}/google-analytics/public_api.mjs +0 -0
  133. /package/{esm2020 → esm2022}/google-analytics/sk-front-lib-google-analytics.mjs +0 -0
  134. /package/{esm2020 → esm2022}/google-analytics/tokens/google-analytics-settings-token.mjs +0 -0
  135. /package/{esm2020 → esm2022}/google-analytics/types/ga-action.type.mjs +0 -0
  136. /package/{esm2020 → esm2022}/google-analytics/types/ga-bind.type.mjs +0 -0
  137. /package/{esm2020 → esm2022}/image/public_api.mjs +0 -0
  138. /package/{esm2020 → esm2022}/image/sk-front-lib-image.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/sk-animations.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/sk-utils.mjs +0 -0
  141. /package/{esm2020 → esm2022}/model/lib/article.mjs +0 -0
  142. /package/{esm2020 → esm2022}/model/lib/audit.mjs +0 -0
  143. /package/{esm2020 → esm2022}/model/lib/auth.mjs +0 -0
  144. /package/{esm2020 → esm2022}/model/lib/board.mjs +0 -0
  145. /package/{esm2020 → esm2022}/model/lib/cart.mjs +0 -0
  146. /package/{esm2020 → esm2022}/model/lib/comment.mjs +0 -0
  147. /package/{esm2020 → esm2022}/model/lib/contact.mjs +0 -0
  148. /package/{esm2020 → esm2022}/model/lib/coupon.mjs +0 -0
  149. /package/{esm2020 → esm2022}/model/lib/document.mjs +0 -0
  150. /package/{esm2020 → esm2022}/model/lib/etc.mjs +0 -0
  151. /package/{esm2020 → esm2022}/model/lib/file.mjs +0 -0
  152. /package/{esm2020 → esm2022}/model/lib/grid.mjs +0 -0
  153. /package/{esm2020 → esm2022}/model/lib/nicepay.mjs +0 -0
  154. /package/{esm2020 → esm2022}/model/lib/order.mjs +0 -0
  155. /package/{esm2020 → esm2022}/model/lib/payment.mjs +0 -0
  156. /package/{esm2020 → esm2022}/model/lib/point.mjs +0 -0
  157. /package/{esm2020 → esm2022}/model/lib/product-series.mjs +0 -0
  158. /package/{esm2020 → esm2022}/model/lib/product.mjs +0 -0
  159. /package/{esm2020 → esm2022}/model/lib/promotion.mjs +0 -0
  160. /package/{esm2020 → esm2022}/model/lib/shipping.mjs +0 -0
  161. /package/{esm2020 → esm2022}/model/lib/user.mjs +0 -0
  162. /package/{esm2020 → esm2022}/model/public_api.mjs +0 -0
  163. /package/{esm2020 → esm2022}/model/sk-front-lib-model.mjs +0 -0
  164. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  165. /package/{esm2020 → esm2022}/search-address/public_api.mjs +0 -0
  166. /package/{esm2020 → esm2022}/search-address/sk-front-lib-search-address.mjs +0 -0
  167. /package/{esm2020 → esm2022}/search-address/sk-search-address.model.mjs +0 -0
  168. /package/{esm2020 → esm2022}/sk-front-lib.mjs +0 -0
  169. /package/{esm2020 → esm2022}/uploader/public_api.mjs +0 -0
  170. /package/{esm2020 → esm2022}/uploader/sk-front-lib-uploader.mjs +0 -0
  171. /package/{esm2020 → esm2022}/uploader/sk-uploader-file-item.model.mjs +0 -0
  172. /package/{esm2020 → esm2022}/uploader/sk-uploader.animation.mjs +0 -0
  173. /package/{esm2020 → esm2022}/uploader/sk-uploader.class.mjs +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sk-front-lib-crud.mjs","sources":["../../../projects/sk-front-lib/crud/src/sk-affiliate.service.ts","../../../projects/sk-front-lib/crud/src/sk-file.service.ts","../../../projects/sk-front-lib/crud/src/sk-auth.service.ts","../../../projects/sk-front-lib/crud/src/sk-auth.guard.ts","../../../projects/sk-front-lib/crud/src/sk-auth-admin.guard.ts","../../../projects/sk-front-lib/crud/src/sk-user.service.ts","../../../projects/sk-front-lib/crud/src/sk-document.service.ts","../../../projects/sk-front-lib/crud/src/sk-board.service.ts","../../../projects/sk-front-lib/crud/src/sk-brand.service.ts","../../../projects/sk-front-lib/crud/src/sk-category.service.ts","../../../projects/sk-front-lib/crud/src/sk-product.service.ts","../../../projects/sk-front-lib/crud/src/sk-promotion.service.ts","../../../projects/sk-front-lib/crud/src/sk-config.service.ts","../../../projects/sk-front-lib/crud/src/sk-cart.service.ts","../../../projects/sk-front-lib/crud/src/sk-order.service.ts","../../../projects/sk-front-lib/crud/src/sk-account.service.ts","../../../projects/sk-front-lib/crud/src/sk-search.service.ts","../../../projects/sk-front-lib/crud/src/sk-point.service.ts","../../../projects/sk-front-lib/crud/src/sk-coupon.service.ts","../../../projects/sk-front-lib/crud/src/sk-comment.service.ts","../../../projects/sk-front-lib/crud/src/sk-contact.service.ts","../../../projects/sk-front-lib/crud/src/sk-etc.service.ts","../../../projects/sk-front-lib/crud/src/sk-store.service.ts","../../../projects/sk-front-lib/crud/src/sk-keyword.service.ts","../../../projects/sk-front-lib/crud/src/sk-front-lib-crud.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport { ISkAffiliateRequest, ISkAffiliateStats, SkAffiliateRequestStatus, ISkAffiliateTarget } from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAffiliateService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n\n registerAffiliate(data: {id?: string, name: string, phoneNumber: string, social?: string, content: string, images?: number[], attachment?: number }): Observable<ISkAffiliateRequest> {\n return this._apiService.post<ISkAffiliateRequest>(`/api/public/affiliate`, data).pipe(\n map(response => response.data)\n );\n }\n\n getMyAffiliateData(): Observable<ISkAffiliateRequest> {\n return this._apiService.get<ISkAffiliateRequest>(`/api/public/affiliate/me`).pipe(\n map(response => response.data)\n );\n }\n\n getMyAffiliateStats(): Observable<ISkAffiliateStats> {\n return this._apiService.get<ISkAffiliateStats>(`/api/public/affiliate/me/stats`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminAffiliateStats(id: number): Observable<ISkAffiliateStats> {\n return this._apiService.get<ISkAffiliateStats>(`/api/admin/affiliate/user-id/${id}/stats`).pipe(\n map(response => response.data)\n );\n }\n\n productViewEvent(productId: number, affiliateKey: string): Observable<any> {\n return this._apiService.get(`/api/public/affiliate/event/product-view?id=${productId}&affiliate=${affiliateKey}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminList(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkAffiliateRequest>> {\n return this._apiService.getPageable<ISkAffiliateRequest>(`/api/admin/affiliate`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminAffiliate(id: string): Observable<ISkAffiliateRequest> {\n return this._apiService.get<ISkAffiliateRequest>(`/api/admin/affiliate/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminAffiliateByUserId(userId: number): Observable<ISkAffiliateRequest> {\n return this._apiService.get<ISkAffiliateRequest>(`/api/admin/affiliate/user-id/${userId}`).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminStatus(id: string, data: { status: SkAffiliateRequestStatus, denyReason: string }): Observable<ISkAffiliateRequest> {\n return this._apiService.put<ISkAffiliateRequest>(`/api/admin/affiliate/${id}/update-status`, data).pipe(\n map(response => response.data)\n );\n }\n\n activateAdminAffiliates(affiliates: ISkAffiliateRequest[]): Observable<any> {\n return this._apiService.put(`/api/admin/affiliate/activate/${affiliates.map(i => i.id).join(',')}`, null);\n }\n\n deactivateAdminAffiliates(affiliates: ISkAffiliateRequest[]): Observable<any> {\n return this._apiService.put(`/api/admin/affiliate/deactivate/${affiliates.map(i => i.id).join(',')}`, null);\n }\n\n deleteAffiliates(affiliates: ISkAffiliateRequest[]): Observable<any> {\n return this._apiService.delete(`/api/admin/affiliate/delete/${affiliates.map(i => i.id).join(',')}`);\n }\n\n getAdminAffiliateTargets(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkAffiliateTarget>> {\n return this._apiService.getPageable<ISkAffiliateTarget>(`/api/admin/affiliate/targets`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminAffiliateTarget(id: number): Observable<ISkAffiliateTarget> {\n return this._apiService.get(`/api/admin/affiliate/targets/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminAffiliateTarget(data: ISkAffiliateTarget) {\n return this._apiService.post<ISkAffiliateTarget>(`/api/admin/affiliate/targets`, {\n type: data.type,\n apply: data.apply,\n orderIndex: data.orderIndex,\n startDate: data.startDate,\n endDate: data.endDate,\n brand: data.brand?.id,\n category: data.category?.id,\n products: (data.products || []).map(i => i.id),\n rebateAmount: data.rebateAmount,\n rebateType: data.rebateType,\n activated: data.activated\n }).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminAffiliateTarget(id: number, data: ISkAffiliateTarget) {\n return this._apiService.put<ISkAffiliateTarget>(`/api/admin/affiliate/targets/${id}`, {\n type: data.type,\n apply: data.apply,\n orderIndex: data.orderIndex,\n startDate: data.startDate,\n endDate: data.endDate,\n brand: data.brand?.id,\n category: data.category?.id,\n products: (data.products || []).map(i => i.id),\n rebateAmount: data.rebateAmount,\n rebateType: data.rebateType,\n activated: data.activated\n }).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminAffiliateTargets(target: ISkAffiliateTarget[] = []): Observable<any> {\n return this._apiService.delete(`/api/admin/affiliate/targets/${target.map(i => i.id).join(',')}`);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkFile} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkFileService {\n\n public apiServer: string;\n\n constructor(private _apiService: SkApiService) {\n this.apiServer = _apiService.apiServer;\n }\n\n getFile(id: number): Observable<SkFile> {\n return this._apiService.get<SkFile>(`/api/admin/files/${id}`)\n .pipe(\n map(result => new SkFile(result.data))\n );\n }\n\n getAdminFiles(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkFile>> {\n return this._apiService.getPageable<SkFile>(`/api/admin/files`, params.buildHttpParams()).pipe(\n map(response => {\n response.data.content = (response.data.content || []).map(item => new SkFile(item));\n return response.data;\n })\n );\n }\n\n deleteAdminFile(id: number): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/files/${id}`);\n }\n\n updateAdminFile(id, data: { isPrivate?: boolean, isValid?: boolean }): Observable<SkFile> {\n return this._apiService.put<SkFile>(`/api/admin/files/${id}`, data).pipe(\n map(result => new SkFile(result.data))\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {SkApiService} from 'sk-front-lib/api';\nimport {BehaviorSubject, Observable, of} from 'rxjs';\nimport {ISkReqLogin, ISkResLogin, SkUser} from 'sk-front-lib/model';\nimport {catchError, map, switchMap, take, tap} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAuthService {\n private baseUrl = '/api/auth';\n _userinfo$ = new BehaviorSubject<SkUser>(new SkUser());\n\n get userinfo$(): Observable<SkUser> {\n return this._userinfo$.asObservable();\n }\n\n constructor(private _router: Router,\n private apiService: SkApiService) {\n\n }\n\n moveLoginPage() {\n return this._router.navigate([this.apiService.loginUrl, {returnUrl: this._router.url}]);\n }\n\n login(data: ISkReqLogin): Observable<ISkResLogin> {\n return this.apiService.post<ISkResLogin>(this.baseUrl + '/signin', data).pipe(\n tap(response => {\n if (response.status === 200) {\n this.apiService.setToken(response.data.token);\n }\n }),\n map(response => response.data)\n );\n }\n\n logout(): void {\n this._userinfo$.next(new SkUser());\n this.apiService.clearToken();\n }\n\n loadMyInfo(refresh: boolean = false) {\n if (this.apiService.getToken()) {\n if (this._userinfo$.getValue().isAnonymous() || refresh) {\n return this.apiService.get<SkUser>(this.baseUrl + '/me').pipe(\n map(result => !!result.data ? new SkUser(result.data) : new SkUser()),\n catchError(err => of(new SkUser())),\n tap(user => this._userinfo$.next(user)),\n switchMap(() => of(this._userinfo$.getValue())),\n );\n }\n }\n\n return of(this._userinfo$.getValue());\n }\n\n checkAdminAccessable(): Observable<boolean> {\n return this.loadMyInfo().pipe(map(result => result.isAdminAccessable()));\n }\n\n checkLogin(): Observable<boolean> {\n return this.loadMyInfo().pipe(map(result => !result.isAnonymous()));\n }\n\n sendMailForActivateAccount(email: string): Observable<string> {\n return this.apiService.post<string>(this.baseUrl + '/activate-account', {email}).pipe(\n map(response => response.data)\n );\n }\n\n sendMailForResetPassword(email: string): Observable<string> {\n return this.apiService.post<string>(this.baseUrl + '/reset-password', {email}).pipe(\n map(response => response.data)\n );\n }\n\n requestActivateAccount(data: { email: string, authCode: string }): Observable<string> {\n return this.apiService.post<string>(this.baseUrl + '/activate-account-complete', data).pipe(\n map(response => response.data)\n );\n }\n\n updatePassword(data: { email: string, authCode: string, password: string, passwordConfirm: string }): Observable<any> {\n return this.apiService.post<any>(this.baseUrl + '/update-password', data).pipe(\n map(response => response.data)\n );\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {tap} from 'rxjs/operators';\nimport {SkAuthService} from './sk-auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAuthGuard {\n constructor(private authService: SkAuthService,\n private router: Router) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.authService.checkLogin()\n .pipe(\n tap(logged => {\n if (!logged) {\n this.router.navigate(['/login', {returnUrl: state.url}]);\n }\n })\n );\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.canActivate(route, state);\n }\n}\n","import {Injectable} from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {tap} from 'rxjs/operators';\nimport {SkAuthService} from './sk-auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAuthAdminGuard {\n constructor(private authService: SkAuthService,\n private router: Router) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.authService.checkAdminAccessable()\n .pipe(\n tap(logged => {\n if (!logged) {\n this.router.navigate(['/login', {returnUrl: state.url}]);\n }\n })\n );\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.canActivate(route, state);\n }\n}\n","import {HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkResLogin, SkUser, SkUserCount, SkUserSignup} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkUserService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getUser(id: number): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/public/users/${id}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getAdminUser(id: number): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/admin/users/${id}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getAdminUserByEmail(email: string): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/admin/users/email/${email}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getUsers(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkUser>> {\n return this._apiService.getPageable<SkUser>(`/api/public/users`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminUsers(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkUser>> {\n return this._apiService.getPageable<SkUser>(`/api/admin/users`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n createAdminUser(data: any): Observable<SkUser> {\n return this._apiService.post<SkUser>(`/api/admin/users`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n updateUser(data: any): Observable<SkUser> {\n return this._apiService.put<SkUser>(`/api/public/users/me`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n updateAdminUser(id: number, data: any): Observable<SkUser> {\n return this._apiService.put<SkUser>(`/api/admin/users/${id}`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n activateAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.put(`/api/admin/users/activate/${users.map(user => user.id).join(',')}`, null);\n }\n\n deactivateAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.put(`/api/admin/users/deactivate/${users.map(user => user.id).join(',')}`, null);\n }\n\n deleteAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.delete(`/api/admin/users/delete/${users.map(user => user.id).join(',')}`);\n }\n\n getAdminUsersCount(): Observable<SkUserCount> {\n return this._apiService.get<SkUserCount>('/api/admin/users/count')\n .pipe(map(response => response.data));\n }\n\n signup(data: SkUserSignup): Observable<any> {\n return this._apiService.post<ISkResLogin>('/api/auth/signup', data)\n .pipe(\n tap(response => {\n if (response.status === 200) {\n this._apiService.setToken(response.data.token);\n }\n }),\n map(response => response.data)\n );\n }\n\n leave(): Observable<any> {\n return this._apiService.put<ISkResLogin>('/api/auth/leave', {})\n .pipe(\n map(response => response.data)\n );\n }\n\n isEmailExists(email: string): Observable<boolean> {\n return this._apiService.get<boolean>('/api/public/users/exists/email', new HttpParams().append('email', email)).pipe(\n map(response => response.data)\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport {\n ISkArticle,\n ISkDocumentPublicList,\n ISkDocumentSibling,\n ISkDocumentPublish,\n SkDocument,\n SkDocumentCount,\n SkProductListItem\n} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkDocumentService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getDocument(id: number): Observable<SkDocument> {\n return this._apiService.get<SkDocument>(`/api/public/documents/${id}`).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n getDocumentByUrl(url: string): Observable<SkDocument> {\n return this._apiService.get<SkDocument>(`/api/public/documents/url/${url}`).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n getAdminDocument(id: number): Observable<SkDocument> {\n return this._apiService.get<SkDocument>(`/api/admin/documents/${id}`).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n getDocumentProduct(id: number): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/public/documents/${id}/product`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminDocumentProduct(id: number): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/admin/documents/${id}/product`).pipe(\n map(response => response.data)\n );\n }\n\n getDocuments(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkDocument>> {\n return this._apiService.getPageable<SkDocument>(`/api/public/documents`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminDocuments(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkDocument>> {\n return this._apiService.getPageable<SkDocument>(`/api/admin/documents`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getDocumentsArray(ids: number[]): Observable<SkDocument[]> {\n return this._apiService.get<SkDocument[]>(`/api/public/documents/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminDocumentsArray(ids: number[]): Observable<SkDocument[]> {\n return this._apiService.get<SkDocument[]>(`/api/admin/documents/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminDocument(data: any): Observable<SkDocument> {\n return this._apiService.post<SkDocument>(`/api/admin/documents`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n copyAdminDocument(id: number): Observable<SkDocument> {\n return this._apiService.post<SkDocument>(`/api/admin/documents/${id}/copy`, {}).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n writePost(data: { title: string, content: ISkArticle, boardId: number }): Observable<ISkDocumentPublicList> {\n return this._apiService.post<ISkDocumentPublicList>(`/api/public/documents`, data).pipe(\n map(response => response.data)\n );\n }\n\n deletePost(id: number): Observable<ISkDocumentPublicList> {\n return this._apiService.delete<any>(`/api/public/documents/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n updateDocument(id: number, data: any): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/public/documents/${id}`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n updateAdminDocument(id: number, data: any): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/admin/documents/${id}`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n updateAdminDocumentArticle(id: number, data: { content: string, images: number[] }): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/admin/documents/${id}/article`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n updateAdminDocumentImage(id: number, data: { image?: number, imageAlt?: number }): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/admin/documents/${id}/image`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n updateAdminDocumentProduct(id: number, data: { linkedProducts: number[] }): Observable<SkProductListItem[]> {\n return this._apiService.put<SkProductListItem[]>(`/api/admin/documents/${id}/product`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminDocumentOpengraph(id: number, data: any): Observable<SkDocument> {\n return this._apiService.put<SkDocument>(`/api/admin/documents/${id}/opengraph`, data).pipe(\n map(response => new SkDocument(response.data))\n );\n }\n\n activateAdminDocuments(documents: SkDocument[]): Observable<any> {\n return this._apiService.put(`/api/admin/documents/activate/${documents.map(document => document.id).join(',')}`, null);\n }\n\n deactivateAdminDocuments(documents: SkDocument[]): Observable<any> {\n return this._apiService.put(`/api/admin/documents/deactivate/${documents.map(document => document.id).join(',')}`, null);\n }\n\n deleteAdminDocuments(documents: SkDocument[]): Observable<any> {\n return this._apiService.delete(`/api/admin/documents/delete/${documents.map(document => document.id).join(',')}`);\n }\n\n getAdminDocumentsCount(): Observable<SkDocumentCount> {\n return this._apiService.get<SkDocumentCount>('/api/admin/documents/count')\n .pipe(map(response => response.data));\n }\n\n getNextDocumentId(id: number): Observable<ISkDocumentSibling> {\n return this._apiService.get<ISkDocumentSibling>(`/api/public/documents/${id}/next`)\n .pipe(map(response => response.data));\n }\n\n getPrevDocumentId(id: number): Observable<ISkDocumentSibling> {\n return this._apiService.get<ISkDocumentSibling>(`/api/public/documents/${id}/prev`)\n .pipe(map(response => response.data));\n }\n\n getAdminPublish(documentId: number): Observable<ISkDocumentPublish[]> {\n return this._apiService.get<ISkDocumentPublish[]>(`/api/admin/documents/${documentId}/publish`).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminPublish(documentId: number, id: number) {\n return this._apiService.delete(`/api/admin/documents/${documentId}/publish/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminPublish(documentId: number, data: ISkDocumentPublish): Observable<any> {\n return this._apiService.post<ISkDocumentPublish>(`/api/admin/documents/${documentId}/publish`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminPublish(documentId: number, data: ISkDocumentPublish): Observable<any> {\n return this._apiService.put<ISkDocumentPublish>(`/api/admin/documents/${documentId}/publish`, data).pipe(\n map(response => response.data)\n );\n }\n\n\n}\n","import {HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkBoardDetail, ISkDocumentPublicList, SkBoard} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkBoardService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getBoard(url: string, params: ApiPageableParam = new ApiPageableParam()): Observable<ISkBoardDetail> {\n return this._apiService.get<ISkBoardDetail>(`/api/public/boards/${url}`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminBoard(id: number): Observable<SkBoard> {\n return this._apiService.get<SkBoard>(`/api/admin/boards/${id}`).pipe(\n map(response => new SkBoard(response.data))\n );\n }\n\n getBoards(showSupport: boolean = false): Observable<SkBoard[]> {\n return this._apiService.get<SkBoard[]>(`/api/public/boards`, new HttpParams().append('showSupport', String(showSupport))).pipe(\n map(response => response.data)\n );\n }\n\n getAdminBoards(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkBoard>> {\n return this._apiService.getPageable<SkBoard>(`/api/admin/boards`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n createAdminBoard(data: any): Observable<SkBoard> {\n return this._apiService.post<SkBoard>(`/api/admin/boards`, data).pipe(\n map(response => new SkBoard(response.data))\n );\n }\n\n updateBoard(id: number, data: any): Observable<SkBoard> {\n return this._apiService.put<SkBoard>(`/api/public/boards/${id}`, data).pipe(\n map(response => new SkBoard(response.data))\n );\n }\n\n updateAdminBoard(id: number, data: any): Observable<SkBoard> {\n return this._apiService.put<SkBoard>(`/api/admin/boards/${id}`, data).pipe(\n map(response => new SkBoard(response.data))\n );\n }\n\n getAllNoticeDocuments(): Observable<ISkDocumentPublicList[]> {\n return this._apiService.get<ISkDocumentPublicList[]>(`/api/public/boards/notices`).pipe(\n map(response => (response.data || []))\n );\n }\n\n activateAdminBoards(boards: SkBoard[]): Observable<any> {\n return this._apiService.put(`/api/admin/boards/activate/${boards.map(board => board.id).join(',')}`, null);\n }\n\n deactivateAdminBoards(boards: SkBoard[]): Observable<any> {\n return this._apiService.put(`/api/admin/boards/deactivate/${boards.map(board => board.id).join(',')}`, null);\n }\n\n deleteAdminBoards(boards: SkBoard[]): Observable<any> {\n return this._apiService.delete(`/api/admin/boards/delete/${boards.map(board => board.id).join(',')}`);\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkBrand} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkBrandService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getBrand(id: number): Observable<SkBrand> {\n return this._apiService.get<SkBrand>(`/api/public/brands/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminBrand(id: number): Observable<SkBrand> {\n return this._apiService.get<SkBrand>(`/api/admin/brands/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getBrands(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkBrand>> {\n return this._apiService.getPageable<SkBrand>(`/api/public/brands`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAllBrands(params: ApiPageableParam = new ApiPageableParam()): Observable<SkBrand[]> {\n return this._apiService.get<SkBrand[]>(`/api/public/brands/all`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminBrands(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkBrand>> {\n return this._apiService.getPageable<SkBrand>(`/api/admin/brands`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminAllBrands(): Observable<SkBrand[]> {\n return this._apiService.get<SkBrand[]>(`/api/admin/brands/all`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminBrand(data: any): Observable<SkBrand> {\n return this._apiService.post<SkBrand>(`/api/admin/brands`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminBrand(id: number, data: any): Observable<SkBrand> {\n return this._apiService.put<SkBrand>(`/api/admin/brands/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminBrands(brands: SkBrand[]): Observable<any> {\n return this._apiService.delete(`/api/admin/brands/delete/${brands.map(brand => brand.id).join(',')}`);\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkCategory, SkCategoryType, SkSubCategory, SkSubCategoryItem} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCategoryService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getCategory(id: number): Observable<SkCategory> {\n return this._apiService.get<SkCategory>(`/api/public/categories/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCategory(id: number): Observable<SkCategory> {\n return this._apiService.get<SkCategory>(`/api/admin/categories/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getCategories(type: SkCategoryType): Observable<SkCategory[]> {\n return this._apiService.get<SkCategory[]>(`/api/public/categories`).pipe(\n map(response => response.data.filter(item => item.type === type))\n );\n }\n\n getAdminAllCategories(): Observable<SkCategory[]> {\n return this._apiService.get<SkCategory[]>(`/api/admin/categories/all`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCategories(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkCategory>> {\n return this._apiService.getPageable<SkCategory>(`/api/admin/categories`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminSsubCategoryItems(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkSubCategoryItem>> {\n return this._apiService.getPageable<SkSubCategoryItem>(`/api/admin/categories/subitems`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCategoriesDetail(idArray: number[]): Observable<SkCategory[]> {\n return this._apiService.get<SkCategory[]>(`/api/admin/categories/detail/${idArray.join(',')}`).pipe(\n map(response => (response.data || []).map(value => {\n return Object.assign({}, {subCategories: []}, value);\n }))\n );\n }\n\n createAdminCategory(data: any): Observable<SkCategory> {\n return this._apiService.post<SkCategory>(`/api/admin/categories`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminCategory(id: number, data: any): Observable<SkCategory> {\n return this._apiService.put<SkCategory>(`/api/admin/categories/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminCategories(categories: SkCategory[]): Observable<any> {\n return this._apiService.delete(`/api/admin/categories/delete/${categories.map(category => category.id).join(',')}`);\n }\n\n createAdminSubCategory(categoryId: number, data: { title: string }): Observable<SkSubCategory> {\n return this._apiService.post<SkSubCategory>(`/api/admin/categories/${categoryId}/sub`, data).pipe(\n map(response => response.data)\n );\n }\n\n createAdminSubCategoryItem(categoryId: number, subCategoryId: number, data: { title: string }): Observable<SkSubCategoryItem> {\n return this._apiService.post<SkSubCategoryItem>(`/api/admin/categories/${categoryId}/sub/${subCategoryId}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminSubCategory(categoryId: number, subCategoryId: number): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/categories/${categoryId}/sub/${subCategoryId}`).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminSubCategoryItem(categoryId: number, subCategoryId: number, subCategoryItemId: number): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/categories/${categoryId}/sub/${subCategoryId}/${subCategoryItemId}`).pipe(\n map(response => response.data)\n );\n }\n\n\n\n\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport {\n ISkProductDetail,\n ISkProductFilterData,\n ISkProductOption,\n ISkProductStockHistory,\n SkProduct,\n SkProductCount,\n SkProductListItem,\n SkProductPrice,\n SkProductStock,\n SkProductStockCount,\n SkProductWishlist,\n SkSubCategoryItem,\n ISkProductPublish,\n ISkProductSeriesListItem,\n ISkProductSeriesCreate,\n ISkProductSeriesDetail, SkFile, ISkFile\n} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkProductService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getProduct(url: string): Observable<ISkProductDetail> {\n return this._apiService.get<ISkProductDetail>(`/api/public/products/${url}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminProduct(id: number): Observable<SkProduct> {\n return this._apiService.get<SkProduct>(`/api/admin/products/${id}`).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n getProducts(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkProductListItem>> {\n return this._apiService.getPageable<SkProductListItem>(`/api/public/products`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminProducts(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkProduct | SkProductListItem>> {\n return this._apiService.getPageable<SkProduct>(`/api/admin/products`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getProductsArray(ids: number[]): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/public/products/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminProductsArray(ids: number[]): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/admin/products/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminProduct(data: any): Observable<SkProduct> {\n return this._apiService.post<SkProduct>(`/api/admin/products`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n copyAdminProduct(id: number): Observable<SkProduct> {\n return this._apiService.post<SkProduct>(`/api/admin/products/${id}/copy`, {}).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateProduct(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/public/products/${id}`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProduct(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductPrice(id: number, data: SkProductPrice): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/price`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductOpengraph(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/opengraph`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductNaverEP(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/naverep`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductCatalog(id: number, data: any): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/catalog`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductOption(id: number, data: { options: ISkProductOption[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/option`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductPackage(id: number, data: { packages: { productId: number; showSpec: boolean; showDesc: boolean; share: number; }[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/package`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n getAdminPackageChildrenOptions(id: number): Observable<ISkProductOption[]> {\n return this._apiService.get<ISkProductOption[]>(`/api/admin/products/${id}/package/children-options`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPackageChildrenImages(id: number): Observable<SkFile[]> {\n return this._apiService.get<ISkFile[]>(`/api/admin/products/${id}/package/children-images`).pipe(\n map(response => (response.data || []).map(item => new SkFile(item)))\n );\n }\n\n updateAdminProductArticleDesc(id: number, data: { content: string, images: number[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/article-desc`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductArticleSpec(id: number, data: { content: string, images: number[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/article-spec`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductImage(id: number, data: { imageIds: number[] }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/image`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductEDelivery(id: number, data: { sku: string, downloadLink: string, template: string }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/edelivery`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n updateAdminProductFurnitureDelivery(id: number, data: { furnitureAssembly: boolean }): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/furniture-delivery`, data).pipe(\n map(response => new SkProduct(response.data))\n );\n }\n\n\n activateAdminProducts(products: SkProduct[]): Observable<any> {\n return this._apiService.put(`/api/admin/products/activate/${products.map(product => product.id).join(',')}`, null);\n }\n\n deactivateAdminProducts(products: SkProduct[]): Observable<any> {\n return this._apiService.put(`/api/admin/products/deactivate/${products.map(product => product.id).join(',')}`, null);\n }\n\n deleteAdminProducts(products: SkProduct[]): Observable<any> {\n return this._apiService.delete(`/api/admin/products/delete/${products.map(product => product.id).join(',')}`);\n }\n\n getAdminProductsCount(): Observable<SkProductCount> {\n return this._apiService.get<SkProductCount>('/api/admin/products/count')\n .pipe(map(response => response.data));\n }\n\n updateWishlist(id: number): Observable<SkProductWishlist> {\n return this._apiService.put<SkProductWishlist>(`/api/public/products/${id}/wishlist`, {}).pipe(\n map(response => response.data)\n );\n }\n\n getWishlist(id: number): Observable<SkProductWishlist> {\n return this._apiService.get<SkProductWishlist>(`/api/public/products/${id}/wishlist`).pipe(\n map(response => response.data)\n );\n }\n\n getProductOptions(id: number): Observable<ISkProductOption[]> {\n return this._apiService.get<ISkProductOption[]>(`/api/public/products/${id}/options`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminProductSubCategoryItem(id: number): Observable<SkSubCategoryItem[]> {\n return this._apiService.get<SkSubCategoryItem[]>(`/api/admin/products/${id}/categories`).pipe(\n map(response => response.data || [])\n );\n }\n\n updateAdminProductSubCategoryItems(id: number, idArr: number[]): Observable<SkSubCategoryItem[]> {\n return this._apiService.put<SkSubCategoryItem[]>(`/api/admin/products/${id}/categories`, {subCategoryItems: idArr}).pipe(\n map(response => response.data || [])\n );\n }\n\n getProductsFilterData(params: ApiPageableParam = new ApiPageableParam()): Observable<ISkProductFilterData> {\n return this._apiService.get<ISkProductFilterData>(`/api/public/products/filter-data`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getIncludedPackages(id: number): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/public/products/${id}/included-packages`).pipe(\n map(response => response.data || [])\n );\n }\n\n\n updateAdminStockConfig(id: number, data: SkProductStock): Observable<SkProduct> {\n return this._apiService.put<SkProduct>(`/api/admin/products/${id}/stocks`, data).pipe(\n map(response => response.data)\n );\n }\n\n getAdminStockCount(id: number): Observable<SkProductStockCount> {\n return this._apiService.get<SkProductStockCount>(`/api/admin/products/${id}/stocks/count`).pipe(\n map(response => Object.assign({totalIn: 0, totalOut: 0, current: 0}, response.data))\n );\n }\n\n getAdminStocks(id: number, params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkProductStockHistory>> {\n return this._apiService.getPageable<SkProduct>(`/api/admin/products/${id}/stocks`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n addAdminStock(id: number, data: any): Observable<SkProductStockCount> {\n return this._apiService.post<SkProductStockCount>(`/api/admin/products/${id}/stocks`, data).pipe(\n map(response => Object.assign({totalIn: 0, totalOut: 0, current: 0}, response.data))\n );\n }\n\n updateAdminStock(productId: number, stockId: number, data: { serial: string }): Observable<ISkProductStockHistory> {\n return this._apiService.put<ISkProductStockHistory>(`/api/admin/products/${productId}/stocks/${stockId}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminStock(productId: number, stockId: number): Observable<any> {\n return this._apiService.delete(`/api/admin/products/${productId}/stocks/${stockId}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminSeriesList(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkProductSeriesListItem>> {\n return this._apiService.getPageable<ISkProductSeriesListItem>(`/api/admin/product-series`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminSeries(id: number): Observable<ISkProductSeriesDetail> {\n return this._apiService.get<ISkProductSeriesDetail>(`/api/admin/product-series/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminSeries(data: ISkProductSeriesCreate): Observable<ISkProductSeriesListItem> {\n return this._apiService.post<ISkProductSeriesListItem>(`/api/admin/product-series`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminSeries(id: number, data: ISkProductSeriesCreate): Observable<ISkProductSeriesListItem> {\n return this._apiService.put<ISkProductSeriesListItem>(`/api/admin/product-series/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminSeries(id: number): Observable<any> {\n return this._apiService.delete(`/api/admin/product-series/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPublish(productId: number): Observable<ISkProductPublish[]> {\n return this._apiService.get<ISkProductPublish[]>(`/api/admin/products/${productId}/publish`).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminPublish(productId: number, id: number) {\n return this._apiService.delete(`/api/admin/products/${productId}/publish/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminPublish(productId: number, data: ISkProductPublish): Observable<any> {\n return this._apiService.post<ISkProductPublish>(`/api/admin/products/${productId}/publish`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminPublish(productId: number, data: ISkProductPublish): Observable<any> {\n return this._apiService.put<ISkProductPublish>(`/api/admin/products/${productId}/publish`, data).pipe(\n map(response => response.data)\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport {\n ISkPromotionPublicDetail,\n ISkPromotionPublicList,\n ISkPromotionTargetItem,\n ISkPromotionUpdateImage,\n SkPromotion,\n SkPromotionCount\n} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkPromotionService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getPromotion(id: number): Observable<ISkPromotionPublicDetail> {\n return this._apiService.get<ISkPromotionPublicDetail>(`/api/public/promotions/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getPromotionPreview(id: number): Observable<ISkPromotionPublicDetail> {\n return this._apiService.get<ISkPromotionPublicDetail>(`/api/admin/promotions/${id}/preview`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPromotion(id: number): Observable<SkPromotion> {\n return this._apiService.get<SkPromotion>(`/api/admin/promotions/${id}`).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n getAdminPromotionTarget(id: number): Observable<ISkPromotionTargetItem[]> {\n return this._apiService.get<ISkPromotionTargetItem[]>(`/api/admin/promotions/${id}/target`).pipe(\n map(response => response.data)\n );\n }\n\n getPromotions(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkPromotionPublicList>> {\n return this._apiService.getPageable<SkPromotion>(`/api/public/promotions`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPromotions(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkPromotion>> {\n return this._apiService.getPageable<SkPromotion>(`/api/admin/promotions`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getPromotionsArray(ids: number[]): Observable<ISkPromotionPublicList[]> {\n return this._apiService.get<ISkPromotionPublicList[]>(`/api/public/promotions/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminPromotionsArray(ids: number[]): Observable<SkPromotion[]> {\n return this._apiService.get<SkPromotion[]>(`/api/admin/promotions/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminPromotion(data: any): Observable<SkPromotion> {\n return this._apiService.post<SkPromotion>(`/api/admin/promotions`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updatePromotion(id: number, data: any): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/public/promotions/${id}`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotion(id: number, data: any): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionTarget(id: number, data: { targets: ISkPromotionTargetItem[] }): Observable<ISkPromotionTargetItem[]> {\n return this._apiService.put<ISkPromotionTargetItem[]>(`/api/admin/promotions/${id}/target`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminPromotionGift(id: number, data: { gifts: number[] }): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/gift`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionContent(id: number, data: { content: string, images: number[] }): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/content`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionBenefit(id: number, data: { content: string, images: number[] }): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/benefit`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionImage(id: number, data: ISkPromotionUpdateImage): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/image`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n updateAdminPromotionOpengraph(id: number, data: any): Observable<SkPromotion> {\n return this._apiService.put<SkPromotion>(`/api/admin/promotions/${id}/opengraph`, data).pipe(\n map(response => new SkPromotion(response.data))\n );\n }\n\n activateAdminPromotions(promotions: SkPromotion[]): Observable<any> {\n return this._apiService.put(`/api/admin/promotions/activate/${promotions.map(promotion => promotion.id).join(',')}`, null);\n }\n\n deactivateAdminPromotions(promotions: SkPromotion[]): Observable<any> {\n return this._apiService.put(`/api/admin/promotions/deactivate/${promotions.map(promotion => promotion.id).join(',')}`, null);\n }\n\n deleteAdminPromotions(promotions: SkPromotion[]): Observable<any> {\n return this._apiService.delete(`/api/admin/promotions/delete/${promotions.map(promotion => promotion.id).join(',')}`);\n }\n\n getAdminPromotionsCount(): Observable<SkPromotionCount> {\n return this._apiService.get<SkPromotionCount>('/api/admin/promotions/count')\n .pipe(map(response => response.data));\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { SkUtils } from 'sk-front-lib';\n\nimport { SkApiService } from 'sk-front-lib/api';\nimport { SkBank } from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkConfigService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getConfig(key: string, nullValue: any = null) {\n return this._apiService.get<any>(`/api/public/config/${key}`)\n .pipe(map(result => result.data ? SkUtils.decodeBase64(result.data.value, nullValue) : nullValue));\n }\n\n setConfig(key: string, data: any, nullValue: any = []) {\n return this._apiService.put<any>(`/api/admin/config/${key}`, {value: SkUtils.encodeBase64(data)})\n .pipe(map(result => result.data ? SkUtils.decodeBase64(result.data.value, nullValue) : nullValue));\n }\n\n getBankList(): Observable<SkBank[]> {\n return this._apiService.get<SkBank[]>('/api/public/bank-list')\n .pipe(map(result => result.data || []))\n }\n}\n","import {isPlatformBrowser} from '@angular/common';\n\n\nimport {HttpParams} from '@angular/common/http';\nimport {Inject, Injectable, PLATFORM_ID} from '@angular/core';\n\nimport {BehaviorSubject, Observable, of, Subscription} from 'rxjs';\nimport {map, switchMap, take, tap} from 'rxjs/operators';\nimport {SkUtils} from 'sk-front-lib';\nimport {SkApiService} from 'sk-front-lib/api';\nimport {ISkCartCreate, SkCart} from 'sk-front-lib/model';\nimport {SkAuthService} from './sk-auth.service';\n\nexport interface CartAbstractService {\n load(): Observable<SkCart[]>;\n\n clear(): Observable<SkCart[]>;\n\n add(cart: SkCart): Observable<SkCart[]>;\n\n remove(carts: SkCart[]): Observable<SkCart[]>;\n\n update(cart: SkCart): Observable<SkCart[]>;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCartApiService implements CartAbstractService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n load() {\n return this._apiService.get<SkCart[]>(`/api/public/carts`).pipe(\n map(response => (response.data || []).map(item => new SkCart(item)))\n );\n }\n\n add(cart: SkCart): Observable<SkCart[]> {\n const data: ISkCartCreate = {\n product: cart.product.id,\n selectedOptions: cart.options.map(item => ({\n value: item.value.id,\n option: item.option.id,\n amount: item.amount\n })),\n amount: cart.amount,\n selectedGifts: (cart.gifts || []).map(item => ({id: item.id}))\n };\n\n return this._apiService.post<SkCart[]>(`/api/public/carts`, data).pipe(\n map(response => (response.data || []).map(item => new SkCart(item)))\n );\n }\n\n clear(): Observable<SkCart[]> {\n return undefined;\n }\n\n remove(carts: SkCart[]): Observable<SkCart[]> {\n return this.removeByIdArray(carts.map(cart => cart.id));\n }\n\n removeByIdArray(idArray: number[]): Observable<SkCart[]> {\n const ids = idArray.filter(id => Number(id) >= 1);\n return this._apiService.delete<SkCart[]>(`/api/public/carts`, new HttpParams().append('target', ids.join(','))).pipe(\n map(response => (response.data || []).map(item => new SkCart(item)))\n );\n }\n\n update(cart: SkCart): Observable<SkCart[]> {\n return this._apiService.put<SkCart[]>(`/api/public/carts/${cart.id}`, {amount: cart.amount}).pipe(\n map(response => (response.data || []).map(item => new SkCart(item)))\n );\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCartLocalService implements CartAbstractService {\n\n private isPlatformBrowser: boolean;\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {\n this.isPlatformBrowser = isPlatformBrowser(this.platformId);\n }\n\n loadRaw() {\n let data = [];\n try {\n if (this.isPlatformBrowser) {\n data = (SkUtils.decodeBase64(localStorage.getItem('cartData')) || []).map(item => new SkCart(item));\n }\n } catch (e) {\n data = [];\n }\n\n return data;\n }\n\n load() {\n return of(this.loadRaw());\n }\n\n add(cart: SkCart): Observable<SkCart[]> {\n cart.id = Math.random();\n const cartList = [cart, ...this.loadRaw()];\n localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));\n return of(cartList);\n }\n\n clear(): Observable<SkCart[]> {\n const cartList = [];\n localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));\n return of(cartList);\n }\n\n remove(carts: SkCart[]): Observable<SkCart[]> {\n return this.removeByIdArray(carts.map(cart => cart.id));\n }\n\n removeByIdArray(idArray: number[]): Observable<SkCart[]> {\n const removedItems = this.loadRaw().filter(item => idArray.findIndex(id => id === item.id) < 0);\n localStorage.setItem('cartData', SkUtils.encodeBase64(removedItems));\n return of(removedItems);\n }\n\n update(cart: SkCart): Observable<SkCart[]> {\n const cartList = this.loadRaw();\n const index = this.loadRaw().findIndex(item => item.id === cart.id);\n if (index > -1) {\n cartList[index] = cart;\n localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));\n }\n\n return of(cartList);\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCartService {\n\n private _cartItems$: BehaviorSubject<SkCart[]> = new BehaviorSubject([]);\n public readonly cartItems$: Observable<SkCart[]> = this._cartItems$.asObservable();\n\n get cartItems() {\n return this._cartItems$.getValue();\n }\n\n set cartItems(value) {\n this._cartItems$.next(value);\n }\n\n private _selectedItems$: BehaviorSubject<number[]> = new BehaviorSubject<number[]>([]);\n public readonly selectedItems$: Observable<number[]> = this._selectedItems$.asObservable();\n\n get selectedItems() {\n return this._selectedItems$.getValue();\n }\n\n set selectedItems(value) {\n this._selectedItems$.next(value);\n }\n\n private _myInfoSubscription: Subscription;\n\n constructor(private _authService: SkAuthService,\n private _apiService: SkApiService,\n private _apiCartService: SkCartApiService,\n private _apiLocalService: SkCartLocalService) {\n\n // this._myInfoSubscription = this._authService.userinfo$.subscribe(() => {\n // this.load();\n // });\n }\n\n load() {\n this._authService.checkLogin()\n .pipe(\n switchMap(result => result ? this._apiCartService.load() : this._apiLocalService.load())\n )\n .subscribe(result => this._cartItems$.next(result));\n }\n\n clear() {\n this._authService.checkLogin()\n .pipe(switchMap(result => result ? this._apiCartService.clear() : this._apiLocalService.clear()))\n .subscribe(result => this._cartItems$.next(result));\n }\n\n add(cart: SkCart): Observable<SkCart[]> {\n return this._authService.checkLogin()\n .pipe(\n switchMap(result => result ? this._apiCartService.add(cart) : this._apiLocalService.add(cart)),\n tap(result => this._cartItems$.next(result))\n );\n }\n\n remove(carts: SkCart[]) {\n this._authService.checkLogin()\n .pipe(switchMap(result => result ? this._apiCartService.remove(carts) : this._apiLocalService.remove(carts)))\n .subscribe(result => {\n this._cartItems$.next(result);\n this.checkSelectedItems();\n });\n }\n\n removeByIdArray(idArray: number[]) {\n this._authService.checkLogin()\n .pipe(switchMap(result => result ? this._apiCartService.removeByIdArray(idArray) : this._apiLocalService.removeByIdArray(idArray)))\n .subscribe(result => {\n this._cartItems$.next(result);\n this.checkSelectedItems();\n });\n }\n\n update(cart: SkCart) {\n this._authService.checkLogin()\n .pipe(switchMap(result => result ? this._apiCartService.update(cart) : this._apiLocalService.update(cart)))\n .subscribe(result => this._cartItems$.next(result));\n }\n\n getCart(id: number) {\n return this._cartItems$.getValue().find(value => value.id === id);\n }\n\n checkSelectedItems() {\n this.selectedItems = this.selectedItems.filter(value => !!this.getCart(value));\n }\n\n selectAll() {\n this.selectedItems = this._cartItems$.getValue().map(item => item.id);\n }\n\n deSelectAll() {\n this.selectedItems = [];\n }\n\n toggleSelectAll() {\n if (this.selectedItems.length === this._cartItems$.getValue().length) {\n this.deSelectAll();\n } else {\n this.selectAll();\n }\n }\n\n toggleSelect(cart: SkCart) {\n const targetIndex = this.selectedItems.findIndex(item => item === cart.id);\n if (targetIndex === -1) {\n this.selectedItems = [...this.selectedItems, cart.id];\n } else {\n const target = this.selectedItems;\n target.splice(targetIndex, 1);\n this.selectedItems = target;\n }\n }\n\n isSelected(cart: SkCart) {\n return this.selectedItems.findIndex(item => item === cart.id) > -1;\n }\n\n isSelectedAll() {\n return this.selectedItems.length > 0 && this.selectedItems.length === this._cartItems$.getValue().length;\n }\n\n isIntermediate() {\n return this.selectedItems.length > 0 && this.selectedItems.length !== this._cartItems$.getValue().length;\n }\n\n createOrder(paymentType: string, affiliateKey: string): Observable<string> {\n return this._authService.checkLogin()\n .pipe(\n take(1),\n map(result => {\n if (result) {\n return {\n apiUrl: `/api/public/orders/from-cart`,\n items: this.selectedItems\n };\n } else {\n return {\n apiUrl: `/api/public/orders/from-data`,\n items: this.selectedItems\n .map(id => this.getCart(id))\n .map(cart => ({\n id: cart.id,\n productId: cart.product.id,\n amount: cart.amount,\n options: (cart.options || []).map(option => ({\n optionId: option.option.id,\n valueId: option.value.id,\n amount: option.amount || 1\n })),\n gifts: (cart.gifts || []).map(item => ({id: item.id}))\n }))\n };\n }\n }),\n switchMap(result => this._apiService.post<any>(result.apiUrl, {\n items: result.items,\n affiliateKey,\n paymentType\n })),\n map(result => result.data)\n );\n }\n}\n\n\n\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport {\n ISkOrderCount,\n ISkOrderDetail,\n ISkOrderList,\n ISkOrderLog,\n ISkOrderReqProgress,\n ISkShippingFee,\n ISkValidateCoupon, SkOrderCancelType,\n SkOrderDetail,\n SkOrderStatus,\n SkShippingMethod\n} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkOrderService {\n\n constructor(private _apiService: SkApiService) {\n }\n\n getAdminOrders(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkOrderList>> {\n return this._apiService.getPageable(`/api/admin/orders`, params.buildHttpParams())\n .pipe(\n map(result => result.data)\n );\n }\n\n getAdminOrdersCount(): Observable<ISkOrderCount> {\n return this._apiService.get(`/api/admin/orders/count`)\n .pipe(\n map(result => result.data)\n );\n }\n\n getAdminOrder(id: string): Observable<SkOrderDetail> {\n return this._apiService.get<ISkOrderDetail>(`/api/admin/orders/${id}`)\n .pipe(\n map(result => new SkOrderDetail(result.data))\n );\n }\n\n getMyOrders(): Observable<ISkOrderList[]> {\n return this._apiService.get<ISkOrderList[]>(`/api/public/orders/me`)\n .pipe(\n map(result => result.data)\n );\n }\n\n getMyLatestOrders(): Observable<ISkOrderList[]> {\n return this._apiService.get<ISkOrderList[]>(`/api/public/orders/me/latest`)\n .pipe(\n map(result => result.data)\n );\n }\n\n getOrderDetail(id: string): Observable<SkOrderDetail> {\n return this._apiService.get<ISkOrderDetail>(`/api/public/orders/${id}`)\n .pipe(\n map(result => new SkOrderDetail(result.data))\n );\n }\n\n getOrderStatus(id: string): Observable<SkOrderStatus> {\n return this._apiService.get<SkOrderStatus>(`/api/public/orders/${id}/status`)\n .pipe(\n map(result => result.data)\n );\n }\n\n getOrderLogs(id: string): Observable<ISkOrderLog[]> {\n return this._apiService.get<ISkOrderLog[]>(`/api/admin/orders/${id}/logs`)\n .pipe(\n map(result => result.data || [])\n );\n }\n\n createAdminOrder(data: any): Observable<SkOrderDetail> {\n return this._apiService.post<ISkOrderDetail>(`/api/admin/orders`, data)\n .pipe(\n map(result => new SkOrderDetail(result.data))\n );\n }\n\n addOrderLog(id: string, message: string): Observable<any> {\n return this._apiService.post(`/api/admin/orders/${id}/logs`, {message})\n .pipe(\n map(result => result.data || [])\n );\n }\n\n updateAdminOrderBaseInfo(id: string, data: any): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/info`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminConfirmTransferPayment(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/confirm-payment/transfer`, null)\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminCancel(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/cancel`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminCancelForce(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/cancel/force`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminProcessStart(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/process-start`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminComplete(id: string): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/complete`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminPayment(id: string, data: { txId: string, cardName: string, cardQuota: string }): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/update-payment`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminShippingStatus(id: string, data: any): Observable<any> {\n return this._apiService.put<any>(`/api/admin/orders/${id}/update-shipping-status`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n deleteAdminOrders(orders: ISkOrderList[]): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/orders/${orders.map(order => order.id).join(',')}`);\n }\n\n cancelOrder(id: string, data: {cancelType: SkOrderCancelType, cancelDesc: String}): Observable<SkOrderDetail> {\n return this._apiService.put<SkOrderDetail>(`/api/public/orders/${id}/cancel`, data)\n .pipe(map(result => result.data))\n }\n\n startProgress(id: string, data: ISkOrderReqProgress): Observable<SkOrderStatus> {\n return this._apiService.put<SkOrderStatus>(`/api/public/orders/${id}/progress`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n moveToMyOrder(id: string): Observable<string> {\n return this._apiService.put<string>(`/api/public/orders/${id}/move`, {})\n .pipe(\n map(result => result.data)\n );\n }\n\n getAdminShippingFeeList(): Observable<ISkShippingFee[]> {\n return this._apiService.get<ISkShippingFee[]>(`/api/admin/orders/shipping-fees`)\n .pipe(\n map(result => result.data)\n );\n }\n\n createAdminShippingFee(data: ISkShippingFee): Observable<ISkShippingFee> {\n return this._apiService.post<ISkShippingFee>(`/api/admin/orders/shipping-fees`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n updateAdminShippingFee(id: number, data: ISkShippingFee): Observable<ISkShippingFee> {\n return this._apiService.put<ISkShippingFee>(`/api/admin/orders/shipping-fees/${id}`, data)\n .pipe(\n map(result => result.data)\n );\n }\n\n deleteAdminShippingFee(id: number): Observable<any> {\n return this._apiService.delete<any>(`/api/admin/orders/shipping-fees/${id}`)\n .pipe(\n map(result => result.data)\n );\n }\n\n calculateShippingFee(id: string, method: SkShippingMethod, zipCode: string, serials: string[] = []): Observable<number> {\n return this._apiService.get<number>(`/api/public/orders/${id}/calculate-shipping-fee`, new HttpParams().append('method', method).append('zipCode', zipCode).append('serials', serials.join(',')))\n .pipe(\n map(result => result.data || 0)\n );\n }\n\n validateCoupon(id: string, serials: string[]): Observable<ISkValidateCoupon> {\n return this._apiService.post<ISkValidateCoupon>(`/api/public/orders/${id}/check-coupon`, {\n couponSerials: serials\n }).pipe(\n map(result => result.data || {discountAmount: 0, couponData: []})\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {catchError, map} from 'rxjs/operators';\n\nimport {SkApiService} from 'sk-front-lib/api';\nimport {ISkAddress, SkProductListItem} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAccountService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getDefaultAddress(): Observable<ISkAddress> {\n return this._apiService.get<ISkAddress>(`/api/public/users/me/address/default`).pipe(\n map(response => response.data)\n );\n }\n\n getAddressList(): Observable<ISkAddress[]> {\n return this._apiService.get<ISkAddress[]>(`/api/public/users/me/address`).pipe(\n map(response => response.data || [])\n );\n }\n\n updateAddress(id: number, data: any): Observable<ISkAddress> {\n return this._apiService.put<ISkAddress>(`/api/public/users/me/address/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAddress(id: number): Observable<any> {\n return this._apiService.delete(`/api/public/users/me/address/${id}`);\n }\n\n getWishList(): Observable<SkProductListItem[]> {\n return this._apiService.get<SkProductListItem[]>(`/api/public/users/me/wishlist`).pipe(\n map(response => response.data || [])\n );\n }\n\n getWishListShowBadge(): Observable<boolean> {\n return this._apiService.get<boolean>(`/api/public/users/me/wishlist/badge`).pipe(\n map(response => response.data || false)\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkSearchKeyword, ISkSearchResult} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkSearchService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getSearchResults(params: ApiPageableParam = new ApiPageableParam()): Observable<ISkSearchResult> {\n return this._apiService.get<ISkSearchResult>(`/api/public/search`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getSearchKeywords(): Observable<ISkSearchKeyword[]> {\n return this._apiService.get<ISkSearchKeyword[]>(`/api/public/search/keywords`).pipe(\n map(response => response.data)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ApiPageable, ApiPageableParam, SkApiService } from 'sk-front-lib/api';\nimport { ISkPointAdd, SkPoint } from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkPointService {\n\n public apiServer: string;\n\n constructor(private _apiService: SkApiService) {\n this.apiServer = _apiService.apiServer;\n }\n\n getMyCurrentPoint() {\n return this._apiService.get<number>(`/api/public/points/me`).pipe(\n map(response => Number(response.data || 0))\n );\n }\n\n getMyPointHistory(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkPoint>> {\n return this._apiService.getPageable<SkPoint>(`/api/public/points/me/history`, params.buildHttpParams()).pipe(\n map(response => response.data),\n map(value => {\n value.content = (value.content || []).map(item => new SkPoint(item));\n return value;\n })\n );\n }\n\n getUserCurrentPoint(userId: number) {\n return this._apiService.get<number>(`/api/admin/points/${userId}`).pipe(\n map(response => Number(response.data || 0))\n );\n }\n\n getUserPointHistory(userId: number, params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkPoint>> {\n return this._apiService.getPageable<SkPoint>(`/api/admin/points/${userId}/history`, params.buildHttpParams()).pipe(\n map(response => response.data),\n map(value => {\n value.content = (value.content || []).map(item => new SkPoint(item));\n return value;\n })\n );\n }\n\n addPointToUser(data: ISkPointAdd) {\n return this._apiService.put<number>(`/api/admin/points/add`, data).pipe(\n map(response => Number(response.data || 0))\n );\n }\n\n usePointToUser(data: ISkPointAdd) {\n return this._apiService.put<number>(`/api/admin/points/use`, data).pipe(\n map(response => Number(response.data || 0))\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkCouponCount, ISkCouponDetail, ISkCouponListItem, ISkCouponTicket, ISkCouponTriggerUpdate} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCouponService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getCoupon(code: string): Observable<ISkCouponDetail> {\n return this._apiService.get<ISkCouponDetail>(`/api/public/coupons/${code}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCoupon(id: number): Observable<ISkCouponDetail> {\n return this._apiService.get<ISkCouponDetail>(`/api/admin/coupons/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getCoupons(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkCouponListItem>> {\n return this._apiService.getPageable<ISkCouponListItem>(`/api/public/coupons`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getCouponTickets(id: number): Observable<ISkCouponTicket[]> {\n return this._apiService.get<ISkCouponTicket[]>(`/api/admin/coupons/${id}/list`).pipe(\n map(response => response.data || [])\n );\n }\n\n getAdminCoupons(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<ISkCouponListItem>> {\n return this._apiService.getPageable<ISkCouponListItem>(`/api/admin/coupons`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getCouponsArray(ids: number[]): Observable<ISkCouponListItem[]> {\n return this._apiService.get<ISkCouponListItem[]>(`/api/public/coupons/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminCouponsArray(ids: number[]): Observable<ISkCouponListItem[]> {\n return this._apiService.get<ISkCouponListItem[]>(`/api/admin/coupons/array/${ids.join(',')}`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminCoupon(data: any): Observable<ISkCouponDetail> {\n return this._apiService.post<ISkCouponDetail>(`/api/admin/coupons`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminCoupon(id: number, data: any): Observable<ISkCouponDetail> {\n return this._apiService.put<ISkCouponDetail>(`/api/admin/coupons/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminCouponTrigger(id: number, data: ISkCouponTriggerUpdate): Observable<ISkCouponDetail> {\n return this._apiService.put<ISkCouponDetail>(`/api/admin/coupons/${id}/trigger`, data).pipe(\n map(response => response.data)\n );\n }\n\n activateAdminCoupons(coupons: ISkCouponListItem[]): Observable<any> {\n return this._apiService.put(`/api/admin/coupons/activate/${coupons.map(coupon => coupon.id).join(',')}`, null);\n }\n\n deactivateAdminCoupons(coupons: ISkCouponListItem[]): Observable<any> {\n return this._apiService.put(`/api/admin/coupons/deactivate/${coupons.map(coupon => coupon.id).join(',')}`, null);\n }\n\n deleteAdminCoupons(coupons: ISkCouponListItem[]): Observable<any> {\n return this._apiService.delete(`/api/admin/coupons/delete/${coupons.map(coupon => coupon.id).join(',')}`);\n }\n\n getAdminCouponsCount(): Observable<ISkCouponCount> {\n return this._apiService.get<ISkCouponCount>('/api/admin/coupons/count')\n .pipe(map(response => response.data));\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkDocumentCommentUpdate, ISkDocumentCommentWrite, SkDocumentCommentParent} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkCommentService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getDocumentComments(param: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkDocumentCommentParent>> {\n return this._apiService.getPageable<SkDocumentCommentParent>(`/api/public/document-comments`, param.buildHttpParams())\n .pipe(map(response => {\n response.data.content = response.data.content.map(item => new SkDocumentCommentParent(item));\n return response.data;\n }));\n }\n\n getDocumentComment(id: number): Observable<SkDocumentCommentParent> {\n return this._apiService.get<SkDocumentCommentParent>(`/api/public/document-comments/${id}`)\n .pipe(map(response => new SkDocumentCommentParent(response.data)));\n }\n\n writeDocumentComment(data: ISkDocumentCommentWrite): Observable<any> {\n return this._apiService.post(`/api/public/document-comments`, data)\n .pipe(map(response => response.data));\n }\n\n updateDocumentComment(id: number, data: ISkDocumentCommentUpdate): Observable<any> {\n return this._apiService.put(`/api/public/document-comments/${id}`, data)\n .pipe(map(response => response.data));\n }\n\n deleteDocumentComment(id: number): Observable<any> {\n return this._apiService.delete(`/api/public/document-comments/${id}`)\n .pipe(map(response => response.data));\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkContact} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkContactService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n writeContact(data: any): Observable<any> {\n return this._apiService.post(`/api/public/contacts`, data)\n .pipe(map(response => response.data));\n }\n\n getContacts(params: ApiPageableParam = new ApiPageableParam()): Observable<any> {\n return this._apiService.getPageable(`/api/admin/contacts`, params.buildHttpParams())\n .pipe(map(response => response.data));\n }\n\n getContact(id: number): Observable<ISkContact> {\n return this._apiService.get<ISkContact>(`/api/admin/contacts/${id}`)\n .pipe(map(response => response.data));\n }\n\n writeAnswerAdmin(id: number, data: any): Observable<any> {\n return this._apiService.post(`/api/admin/contacts/${id}/answer`, data)\n .pipe(map(response => response.data));\n }\n\n closeContact(id: number): Observable<any> {\n return this._apiService.put(`/api/admin/contacts/${id}/close`, null)\n .pipe(map(response => response.data));\n }\n\n}\n","import {HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {SkApiService} from 'sk-front-lib/api';\nimport {ISkAffiliateRequest} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkEtcService {\n\n constructor(private _apiService: SkApiService) {\n }\n\n sendTestEmail(key: string, params?: HttpParams): Observable<any> {\n return this._apiService.get<any>(`/api/admin/notifications/email/${key}`, params).pipe(\n map(response => response.data)\n );\n }\n\n sendTestSms(key: string, to: string): Observable<any> {\n return this._apiService.get<any>(`/api/admin/notifications/sms/${key}`, new HttpParams().append('to', to)).pipe(\n map(response => response.data)\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkStore} from 'sk-front-lib/model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkStoreService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getStore(id: number): Observable<SkStore> {\n return this._apiService.get<SkStore>(`/api/public/stores/${id}`).pipe(\n map(response => new SkStore(response.data))\n );\n }\n\n getAdminStore(id: number): Observable<SkStore> {\n return this._apiService.get<SkStore>(`/api/admin/stores/${id}`).pipe(\n map(response => new SkStore(response.data))\n );\n }\n\n getStores(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkStore>> {\n return this._apiService.getPageable<SkStore>(`/api/public/stores`, params.buildHttpParams()).pipe(\n map(response => {\n response.data.content = (response.data.content || []).map(item => new SkStore(item));\n return response.data;\n })\n );\n }\n\n getAdminStores(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkStore>> {\n return this._apiService.getPageable<SkStore>(`/api/admin/stores`, params.buildHttpParams()).pipe(\n map(response => {\n response.data.content = (response.data.content || []).map(item => new SkStore(item));\n return response.data;\n })\n );\n }\n\n createAdminStore(data: any): Observable<SkStore> {\n return this._apiService.post<SkStore>(`/api/admin/stores`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminStore(id: number, data: any): Observable<SkStore> {\n return this._apiService.put<SkStore>(`/api/admin/stores/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminStores(stores: SkStore[]): Observable<any> {\n return this._apiService.delete(`/api/admin/stores/delete/${stores.map(store => store.id).join(',')}`);\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {SkKeyword} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkKeywordService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getKeyword(id: number): Observable<SkKeyword> {\n return this._apiService.get<SkKeyword>(`/api/public/keywords/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getAdminKeyword(id: number): Observable<SkKeyword> {\n return this._apiService.get<SkKeyword>(`/api/admin/keywords/${id}`).pipe(\n map(response => response.data)\n );\n }\n\n getKeywords(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkKeyword>> {\n return this._apiService.getPageable<SkKeyword>(`/api/public/keywords`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAllKeywords(params: ApiPageableParam = new ApiPageableParam()): Observable<SkKeyword[]> {\n return this._apiService.get<SkKeyword[]>(`/api/public/keywords/all`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminKeywords(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkKeyword>> {\n return this._apiService.getPageable<SkKeyword>(`/api/admin/keywords`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminAllKeywords(): Observable<SkKeyword[]> {\n return this._apiService.get<SkKeyword[]>(`/api/admin/keywords/all`).pipe(\n map(response => response.data)\n );\n }\n\n createAdminKeyword(data: any): Observable<SkKeyword> {\n return this._apiService.post<SkKeyword>(`/api/admin/keywords`, data).pipe(\n map(response => response.data)\n );\n }\n\n updateAdminKeyword(id: number, data: any): Observable<SkKeyword> {\n return this._apiService.put<SkKeyword>(`/api/admin/keywords/${id}`, data).pipe(\n map(response => response.data)\n );\n }\n\n deleteAdminKeywords(keywords: SkKeyword[]): Observable<any> {\n return this._apiService.delete(`/api/admin/keywords/delete/${keywords.map(keyword => keyword.id).join(',')}`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i1.SkAuthService","i2.SkAuthService"],"mappings":"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"}
@@ -234,10 +234,10 @@ class SkGoogleAnalyticsService {
234
234
  this.throw(error);
235
235
  }
236
236
  }
237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, deps: [{ token: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
238
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, providedIn: 'root' }); }
237
239
  }
238
- SkGoogleAnalyticsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsService, deps: [{ token: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
239
- SkGoogleAnalyticsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsService, providedIn: 'root' });
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsService, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsService, decorators: [{
241
241
  type: Injectable,
242
242
  args: [{
243
243
  providedIn: 'root'
@@ -285,11 +285,11 @@ class SkGoogleAnalyticsModule {
285
285
  ]
286
286
  };
287
287
  }
288
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
289
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsModule, imports: [CommonModule] }); }
290
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsModule, imports: [CommonModule] }); }
288
291
  }
289
- SkGoogleAnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
290
- SkGoogleAnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsModule, imports: [CommonModule] });
291
- SkGoogleAnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsModule, imports: [CommonModule] });
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsModule, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsModule, decorators: [{
293
293
  type: NgModule,
294
294
  args: [{
295
295
  imports: [
@@ -301,15 +301,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
301
301
  }] });
302
302
 
303
303
  class SkGoogleAnalyticsRouterModule {
304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
305
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsRouterModule, imports: [CommonModule,
306
+ SkGoogleAnalyticsModule] }); }
307
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsRouterModule, providers: [
308
+ SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER
309
+ ], imports: [CommonModule,
310
+ SkGoogleAnalyticsModule] }); }
304
311
  }
305
- SkGoogleAnalyticsRouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
306
- SkGoogleAnalyticsRouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsRouterModule, imports: [CommonModule,
307
- SkGoogleAnalyticsModule] });
308
- SkGoogleAnalyticsRouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsRouterModule, providers: [
309
- SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER
310
- ], imports: [CommonModule,
311
- SkGoogleAnalyticsModule] });
312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsRouterModule, decorators: [{
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkGoogleAnalyticsRouterModule, decorators: [{
313
313
  type: NgModule,
314
314
  args: [{
315
315
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"sk-front-lib-google-analytics.mjs","sources":["../../../projects/sk-front-lib/google-analytics/src/tokens/google-analytics-settings-token.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/services/google-analytics.service.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics-router.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics.module.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics-router.module.ts","../../../projects/sk-front-lib/google-analytics/src/sk-front-lib-google-analytics.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\n\nexport const SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN = new InjectionToken<ISkGoogleAnalyticsSettings>('sk-google-analytics-setting', {\n factory: () => ({ trackingCode: '' })\n});\n","import {APP_INITIALIZER, Inject, isDevMode, PLATFORM_ID, Provider} from \"@angular/core\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsCommand} from \"../interfaces/google-analytics-command\";\nimport {isPlatformServer} from \"@angular/common\";\n\nexport const SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER: Provider = {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: GoogleAnalyticsInitializer,\n deps: [\n SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n PLATFORM_ID\n ]\n};\n\nexport function GoogleAnalyticsInitializer(_settings: ISkGoogleAnalyticsSettings,\n platform: Object) {\n return async () => {\n if (!_settings.trackingCode) {\n if (!isDevMode()) {\n console.error('Empty tracking code for Google Analytics. Make sure to provide one when initializing SkGoogleAnalyticsModule.');\n }\n\n return;\n }\n\n if (isPlatformServer(platform)) {\n return;\n }\n\n // Set default ga.js uri\n _settings.uri = _settings.uri || `https://www.googletagmanager.com/gtag/js?id=${_settings.trackingCode}`;\n\n // these commands should run first!\n const initialCommands: Array<ISkGoogleAnalyticsCommand> = [\n {command: 'js', values: [new Date()]},\n {command: 'config', values: [_settings.trackingCode]}\n ];\n\n _settings.initCommands = [...initialCommands, ...(_settings.initCommands || [])];\n\n window['dataLayer'] = window['dataLayer'] || [];\n window['gtag'] = window['gtag'] || function () {\n window['dataLayer'].push(arguments);\n };\n\n for (const command of _settings.initCommands) {\n window['gtag'](command.command, ...command.values);\n }\n\n const s: HTMLScriptElement = document.createElement('script');\n s.async = true;\n s.src = _settings.uri;\n\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n head.appendChild(s);\n };\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {GaAction} from \"../types/ga-action.type\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkGoogleAnalyticsService {\n\n constructor(@Inject(SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN) protected _trackingId: ISkGoogleAnalyticsSettings) {\n }\n\n protected throw(err: Error) {\n if (console && console.error) {\n console.error(err);\n }\n }\n\n /**\n * Call native GA Tag\n *\n * @param action config|event\n * @param command Action specialization\n * @param options Command configuration\n */\n gtag(action: string, command: string, ...options: Array<any>) {\n try {\n window['gtag'](action, command, ...options);\n } catch (err) {\n this.throw(err);\n }\n }\n\n /**\n * Send an event trigger to GA. It is the same as call:\n * ```js\n * gtag('event', 'video_auto_play_start', {\n * 'event_label': 'My promotional video',\n * 'event_category': 'video_auto_play'\n * });\n * ```\n *\n * @param action 'video_auto_play_start'\n * @param category 'video_auto_play'\n * @param label 'My promotional video'\n * @param value An value to measure something\n */\n event(action: GaAction | string, category?: string, label?: string, value?: number, interaction?: boolean) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (category) {\n opt['event_category'] = category;\n }\n if (label) {\n opt['event_label'] = label;\n }\n if (value) {\n opt['value'] = value;\n }\n if (interaction !== undefined) {\n opt['interaction'] = interaction;\n }\n this.gtag('event', action as string, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n purchase(data) {\n try {\n if (window['gtag']) {\n this.gtag('event', 'purchase', data);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an page view event. This is the same as\n *\n * ```js\n * gtag('config', 'GA_TRACKING_ID', {\n * 'page_title' : 'Homepage',\n * 'page_path': '/home'\n * });\n * ```\n *\n * The tracking ID is injected automatically by Inject Token NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN\n *\n * @param path /home\n * @param title Homepage\n * @param location '{ page_location }'\n * @param options '{ ... custom dimentions }'\n */\n pageView(path?: string, title?: string, location?: string, options?: Object) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (path) {\n opt['page_path'] = path;\n }\n if (title) {\n opt['page_title'] = title;\n }\n if (location) {\n opt['page_location'] = location;\n }\n if (options) {\n Object.assign(opt, options);\n }\n this.gtag('config', this._trackingId.trackingCode, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an evento to report a App Page View. It is the same as\n *\n * ```js\n * gtag('event', 'screen_view', {\n * 'app_name': 'myAppName',\n * 'screen_name' : 'Home'\n * });\n *\n * ```\n *\n * @param screen 'screen_name'\n * @param name 'app_name'\n * @param appId 'app_id'\n * @param appVersion 'app_version'\n * @param installerId 'app_installer_id'\n */\n appView(screen: string, appName: string, appId?: string, appVersion?: string, installerId?: string) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (screen) {\n opt['screen_name'] = screen;\n }\n if (appName) {\n opt['app_name'] = appName;\n }\n if (appId) {\n opt['app_id'] = appId;\n }\n if (appVersion) {\n opt['app_version'] = appVersion;\n }\n if (installerId) {\n opt['app_installer_id'] = installerId;\n }\n this.gtag('event', 'screen_view', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an event to GA to report an application error. It is the same as\n *\n * ```js\n * gtag('event', 'exception', {\n * 'description': 'error_description',\n * 'fatal': false // set to true if the error is fatal\n * });\n * ```\n *\n * @param description 'error_description'\n * @param fatal set to true if the error is fatal\n */\n exception(description?: string, fatal?: boolean) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (description) {\n opt['description'] = description;\n }\n if (fatal) {\n opt['fatal'] = fatal;\n }\n this.gtag('event', 'exception', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n}\n","import {APP_BOOTSTRAP_LISTENER, ComponentRef, Provider} from \"@angular/core\";\nimport {NavigationEnd, Router} from \"@angular/router\";\nimport {SkGoogleAnalyticsService} from \"../services/google-analytics.service\";\n\nexport const SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER: Provider = {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n useFactory: GoogleAnalyticsRouterInitializer,\n deps: [\n SkGoogleAnalyticsService,\n Router\n ]\n};\n\nexport function GoogleAnalyticsRouterInitializer(\n _googleAnalyticsService: SkGoogleAnalyticsService,\n _router: Router\n) {\n return async (c: ComponentRef<any>) => {\n _router\n .events\n .subscribe(event => {\n if (event instanceof NavigationEnd) {\n _googleAnalyticsService.pageView(event.urlAfterRedirects, undefined, document.location.href);\n }\n });\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN } from './tokens/google-analytics-settings-token';\nimport { ISkGoogleAnalyticsCommand } from './interfaces/google-analytics-command';\nimport { SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER } from './initializers/google-analytics.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [],\n exports: []\n})\nexport class SkGoogleAnalyticsModule {\n static forRoot(trackingCode: string, commands: ISkGoogleAnalyticsCommand[] = [], uri?: string): ModuleWithProviders<SkGoogleAnalyticsModule> {\n return {\n ngModule: SkGoogleAnalyticsModule,\n providers: [\n {\n provide: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n useValue: {\n trackingCode,\n commands,\n uri\n }\n },\n SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER,\n ]\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkGoogleAnalyticsModule } from './google-analytics.module';\nimport { SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER } from './initializers/google-analytics-router.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n SkGoogleAnalyticsModule\n ],\n providers: [\n SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER\n ],\n declarations: []\n})\nexport class SkGoogleAnalyticsRouterModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sk-front-lib-google-analytics.mjs","sources":["../../../projects/sk-front-lib/google-analytics/src/tokens/google-analytics-settings-token.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/services/google-analytics.service.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics-router.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics.module.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics-router.module.ts","../../../projects/sk-front-lib/google-analytics/src/sk-front-lib-google-analytics.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\n\nexport const SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN = new InjectionToken<ISkGoogleAnalyticsSettings>('sk-google-analytics-setting', {\n factory: () => ({ trackingCode: '' })\n});\n","import {APP_INITIALIZER, Inject, isDevMode, PLATFORM_ID, Provider} from \"@angular/core\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsCommand} from \"../interfaces/google-analytics-command\";\nimport {isPlatformServer} from \"@angular/common\";\n\nexport const SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER: Provider = {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: GoogleAnalyticsInitializer,\n deps: [\n SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n PLATFORM_ID\n ]\n};\n\nexport function GoogleAnalyticsInitializer(_settings: ISkGoogleAnalyticsSettings,\n platform: Object) {\n return async () => {\n if (!_settings.trackingCode) {\n if (!isDevMode()) {\n console.error('Empty tracking code for Google Analytics. Make sure to provide one when initializing SkGoogleAnalyticsModule.');\n }\n\n return;\n }\n\n if (isPlatformServer(platform)) {\n return;\n }\n\n // Set default ga.js uri\n _settings.uri = _settings.uri || `https://www.googletagmanager.com/gtag/js?id=${_settings.trackingCode}`;\n\n // these commands should run first!\n const initialCommands: Array<ISkGoogleAnalyticsCommand> = [\n {command: 'js', values: [new Date()]},\n {command: 'config', values: [_settings.trackingCode]}\n ];\n\n _settings.initCommands = [...initialCommands, ...(_settings.initCommands || [])];\n\n window['dataLayer'] = window['dataLayer'] || [];\n window['gtag'] = window['gtag'] || function () {\n window['dataLayer'].push(arguments);\n };\n\n for (const command of _settings.initCommands) {\n window['gtag'](command.command, ...command.values);\n }\n\n const s: HTMLScriptElement = document.createElement('script');\n s.async = true;\n s.src = _settings.uri;\n\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n head.appendChild(s);\n };\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {GaAction} from \"../types/ga-action.type\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkGoogleAnalyticsService {\n\n constructor(@Inject(SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN) protected _trackingId: ISkGoogleAnalyticsSettings) {\n }\n\n protected throw(err: Error) {\n if (console && console.error) {\n console.error(err);\n }\n }\n\n /**\n * Call native GA Tag\n *\n * @param action config|event\n * @param command Action specialization\n * @param options Command configuration\n */\n gtag(action: string, command: string, ...options: Array<any>) {\n try {\n window['gtag'](action, command, ...options);\n } catch (err) {\n this.throw(err);\n }\n }\n\n /**\n * Send an event trigger to GA. It is the same as call:\n * ```js\n * gtag('event', 'video_auto_play_start', {\n * 'event_label': 'My promotional video',\n * 'event_category': 'video_auto_play'\n * });\n * ```\n *\n * @param action 'video_auto_play_start'\n * @param category 'video_auto_play'\n * @param label 'My promotional video'\n * @param value An value to measure something\n */\n event(action: GaAction | string, category?: string, label?: string, value?: number, interaction?: boolean) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (category) {\n opt['event_category'] = category;\n }\n if (label) {\n opt['event_label'] = label;\n }\n if (value) {\n opt['value'] = value;\n }\n if (interaction !== undefined) {\n opt['interaction'] = interaction;\n }\n this.gtag('event', action as string, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n purchase(data) {\n try {\n if (window['gtag']) {\n this.gtag('event', 'purchase', data);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an page view event. This is the same as\n *\n * ```js\n * gtag('config', 'GA_TRACKING_ID', {\n * 'page_title' : 'Homepage',\n * 'page_path': '/home'\n * });\n * ```\n *\n * The tracking ID is injected automatically by Inject Token NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN\n *\n * @param path /home\n * @param title Homepage\n * @param location '{ page_location }'\n * @param options '{ ... custom dimentions }'\n */\n pageView(path?: string, title?: string, location?: string, options?: Object) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (path) {\n opt['page_path'] = path;\n }\n if (title) {\n opt['page_title'] = title;\n }\n if (location) {\n opt['page_location'] = location;\n }\n if (options) {\n Object.assign(opt, options);\n }\n this.gtag('config', this._trackingId.trackingCode, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an evento to report a App Page View. It is the same as\n *\n * ```js\n * gtag('event', 'screen_view', {\n * 'app_name': 'myAppName',\n * 'screen_name' : 'Home'\n * });\n *\n * ```\n *\n * @param screen 'screen_name'\n * @param name 'app_name'\n * @param appId 'app_id'\n * @param appVersion 'app_version'\n * @param installerId 'app_installer_id'\n */\n appView(screen: string, appName: string, appId?: string, appVersion?: string, installerId?: string) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (screen) {\n opt['screen_name'] = screen;\n }\n if (appName) {\n opt['app_name'] = appName;\n }\n if (appId) {\n opt['app_id'] = appId;\n }\n if (appVersion) {\n opt['app_version'] = appVersion;\n }\n if (installerId) {\n opt['app_installer_id'] = installerId;\n }\n this.gtag('event', 'screen_view', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an event to GA to report an application error. It is the same as\n *\n * ```js\n * gtag('event', 'exception', {\n * 'description': 'error_description',\n * 'fatal': false // set to true if the error is fatal\n * });\n * ```\n *\n * @param description 'error_description'\n * @param fatal set to true if the error is fatal\n */\n exception(description?: string, fatal?: boolean) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (description) {\n opt['description'] = description;\n }\n if (fatal) {\n opt['fatal'] = fatal;\n }\n this.gtag('event', 'exception', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n}\n","import {APP_BOOTSTRAP_LISTENER, ComponentRef, Provider} from \"@angular/core\";\nimport {NavigationEnd, Router} from \"@angular/router\";\nimport {SkGoogleAnalyticsService} from \"../services/google-analytics.service\";\n\nexport const SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER: Provider = {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n useFactory: GoogleAnalyticsRouterInitializer,\n deps: [\n SkGoogleAnalyticsService,\n Router\n ]\n};\n\nexport function GoogleAnalyticsRouterInitializer(\n _googleAnalyticsService: SkGoogleAnalyticsService,\n _router: Router\n) {\n return async (c: ComponentRef<any>) => {\n _router\n .events\n .subscribe(event => {\n if (event instanceof NavigationEnd) {\n _googleAnalyticsService.pageView(event.urlAfterRedirects, undefined, document.location.href);\n }\n });\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN } from './tokens/google-analytics-settings-token';\nimport { ISkGoogleAnalyticsCommand } from './interfaces/google-analytics-command';\nimport { SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER } from './initializers/google-analytics.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [],\n exports: []\n})\nexport class SkGoogleAnalyticsModule {\n static forRoot(trackingCode: string, commands: ISkGoogleAnalyticsCommand[] = [], uri?: string): ModuleWithProviders<SkGoogleAnalyticsModule> {\n return {\n ngModule: SkGoogleAnalyticsModule,\n providers: [\n {\n provide: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n useValue: {\n trackingCode,\n commands,\n uri\n }\n },\n SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER,\n ]\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkGoogleAnalyticsModule } from './google-analytics.module';\nimport { SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER } from './initializers/google-analytics-router.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n SkGoogleAnalyticsModule\n ],\n providers: [\n SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER\n ],\n declarations: []\n})\nexport class SkGoogleAnalyticsRouterModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}