sk-front-lib 0.17.34 → 0.17.35

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.
@@ -1 +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: { 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 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\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): Observable<number> {\n return this._apiService.get<number>(`/api/public/orders/${id}/calculate-shipping-fee`, new HttpParams().append('method', method).append('zipCode', zipCode))\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":[],"mappings":"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"}
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 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\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): Observable<number> {\n return this._apiService.get<number>(`/api/public/orders/${id}/calculate-shipping-fee`, new HttpParams().append('method', method).append('zipCode', zipCode))\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":[],"mappings":"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"}