diff --git a/Front/skydivelogs-app/src/app/app.component.ts b/Front/skydivelogs-app/src/app/app.component.ts
index 20db848..8188b9b 100644
--- a/Front/skydivelogs-app/src/app/app.component.ts
+++ b/Front/skydivelogs-app/src/app/app.component.ts
@@ -2,12 +2,12 @@ import { Component, OnInit } from "@angular/core";
import { Router } from "@angular/router";
import { User } from "../models/user";
-import { RefData } from "../models/ref-data.enum";
+import { CacheApiKey } from "../models/cache-api-key.enum";
import { AuthenticationService } from "../services/authentication.service";
import { ServiceComm } from "../services/service-comm.service";
import { ConfigurationHelper } from "../services/configuration-helper";
-import { ServiceRefData } from "../services/service-ref-data.service";
+import { ServiceCacheApi } from "../services/service-cache-api.service";
import { AircraftService } from "../services/aircraft.service";
import { GearService } from "../services/gear.service";
import { JumpTypeService } from "../services/jump-type.service";
@@ -26,7 +26,7 @@ export class AppComponent implements OnInit {
constructor(private router: Router,
private authenticationService: AuthenticationService,
private serviceComm: ServiceComm,
- private serviceRefData : ServiceRefData,
+ private serviceCacheApi : ServiceCacheApi,
private serviceApiAircraft : AircraftService,
private serviceApiJumpType : JumpTypeService,
private serviceApiDropzone : DropzoneService,
@@ -58,7 +58,7 @@ export class AppComponent implements OnInit {
}
logout() {
- this.serviceRefData.delete(RefData.Dropzone);
+ this.serviceCacheApi.delete(CacheApiKey.Dropzone);
this.authenticationService.logout();
this.router.navigate(["/login"], { skipLocationChange: true });
}
diff --git a/Front/skydivelogs-app/src/app/app.module.ts b/Front/skydivelogs-app/src/app/app.module.ts
index d2b7dd8..0e94417 100644
--- a/Front/skydivelogs-app/src/app/app.module.ts
+++ b/Front/skydivelogs-app/src/app/app.module.ts
@@ -35,7 +35,7 @@ import { RequestCache } from "../services/request-cache.service";
import { AuthGuardService } from "../services/auth-guard.service";
import { ImageService } from "../services/image.service";
import { ConfigurationHelper } from "../services/configuration-helper";
-import { ServiceRefData } from "../services/service-ref-data.service";
+import { ServiceCacheApi } from "../services/service-cache-api.service";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
@@ -183,7 +183,7 @@ export function initConfig(configService: ConfigurationHelper) {
RequestCache,
ConfigurationHelper,
DatePipe,
- ServiceRefData,
+ ServiceCacheApi,
{ provide: APP_INITIALIZER, useFactory: initConfig, deps: [ConfigurationHelper], multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: JwtAuthInterceptor, multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.css b/Front/skydivelogs-app/src/app/summary/summary.component.css
index 32496d2..abf635c 100644
--- a/Front/skydivelogs-app/src/app/summary/summary.component.css
+++ b/Front/skydivelogs-app/src/app/summary/summary.component.css
@@ -33,10 +33,6 @@
margin-bottom: 10px;
}
-.mat-tab-group {
- margin-top: 20px;
-}
-
.containerFlex {
display: flex;
flex-wrap: wrap;
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.html b/Front/skydivelogs-app/src/app/summary/summary.component.html
index 39eca28..972c77a 100644
--- a/Front/skydivelogs-app/src/app/summary/summary.component.html
+++ b/Front/skydivelogs-app/src/app/summary/summary.component.html
@@ -11,126 +11,146 @@
- : {{ lastJump }}
+ : {{ lastJump | date: 'yyyy-MM-dd' }}
-
+
+ cached
+
+
+
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
-
-
- | {{element.label}} |
-
-
- {{element.nb}} |
-
-
-
+
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
-
-
- | {{element.label}} |
-
-
- {{element.nb}} |
-
-
-
+
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
-
-
- | {{element.label}} |
-
-
- {{element.nb}} |
-
-
-
+
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
-
-
- | {{element.label}} |
-
-
- {{element.nb}} |
-
-
-
+
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
-
-
- | {{element.label}} |
-
-
- {{element.nb}} |
-
-
-
+
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.ts b/Front/skydivelogs-app/src/app/summary/summary.component.ts
index 3c58e8a..d38c2ee 100644
--- a/Front/skydivelogs-app/src/app/summary/summary.component.ts
+++ b/Front/skydivelogs-app/src/app/summary/summary.component.ts
@@ -1,15 +1,10 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, ViewChild } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
+import { MatTabChangeEvent, MatTabGroup } from '@angular/material/tabs';
import { ServiceComm } from '../../services/service-comm.service';
import { StatsService } from '../../services/stats.service';
-import {
- StatsByDzResp,
- StatsByAircraftResp,
- StatsByGearResp,
- StatsByJumpTypeResp,
- StatsByYearResp,
- StatType
-} from '../../models/stats';
+import { StatsByDzResp, StatsByAircraftResp, StatsByGearResp,
+ StatsByJumpTypeResp, StatsByYearResp } from '../../models/stats';
@Component({
selector: 'app-summary',
@@ -29,86 +24,91 @@ export class SummaryComponent implements OnInit {
public dsJumpForLastMonthByJumpType: MatTableDataSource;
public displayedColumns: Array = ['label', 'nb'];
- private _shownStats: Map;
- public StatType = StatType;
public totalJumps: number;
public totalCutaways: number;
public lastJump: string;
-
- constructor(
- private _serviceApi: StatsService,
- private _serviceComm: ServiceComm
- ) { }
+ @ViewChild(MatTabGroup) tabGroup: MatTabGroup;
+
+ constructor(private serviceApi: StatsService,
+ private serviceComm: ServiceComm) { }
ngOnInit() {
- this.initShownStats();
+ this.serviceComm.UpdatedComponentTitle('Summary');
- this._serviceComm.UpdatedComponentTitle('Summary');
+ this.serviceApi.getSimpleSummary()
+ .subscribe(data => {
+ this.totalJumps = data.totalJumps;
+ this.totalCutaways = data.totalCutaways;
+ this.lastJump = data.lastJump.jumpDate + ' (' + data.lastJump.dropZone.name + ')';
+ });
- const statsResult = this._serviceApi.getStatsOfJumps();
-
- statsResult.simpleSummary.subscribe(data => {
- this.totalJumps = data.totalJumps;
- this.totalCutaways = data.totalCutaways;
- this.lastJump = data.lastJump.jumpDate + ' (' + data.lastJump.dropZone.name + ')';
- });
-
- statsResult.statsByDz.subscribe(data => {
- this.dsNbJumpByDz = new MatTableDataSource(data);
- });
- statsResult.statsByAircraft.subscribe(data => {
- this.dsNbJumpByAircraft = new MatTableDataSource(data);
- });
- statsResult.statsByGear.subscribe(data => {
- this.dsNbJumpByGear = new MatTableDataSource(data);
- });
- statsResult.statsByJumpType.subscribe(data => {
- this.dsNbJumpByType = new MatTableDataSource(data);
- });
- statsResult.statsByYear.subscribe(data => {
- this.dsNbJumpByYear = new MatTableDataSource(data);
- });
-
- statsResult.statsForLastYear.subscribe(data => {
- this.dsJumpForLastYearByDz = new MatTableDataSource(data.byDz);
- this.dsJumpForLastYearByJumpType = new MatTableDataSource(
- data.byJumpType
- );
- });
- statsResult.statsForLastMonth.subscribe(data => {
- this.dsJumpForLastMonthByDz = new MatTableDataSource(data.byDz);
- this.dsJumpForLastMonthByJumpType = new MatTableDataSource(
- data.byJumpType
- );
- });
+ this.serviceApi.getStatsOfLastMonth()
+ .subscribe(data => {
+ this.dsJumpForLastMonthByDz = new MatTableDataSource(data.byDz);
+ this.dsJumpForLastMonthByJumpType = new MatTableDataSource(
+ data.byJumpType
+ );
+ });
+
+ this.tabGroup.selectedIndex = 0;
}
- public showStats(statsToShow: StatType) {
- this._shownStats.set(StatType.ForLastMonth, false);
- this._shownStats.set(StatType.ForLastYear, false);
- this._shownStats.set(StatType.ByDz, false);
- this._shownStats.set(StatType.ByAircraft, false);
- this._shownStats.set(StatType.ByGear, false);
- this._shownStats.set(StatType.ByJumpType, false);
- this._shownStats.set(StatType.ByYear, false);
-
- this._shownStats.set(statsToShow, true);
+ public refreshStats() {
+ this.serviceApi.deleteAllCache();
+ this.tabGroup.selectedIndex = 0;
}
- private initShownStats() {
- this._shownStats = new Map();
-
- this._shownStats.set(StatType.ForLastMonth, false);
- this._shownStats.set(StatType.ForLastYear, false);
- this._shownStats.set(StatType.ByDz, false);
- this._shownStats.set(StatType.ByAircraft, false);
- this._shownStats.set(StatType.ByGear, false);
- this._shownStats.set(StatType.ByJumpType, false);
- this._shownStats.set(StatType.ByYear, true);
- }
-
- public statsToShow(statsToShow: StatType): boolean {
- return this._shownStats.get(statsToShow);
+ public onTabChanged(event: MatTabChangeEvent) {
+ switch (event.index) {
+ case 0:
+ this.serviceApi.getStatsOfLastMonth()
+ .subscribe(data => {
+ this.dsJumpForLastMonthByDz = new MatTableDataSource(data.byDz);
+ this.dsJumpForLastMonthByJumpType = new MatTableDataSource(
+ data.byJumpType
+ );
+ });
+ break;
+ case 1:
+ this.serviceApi.getStatsOfLastYear()
+ .subscribe(data => {
+ this.dsJumpForLastYearByDz = new MatTableDataSource(data.byDz);
+ this.dsJumpForLastYearByJumpType = new MatTableDataSource(
+ data.byJumpType
+ );
+ });
+ break;
+ case 2:
+ this.serviceApi.getStatsByDz()
+ .subscribe(data => {
+ this.dsNbJumpByDz = new MatTableDataSource(data);
+ });
+ break;
+ case 3:
+ this.serviceApi.getStatsByAircraft()
+ .subscribe(data => {
+ this.dsNbJumpByAircraft = new MatTableDataSource(data);
+ });
+ break;
+ case 4:
+ this.serviceApi.getStatsByGear()
+ .subscribe(data => {
+ this.dsNbJumpByGear = new MatTableDataSource(data);
+ });
+ break;
+ case 5:
+ this.serviceApi.getStatsByJumpType()
+ .subscribe(data => {
+ this.dsNbJumpByType = new MatTableDataSource(data);
+ });
+ break;
+ case 6:
+ this.serviceApi.getStatsByYear()
+ .subscribe(data => {
+ this.dsNbJumpByYear = new MatTableDataSource(data);
+ });
+ break;
+ }
}
}
diff --git a/Front/skydivelogs-app/src/models/cache-api-key.enum.ts b/Front/skydivelogs-app/src/models/cache-api-key.enum.ts
new file mode 100644
index 0000000..cd78c4b
--- /dev/null
+++ b/Front/skydivelogs-app/src/models/cache-api-key.enum.ts
@@ -0,0 +1,13 @@
+export enum CacheApiKey {
+ JumpType,
+ Aircraft,
+ Gear,
+ Dropzone,
+ SimpleSummary,
+ StatsByDz,
+ StatsByAircraft,
+ StatsByJumpType,
+ StatsByGear,
+ StatsOfLastYear,
+ StatsOfLastMonth
+}
diff --git a/Front/skydivelogs-app/src/models/ref-data.enum.ts b/Front/skydivelogs-app/src/models/ref-data.enum.ts
deleted file mode 100644
index 100de58..0000000
--- a/Front/skydivelogs-app/src/models/ref-data.enum.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export enum RefData {
- JumpType,
- Aircraft,
- Gear,
- Dropzone
-}
diff --git a/Front/skydivelogs-app/src/models/stats.ts b/Front/skydivelogs-app/src/models/stats.ts
index 6879c8e..95d9f6d 100644
--- a/Front/skydivelogs-app/src/models/stats.ts
+++ b/Front/skydivelogs-app/src/models/stats.ts
@@ -1,16 +1,6 @@
import { Observable } from 'rxjs';
import { JumpResp } from './jump';
-export enum StatType {
- ForLastMonth = 1,
- ForLastYear = 2,
- ByDz = 3,
- ByAircraft = 4,
- ByGear = 5,
- ByJumpType = 6,
- ByYear = 7,
-}
-
export class StatsResp {
public simpleSummary: Observable;
diff --git a/Front/skydivelogs-app/src/services/aircraft.service.ts b/Front/skydivelogs-app/src/services/aircraft.service.ts
index 268b946..509c7f5 100644
--- a/Front/skydivelogs-app/src/services/aircraft.service.ts
+++ b/Front/skydivelogs-app/src/services/aircraft.service.ts
@@ -5,7 +5,7 @@ import { Observable } from 'rxjs';
import { AircraftResp, AircraftReq } from '../models/aircraft';
import { BaseService } from './base.service';
-import { RefData } from '../models/ref-data.enum';
+import { CacheApiKey } from '../models/cache-api-key.enum';
@Injectable()
export class AircraftService extends BaseService {
@@ -22,7 +22,7 @@ export class AircraftService extends BaseService {
}
let callToApi = this.http.get>(url, { headers: this.headers });
- return this.serviceRefData.get>(RefData.Aircraft, callToApi);
+ return this.serviceCacheApi.get>(CacheApiKey.Aircraft, callToApi);
}
public AddAircraft(aircraftName: string, dataImg: string) {
diff --git a/Front/skydivelogs-app/src/services/base.service.ts b/Front/skydivelogs-app/src/services/base.service.ts
index b609ea9..14e2860 100644
--- a/Front/skydivelogs-app/src/services/base.service.ts
+++ b/Front/skydivelogs-app/src/services/base.service.ts
@@ -1,12 +1,12 @@
import { HttpHeaders } from '@angular/common/http';
import { ConfigurationHelper } from './configuration-helper';
-import { ServiceRefData } from './service-ref-data.service';
+import { ServiceCacheApi } from './service-cache-api.service';
export class BaseService {
protected headers: HttpHeaders;
protected apiUrl: string;
- protected serviceRefData : ServiceRefData;
+ protected serviceCacheApi : ServiceCacheApi;
constructor() {
ConfigurationHelper.settings.subscribe(settings =>
@@ -21,6 +21,6 @@ export class BaseService {
}
});
- this.serviceRefData = new ServiceRefData();
+ this.serviceCacheApi = new ServiceCacheApi();
}
}
diff --git a/Front/skydivelogs-app/src/services/dropzone.service.ts b/Front/skydivelogs-app/src/services/dropzone.service.ts
index 795d2b6..87fd63a 100644
--- a/Front/skydivelogs-app/src/services/dropzone.service.ts
+++ b/Front/skydivelogs-app/src/services/dropzone.service.ts
@@ -6,7 +6,7 @@ import { map } from "rxjs/operators";
import { DropZoneResp, DropZoneReq } from "../models/dropzone";
import { BaseService } from "./base.service";
-import { RefData } from "../models/ref-data.enum";
+import { CacheApiKey } from "../models/cache-api-key.enum";
@Injectable()
export class DropzoneService extends BaseService {
@@ -27,7 +27,7 @@ export class DropzoneService extends BaseService {
const details = response.map(data => new DropZoneResp(data));
return details;
}));
- return this.serviceRefData.get>(RefData.Dropzone, callToApi);
+ return this.serviceCacheApi.get>(CacheApiKey.Dropzone, callToApi);
}
public SetFavoriteDropZone(selectedDz: DropZoneResp) {
@@ -37,7 +37,7 @@ export class DropzoneService extends BaseService {
selectedDz,
{ headers: this.headers })
.subscribe(() => {
- this.serviceRefData.delete(RefData.Dropzone);
+ this.serviceCacheApi.delete(CacheApiKey.Dropzone);
});
}
@@ -48,7 +48,7 @@ export class DropzoneService extends BaseService {
selectedDz,
{ headers: this.headers })
.subscribe(() => {
- this.serviceRefData.delete(RefData.Dropzone);
+ this.serviceCacheApi.delete(CacheApiKey.Dropzone);
});
}
@@ -72,7 +72,7 @@ export class DropzoneService extends BaseService {
isFavorite: isFavorite
};
- this.serviceRefData.delete(RefData.Dropzone);
+ this.serviceCacheApi.delete(CacheApiKey.Dropzone);
return this.http.post(`${this.apiUrl}/DropZone`,
bodyNewDropZone,
{ headers: this.headers });
diff --git a/Front/skydivelogs-app/src/services/gear.service.ts b/Front/skydivelogs-app/src/services/gear.service.ts
index 8e3e8b0..1f5b454 100644
--- a/Front/skydivelogs-app/src/services/gear.service.ts
+++ b/Front/skydivelogs-app/src/services/gear.service.ts
@@ -5,7 +5,7 @@ import { Observable } from "rxjs";
import { GearResp, GearReq } from "../models/gear";
import { BaseService } from "./base.service";
-import { RefData } from "../models/ref-data.enum";
+import { CacheApiKey } from "../models/cache-api-key.enum";
@Injectable()
export class GearService extends BaseService {
@@ -15,7 +15,7 @@ export class GearService extends BaseService {
public getListOfGears(): Observable> {
let callToApi = this.http.get>(`${this.apiUrl}/Gear`, { headers: this.headers });
- return this.serviceRefData.get>(RefData.Gear, callToApi);
+ return this.serviceCacheApi.get>(CacheApiKey.Gear, callToApi);
}
public AddGear(name: string,
@@ -37,7 +37,7 @@ export class GearService extends BaseService {
reserveCanopy: reserveCanopy
};
- this.serviceRefData.delete(RefData.Gear);
+ this.serviceCacheApi.delete(CacheApiKey.Gear);
return this.http.post(`${this.apiUrl}/Gear`, bodyNewGear, { headers: this.headers});
}
}
diff --git a/Front/skydivelogs-app/src/services/jump-type.service.ts b/Front/skydivelogs-app/src/services/jump-type.service.ts
index 978aa09..3407ad3 100644
--- a/Front/skydivelogs-app/src/services/jump-type.service.ts
+++ b/Front/skydivelogs-app/src/services/jump-type.service.ts
@@ -5,7 +5,7 @@ import { Observable } from "rxjs";
import { JumpTypeResp, JumpTypeReq } from "../models/jumpType";
import { BaseService } from "./base.service";
-import { RefData } from "../models/ref-data.enum";
+import { CacheApiKey } from "../models/cache-api-key.enum";
@Injectable()
export class JumpTypeService extends BaseService {
@@ -15,7 +15,7 @@ export class JumpTypeService extends BaseService {
public getListOfJumpTypes(): Observable> {
let callToApi = this.http.get>(`${this.apiUrl}/JumpType`, { headers: this.headers });
- return this.serviceRefData.get>(RefData.JumpType, callToApi);
+ return this.serviceCacheApi.get>(CacheApiKey.JumpType, callToApi);
}
public AddJumpType(jumptypetName: string) {
diff --git a/Front/skydivelogs-app/src/services/service-ref-data.service.ts b/Front/skydivelogs-app/src/services/service-cache-api.service.ts
similarity index 62%
rename from Front/skydivelogs-app/src/services/service-ref-data.service.ts
rename to Front/skydivelogs-app/src/services/service-cache-api.service.ts
index b8445ed..62171a0 100644
--- a/Front/skydivelogs-app/src/services/service-ref-data.service.ts
+++ b/Front/skydivelogs-app/src/services/service-cache-api.service.ts
@@ -1,21 +1,20 @@
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { tap } from 'rxjs/operators';
-import { RefData } from '../models/ref-data.enum';
+import { CacheApiKey } from '../models/cache-api-key.enum';
import { of } from 'rxjs';
-//import 'rxjs/add/observable/of';
@Injectable({
providedIn: 'root',
})
-export class ServiceRefData {
- private cache: Map>;
+export class ServiceCacheApi {
+ private cache: Map>;
constructor() {
- this.cache = new Map>();
+ this.cache = new Map>();
}
- public get(key: RefData, callToApi: Observable, withResetCache: boolean = false) : Observable {
+ public get(key: CacheApiKey, callToApi: Observable, withResetCache: boolean = false) : Observable {
if (withResetCache === true) {
this.cache.delete(key);
}
@@ -32,7 +31,7 @@ export class ServiceRefData {
}
}
- public delete(key: RefData) {
+ public delete(key: CacheApiKey) {
this.cache.delete(key);
}
}
diff --git a/Front/skydivelogs-app/src/services/stats.service.ts b/Front/skydivelogs-app/src/services/stats.service.ts
index 4661d78..674fc2d 100644
--- a/Front/skydivelogs-app/src/services/stats.service.ts
+++ b/Front/skydivelogs-app/src/services/stats.service.ts
@@ -1,21 +1,14 @@
-import { Injectable, Injector } from '@angular/core';
+import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
-import {
- StatsResp,
- StatsByDzResp,
- StatsByAircraftResp,
- StatsByJumpTypeResp,
- StatsByGearResp,
- StatsByYearResp,
- StatsForLastMonthResp,
- StatsForLastYearResp,
- SimpleSummary
-} from '../models/stats';
+import { StatsByDzResp, StatsByAircraftResp, StatsByJumpTypeResp,
+ StatsByGearResp, StatsByYearResp, StatsForLastMonthResp,
+ StatsForLastYearResp, SimpleSummary } from '../models/stats';
import { BaseService } from './base.service';
+import { CacheApiKey } from '../models/cache-api-key.enum';
@Injectable()
@@ -24,136 +17,117 @@ export class StatsService extends BaseService {
super();
}
- public getStatsOfJumps(): StatsResp {
- const resultats = new StatsResp();
-
- resultats.simpleSummary = this.getSimpleSummary();
-
- resultats.statsByDz = this.getStatsByDz();
- resultats.statsByAircraft = this.getStatsByAircraft();
- resultats.statsByJumpType = this.getStatsByJumpType();
- resultats.statsByGear = this.getStatsByGear();
- resultats.statsByYear = this.getStatsByYear();
-
- resultats.statsForLastYear = this.getStatsOfLastYear();
- resultats.statsForLastMonth = this.getStatsOfLastMonth();
-
- return resultats;
+ public deleteAllCache() {
+ this.serviceCacheApi.delete(CacheApiKey.SimpleSummary);
+ this.serviceCacheApi.delete(CacheApiKey.StatsByDz);
+ this.serviceCacheApi.delete(CacheApiKey.StatsByAircraft);
+ this.serviceCacheApi.delete(CacheApiKey.StatsByJumpType);
+ this.serviceCacheApi.delete(CacheApiKey.StatsByGear);
+ this.serviceCacheApi.delete(CacheApiKey.StatsOfLastYear);
+ this.serviceCacheApi.delete(CacheApiKey.StatsOfLastMonth);
}
- private getSimpleSummary(): Observable {
- return this.http
- .get>(`${this.apiUrl}/Stats/Simple`, {
- headers: this.headers
- })
- .pipe(
- map(response => {
- const stats = new SimpleSummary(response);
- return stats;
- })
- );
+ public getSimpleSummary(): Observable {
+ let callToApi = this.http.get>(`${this.apiUrl}/Stats/Simple`, { headers: this.headers })
+ .pipe(
+ map(response => {
+ const stats = new SimpleSummary(response);
+ return stats;
+ })
+ );
+
+ return this.serviceCacheApi.get(CacheApiKey.SimpleSummary, callToApi);
}
- private getStatsByDz(): Observable> {
- return this.http
- .get>(`${this.apiUrl}/Stats/ByDz`, {
- headers: this.headers
- })
- .pipe(
- map(response => {
- const stats = response.map(data => new StatsByDzResp(data));
- return stats;
- })
- );
+ public getStatsByDz(): Observable> {
+ let callToApi = this.http.get>(`${this.apiUrl}/Stats/ByDz`, { headers: this.headers })
+ .pipe(
+ map(response => {
+ const stats = response.map(data => new StatsByDzResp(data));
+ return stats;
+ })
+ );
+
+ return this.serviceCacheApi.get>(CacheApiKey.StatsByDz, callToApi);
}
- private getStatsByAircraft(): Observable> {
- return this.http
- .get>(
- `${this.apiUrl}/Stats/ByAircraft`,
- { headers: this.headers }
- )
- .pipe(
- map(response => {
- const stats = response.map(data => new StatsByAircraftResp(data));
- return stats;
- })
- );
+ public getStatsByAircraft(): Observable> {
+ let callToApi = this.http.get>(`${this.apiUrl}/Stats/ByAircraft`, { headers: this.headers })
+ .pipe(
+ map(response => {
+ const stats = response.map(data => new StatsByAircraftResp(data));
+ return stats;
+ })
+ );
+
+ return this.serviceCacheApi.get>(CacheApiKey.StatsByAircraft, callToApi);
}
- private getStatsByJumpType(): Observable> {
- return this.http
- .get>(
- `${this.apiUrl}/Stats/ByJumpType`,
- { headers: this.headers }
- )
- .pipe(
- map(response => {
- const stats = response.map(data => new StatsByJumpTypeResp(data));
- return stats;
- })
- );
+ public getStatsByJumpType(): Observable> {
+ let callToApi = this.http.get>(`${this.apiUrl}/Stats/ByJumpType`,{ headers: this.headers })
+ .pipe(
+ map(response => {
+ const stats = response.map(data => new StatsByJumpTypeResp(data));
+ return stats;
+ })
+ );
+
+ return this.serviceCacheApi.get>(CacheApiKey.StatsByJumpType, callToApi);
}
- private getStatsByGear(): Observable> {
- return this.http
- .get>(`${this.apiUrl}/Stats/ByGear`, {
- headers: this.headers
- })
- .pipe(
- map(response => {
- const stats = response.map(data => new StatsByGearResp(data));
- return stats;
- })
- );
+ public getStatsByGear(): Observable> {
+ let callToApi = this.http.get>(`${this.apiUrl}/Stats/ByGear`, { headers: this.headers })
+ .pipe(
+ map(response => {
+ const stats = response.map(data => new StatsByGearResp(data));
+ return stats;
+ })
+ );
+
+ return this.serviceCacheApi.get>(CacheApiKey.StatsByGear, callToApi);
}
- private getStatsByYear(): Observable> {
- return this.http
- .get>(`${this.apiUrl}/Stats/ByYear`, {
- headers: this.headers
- })
- .pipe(
- map(response => {
- const stats = response.map(data => new StatsByYearResp(data));
- return stats;
- })
- );
+ public getStatsByYear(): Observable> {
+ let callToApi = this.http.get>(`${this.apiUrl}/Stats/ByYear`, { headers: this.headers })
+ .pipe(
+ map(response => {
+ const stats = response.map(data => new StatsByYearResp(data));
+ return stats;
+ })
+ );
+
+ return this.serviceCacheApi.get>(CacheApiKey.StatsByGear, callToApi);
}
- private getStatsOfLastYear(): Observable {
- return this.http
- .get(
- `${this.apiUrl}/Stats/ForLastYear`,
- { headers: this.headers }
- )
- .pipe(
- map(response => {
- const statsByDz = response.byDz.map(data => new StatsByDzResp(data));
- const statsByJumpType = response.byJumpType.map(
- data => new StatsByDzResp(data)
- );
+ public getStatsOfLastYear(): Observable {
+ let callToApi = this.http.get(`${this.apiUrl}/Stats/ForLastYear`, { headers: this.headers })
+ .pipe(
+ map(response => {
+ const statsByDz = response.byDz.map(data => new StatsByDzResp(data));
+ const statsByJumpType = response.byJumpType.map(
+ data => new StatsByDzResp(data)
+ );
- return new StatsForLastYearResp(statsByDz, statsByJumpType);
- })
- );
+ return new StatsForLastYearResp(statsByDz, statsByJumpType);
+ })
+ );
+
+ return this.serviceCacheApi.get(CacheApiKey.StatsOfLastYear, callToApi);
}
- private getStatsOfLastMonth(): Observable {
- return this.http
- .get(
- `${this.apiUrl}/Stats/ForLastMonth`,
- { headers: this.headers }
- )
- .pipe(
- map(response => {
- const statsByDz = response.byDz.map(data => new StatsByDzResp(data));
- const statsByJumpType = response.byJumpType.map(
- data => new StatsByDzResp(data)
- );
+ public getStatsOfLastMonth(): Observable {
+ let callToApi = this.http.get(`${this.apiUrl}/Stats/ForLastMonth`, { headers: this.headers })
+ .pipe(
+ map(response => {
+ const statsByDz = response.byDz.map(data => new StatsByDzResp(data));
+ const statsByJumpType = response.byJumpType.map(
+ data => new StatsByDzResp(data)
+ );
- return new StatsForLastMonthResp(statsByDz, statsByJumpType);
- })
- );
+ return new StatsForLastMonthResp(statsByDz, statsByJumpType);
+ })
+ );
+
+ return this.serviceCacheApi.get(CacheApiKey.StatsOfLastMonth, callToApi);
}
}