{ "version": 3, "sources": ["src/app/rewards-module/rewards-data.service.ts"], "sourcesContent": ["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { features } from 'src/environments/features';\r\nimport { SpinnerSettings } from '../config/spinner-settings.constant';\r\nimport { BaseDataService } from '../main/service/base-data.service';\r\nimport { CacheService } from '../main/service/cache.service';\r\nimport { DataService } from '../main/service/data.service';\r\nimport { RewardsData } from './rewards.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RewardsDataService extends BaseDataService {\r\n constructor(httpClient: HttpClient, cache: CacheService, private data: DataService) {\r\n super(httpClient, cache);\r\n }\r\n\r\n refreshRewards(): void {\r\n this.getRewards(true).pipe(first()).subscribe();\r\n }\r\n\r\n getRewards(refresh: boolean = false, showLoading: boolean = false): Observable {\r\n if (!this.data.isLoggedIn()) {\r\n return of( { availableRewards: [], announcements: [], redeemedRewards: [] });\r\n }\r\n\r\n if (features.rewards || features.announcements) {\r\n const url = `${environment.apiEndpoint}api/rewards`;\r\n const options = showLoading ? {} : SpinnerSettings.hideSpinner();\r\n return this.getData('Rewards', url, options, refresh);\r\n } else {\r\n return of( { availableRewards: [], announcements: [], redeemedRewards: [] });\r\n }\r\n }\r\n\r\n redeemReward(clientRewardId: number): Observable {\r\n const url = `${environment.apiEndpoint}api/rewards/redeem/${clientRewardId}`;\r\n return this.httpClient.patch(url, {});\r\n }\r\n\r\n setEnrollmentDate(): Observable {\r\n const url = `${environment.apiEndpoint}api/rewards/enroll`;\r\n return this.httpClient.post(url, {});\r\n }\r\n}\r\n"], "mappings": "qVAeA,IAAaA,GAAmB,IAAA,CAA1B,IAAOA,EAAP,MAAOA,UAA2BC,CAAe,CACnDC,YAAYC,EAAwBC,EAA6BC,EAAiB,CAC9E,MAAMF,EAAYC,CAAK,EADsC,KAAAC,KAAAA,CAEjE,CAEAC,gBAAc,CACV,KAAKC,WAAW,EAAI,EAAEC,KAAKC,EAAK,CAAE,EAAEC,UAAS,CACjD,CAEAH,WAAWI,EAAmB,GAAOC,EAAuB,GAAK,CAC7D,GAAI,CAAC,KAAKP,KAAKQ,WAAU,EACrB,OAAOC,EAAiB,CAAEC,iBAAkB,CAAA,EAAIC,cAAe,CAAA,EAAIC,gBAAiB,CAAA,CAAE,CAAE,EAG5F,GAAIC,EAASC,SAAWD,EAASF,cAAe,CAC5C,IAAMI,EAAM,GAAGC,EAAYC,WAAW,cAChCC,EAAUX,EAAc,CAAA,EAAKY,EAAgBC,YAAW,EAC9D,OAAO,KAAKC,QAAqB,UAAWN,EAAKG,EAASZ,CAAO,CACrE,KACI,QAAOG,EAAiB,CAAEC,iBAAkB,CAAA,EAAIC,cAAe,CAAA,EAAIC,gBAAiB,CAAA,CAAE,CAAE,CAEhG,CAEAU,aAAaC,EAAsB,CAC/B,IAAMR,EAAM,GAAGC,EAAYC,WAAW,sBAAsBM,CAAc,GAC1E,OAAO,KAAKzB,WAAW0B,MAAeT,EAAK,CAAA,CAAE,CACjD,CAEAU,mBAAiB,CACb,IAAMV,EAAM,GAAGC,EAAYC,WAAW,qBACtC,OAAO,KAAKnB,WAAW4B,KAAcX,EAAK,CAAA,CAAE,CAChD,yCA/BSpB,GAAkBgC,EAAAC,CAAA,EAAAD,EAAAE,CAAA,EAAAF,EAAAG,CAAA,CAAA,CAAA,wBAAlBnC,EAAkBoC,QAAlBpC,EAAkBqC,UAAAC,WAFf,MAAM,CAAA,EAEhB,IAAOtC,EAAPuC,SAAOvC,CAAmB,GAAA", "names": ["RewardsDataService", "BaseDataService", "constructor", "httpClient", "cache", "data", "refreshRewards", "getRewards", "pipe", "first", "subscribe", "refresh", "showLoading", "isLoggedIn", "of", "availableRewards", "announcements", "redeemedRewards", "features", "rewards", "url", "environment", "apiEndpoint", "options", "SpinnerSettings", "hideSpinner", "getData", "redeemReward", "clientRewardId", "patch", "setEnrollmentDate", "post", "\u0275\u0275inject", "HttpClient", "CacheService", "DataService", "factory", "\u0275fac", "providedIn", "_RewardsDataService"] }