sk-front-lib 0.18.2 → 0.18.4
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.
- package/article/sk-article-editor-server.component.d.ts +1 -1
- package/article/sk-article-editor.component.d.ts +1 -1
- package/article/sk-froala-editor.directive.d.ts +1 -1
- package/crud/sk-auth-admin.guard.d.ts +2 -2
- package/crud/sk-auth.guard.d.ts +2 -2
- package/{esm2020 → esm2022}/api/sk-api.module.mjs +9 -9
- package/{esm2020 → esm2022}/api/sk-api.service.mjs +4 -4
- package/{esm2020 → esm2022}/article/sk-article-editor-server.component.mjs +4 -4
- package/{esm2020 → esm2022}/article/sk-article-editor.component.mjs +4 -4
- package/{esm2020 → esm2022}/article/sk-article-server.module.mjs +5 -5
- package/{esm2020 → esm2022}/article/sk-article.module.mjs +7 -7
- package/{esm2020 → esm2022}/article/sk-article.service.mjs +4 -4
- package/{esm2020 → esm2022}/article/sk-froala-editor.directive.mjs +7 -7
- package/{esm2020 → esm2022}/crud/sk-account.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-affiliate.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-auth-admin.guard.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-auth.guard.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-auth.service.mjs +7 -7
- package/{esm2020 → esm2022}/crud/sk-board.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-brand.service.mjs +4 -4
- package/esm2022/crud/sk-cart.service.mjs +256 -0
- package/{esm2020 → esm2022}/crud/sk-category.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-comment.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-config.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-contact.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-coupon.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-document.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-etc.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-file.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-keyword.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-order.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-point.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-product.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-promotion.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-search.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-store.service.mjs +4 -4
- package/{esm2020 → esm2022}/crud/sk-user.service.mjs +4 -4
- package/{esm2020 → esm2022}/google-analytics/google-analytics-router.module.mjs +9 -9
- package/{esm2020 → esm2022}/google-analytics/google-analytics.module.mjs +5 -5
- package/esm2022/google-analytics/services/google-analytics.service.mjs +223 -0
- package/{esm2020 → esm2022}/image/sk-image.component.mjs +6 -6
- package/esm2022/image/sk-image.module.mjs +40 -0
- package/{esm2020 → esm2022}/lib/sk-byte.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/sk-date-time.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/sk-date.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/sk-front-lib.module.mjs +13 -13
- package/{esm2020 → esm2022}/lib/sk-keys.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/sk-time.pipe.mjs +4 -4
- package/esm2022/model/lib/filetype.mjs +179 -0
- package/esm2022/search-address/dialog/dialog.component.mjs +27 -0
- package/{esm2020 → esm2022}/search-address/sk-search-address.directive.mjs +6 -6
- package/esm2022/search-address/sk-search-address.module.mjs +47 -0
- package/{esm2020 → esm2022}/search-address/sk-search-address.service.mjs +4 -4
- package/esm2022/uploader/sk-uploader.component.mjs +119 -0
- package/esm2022/uploader/sk-uploader.directive.mjs +44 -0
- package/esm2022/uploader/sk-uploader.module.mjs +57 -0
- package/{fesm2020 → fesm2022}/sk-front-lib-api.mjs +11 -11
- package/{fesm2020 → fesm2022}/sk-front-lib-api.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sk-front-lib-article.mjs +25 -25
- package/{fesm2020 → fesm2022}/sk-front-lib-article.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sk-front-lib-crud.mjs +93 -93
- package/fesm2022/sk-front-lib-crud.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sk-front-lib-google-analytics.mjs +38 -16
- package/fesm2022/sk-front-lib-google-analytics.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sk-front-lib-image.mjs +21 -21
- package/fesm2022/sk-front-lib-image.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/sk-front-lib-model.mjs +56 -56
- package/{fesm2020 → fesm2022}/sk-front-lib-model.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sk-front-lib-search-address.mjs +32 -32
- package/fesm2022/sk-front-lib-search-address.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sk-front-lib-uploader.mjs +48 -49
- package/fesm2022/sk-front-lib-uploader.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sk-front-lib.mjs +27 -27
- package/{fesm2015 → fesm2022}/sk-front-lib.mjs.map +1 -1
- package/google-analytics/services/google-analytics.service.d.ts +2 -1
- package/google-analytics/types/ga-action.type.d.ts +1 -1
- package/google-analytics/types/ga-bind.type.d.ts +1 -1
- package/image/sk-image.component.d.ts +2 -2
- package/image/sk-image.module.d.ts +3 -3
- package/model/lib/payment.d.ts +1 -1
- package/package.json +46 -68
- package/search-address/dialog/dialog.component.d.ts +1 -1
- package/search-address/sk-search-address.directive.d.ts +2 -2
- package/search-address/sk-search-address.module.d.ts +3 -3
- package/uploader/sk-uploader.component.d.ts +1 -1
- package/uploader/sk-uploader.directive.d.ts +2 -2
- package/uploader/sk-uploader.module.d.ts +5 -5
- package/esm2020/crud/sk-cart.service.mjs +0 -256
- package/esm2020/google-analytics/services/google-analytics.service.mjs +0 -200
- package/esm2020/image/sk-image.module.mjs +0 -40
- package/esm2020/model/lib/filetype.mjs +0 -179
- package/esm2020/search-address/dialog/dialog.component.mjs +0 -27
- package/esm2020/search-address/sk-search-address.module.mjs +0 -47
- package/esm2020/uploader/sk-uploader.component.mjs +0 -120
- package/esm2020/uploader/sk-uploader.directive.mjs +0 -44
- package/esm2020/uploader/sk-uploader.module.mjs +0 -57
- package/fesm2015/sk-front-lib-api.mjs +0 -216
- package/fesm2015/sk-front-lib-api.mjs.map +0 -1
- package/fesm2015/sk-front-lib-article.mjs +0 -758
- package/fesm2015/sk-front-lib-article.mjs.map +0 -1
- package/fesm2015/sk-front-lib-crud.mjs +0 -1529
- package/fesm2015/sk-front-lib-crud.mjs.map +0 -1
- package/fesm2015/sk-front-lib-google-analytics.mjs +0 -334
- package/fesm2015/sk-front-lib-google-analytics.mjs.map +0 -1
- package/fesm2015/sk-front-lib-image.mjs +0 -303
- package/fesm2015/sk-front-lib-image.mjs.map +0 -1
- package/fesm2015/sk-front-lib-model.mjs.map +0 -1
- package/fesm2015/sk-front-lib-search-address.mjs +0 -183
- package/fesm2015/sk-front-lib-search-address.mjs.map +0 -1
- package/fesm2015/sk-front-lib-uploader.mjs +0 -546
- package/fesm2015/sk-front-lib-uploader.mjs.map +0 -1
- package/fesm2015/sk-front-lib.mjs +0 -538
- package/fesm2020/sk-front-lib-crud.mjs.map +0 -1
- package/fesm2020/sk-front-lib-google-analytics.mjs.map +0 -1
- package/fesm2020/sk-front-lib-image.mjs.map +0 -1
- package/fesm2020/sk-front-lib-model.mjs +0 -1105
- package/fesm2020/sk-front-lib-search-address.mjs.map +0 -1
- package/fesm2020/sk-front-lib-uploader.mjs.map +0 -1
- package/fesm2020/sk-front-lib.mjs.map +0 -1
- /package/{esm2020 → esm2022}/api/model/api-config.mjs +0 -0
- /package/{esm2020 → esm2022}/api/model/api-pageable-param.mjs +0 -0
- /package/{esm2020 → esm2022}/api/model/api-pageable.mjs +0 -0
- /package/{esm2020 → esm2022}/api/model/api-response.mjs +0 -0
- /package/{esm2020 → esm2022}/api/model/index.mjs +0 -0
- /package/{esm2020 → esm2022}/api/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/api/sk-front-lib-api.mjs +0 -0
- /package/{esm2020 → esm2022}/article/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/article/sk-front-lib-article.mjs +0 -0
- /package/{esm2020 → esm2022}/crud/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/crud/sk-front-lib-crud.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/initializers/google-analytics.initializer.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/interfaces/google-analytics-command.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/interfaces/google-analytics-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/sk-front-lib-google-analytics.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/tokens/google-analytics-settings-token.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/types/ga-action.type.mjs +0 -0
- /package/{esm2020 → esm2022}/google-analytics/types/ga-bind.type.mjs +0 -0
- /package/{esm2020 → esm2022}/image/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/image/sk-front-lib-image.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/sk-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/sk-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/article.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/audit.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/auth.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/board.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/cart.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/comment.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/contact.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/coupon.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/document.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/etc.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/file.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/grid.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/nicepay.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/order.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/payment.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/point.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/product-series.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/product.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/promotion.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/shipping.mjs +0 -0
- /package/{esm2020 → esm2022}/model/lib/user.mjs +0 -0
- /package/{esm2020 → esm2022}/model/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/model/sk-front-lib-model.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/search-address/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/search-address/sk-front-lib-search-address.mjs +0 -0
- /package/{esm2020 → esm2022}/search-address/sk-search-address.model.mjs +0 -0
- /package/{esm2020 → esm2022}/sk-front-lib.mjs +0 -0
- /package/{esm2020 → esm2022}/uploader/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/uploader/sk-front-lib-uploader.mjs +0 -0
- /package/{esm2020 → esm2022}/uploader/sk-uploader-file-item.model.mjs +0 -0
- /package/{esm2020 → esm2022}/uploader/sk-uploader.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/uploader/sk-uploader.class.mjs +0 -0
|
@@ -1 +0,0 @@
|
|
|
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, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {tap} from 'rxjs/operators';\nimport {SkAuthService} from './sk-auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAuthGuard implements CanActivate, CanActivateChild {\n constructor(private authService: SkAuthService,\n private router: Router) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.authService.checkLogin()\n .pipe(\n tap(logged => {\n if (!logged) {\n this.router.navigate(['/login', {returnUrl: state.url}]);\n }\n })\n );\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.canActivate(route, state);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {tap} from 'rxjs/operators';\nimport {SkAuthService} from './sk-auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkAuthAdminGuard implements CanActivate, CanActivateChild {\n constructor(private authService: SkAuthService,\n private router: Router) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.authService.checkAdminAccessable()\n .pipe(\n tap(logged => {\n if (!logged) {\n this.router.navigate(['/login', {returnUrl: state.url}]);\n }\n })\n );\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n return this.canActivate(route, state);\n }\n}\n","import {HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\n\nimport {ApiPageable, ApiPageableParam, SkApiService} from 'sk-front-lib/api';\nimport {ISkResLogin, SkUser, SkUserCount, SkUserSignup} from 'sk-front-lib/model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkUserService {\n\n constructor(private _apiService: SkApiService) {\n\n }\n\n getUser(id: number): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/public/users/${id}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getAdminUser(id: number): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/admin/users/${id}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getAdminUserByEmail(email: string): Observable<SkUser> {\n return this._apiService.get<SkUser>(`/api/admin/users/email/${email}`).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n getUsers(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkUser>> {\n return this._apiService.getPageable<SkUser>(`/api/public/users`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n getAdminUsers(params: ApiPageableParam = new ApiPageableParam()): Observable<ApiPageable<SkUser>> {\n return this._apiService.getPageable<SkUser>(`/api/admin/users`, params.buildHttpParams()).pipe(\n map(response => response.data)\n );\n }\n\n createAdminUser(data: any): Observable<SkUser> {\n return this._apiService.post<SkUser>(`/api/admin/users`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n updateUser(data: any): Observable<SkUser> {\n return this._apiService.put<SkUser>(`/api/public/users/me`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n updateAdminUser(id: number, data: any): Observable<SkUser> {\n return this._apiService.put<SkUser>(`/api/admin/users/${id}`, data).pipe(\n map(response => new SkUser(response.data))\n );\n }\n\n activateAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.put(`/api/admin/users/activate/${users.map(user => user.id).join(',')}`, null);\n }\n\n deactivateAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.put(`/api/admin/users/deactivate/${users.map(user => user.id).join(',')}`, null);\n }\n\n deleteAdminUsers(users: SkUser[]): Observable<any> {\n return this._apiService.delete(`/api/admin/users/delete/${users.map(user => user.id).join(',')}`);\n }\n\n getAdminUsersCount(): Observable<SkUserCount> {\n return this._apiService.get<SkUserCount>('/api/admin/users/count')\n .pipe(map(response => response.data));\n }\n\n signup(data: SkUserSignup): Observable<any> {\n return this._apiService.post<ISkResLogin>('/api/auth/signup', data)\n .pipe(\n tap(response => {\n if (response.status === 200) {\n this._apiService.setToken(response.data.token);\n }\n }),\n map(response => response.data)\n );\n }\n\n 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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"}
|