diff --git a/Front/skydivelogs-app/src/services/aircraft.service.ts b/Front/skydivelogs-app/src/services/aircraft.service.ts index b784ddc..7b461fb 100644 --- a/Front/skydivelogs-app/src/services/aircraft.service.ts +++ b/Front/skydivelogs-app/src/services/aircraft.service.ts @@ -1,20 +1,21 @@ import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; -import { environment } from '../environments/environment'; + import { AircraftResp, AircraftReq } from '../models/aircraft'; -@Injectable() -export class AircraftService { +import { BaseService } from './base.service'; - private readonly headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': environment.apiUrl - }); - constructor(private http: HttpClient) { } + +@Injectable() +export class AircraftService extends BaseService { + constructor(private http: HttpClient) { + super(); + } public getListOfAircrafts(): Observable> { return this.http.get>( - `${environment.apiUrl}/api/Aircraft`, + `${this.apiUrl}/Aircraft`, { headers: this.headers } ); } @@ -26,7 +27,7 @@ export class AircraftService { }; this.http - .post(`${environment.apiUrl}/api/Aircraft`, bodyNewAircraft, { + .post(`${this.apiUrl}/Aircraft`, bodyNewAircraft, { headers: this.headers }) .subscribe(data => console.log(data)); diff --git a/Front/skydivelogs-app/src/services/authentication.service.ts b/Front/skydivelogs-app/src/services/authentication.service.ts index 8670009..7199329 100644 --- a/Front/skydivelogs-app/src/services/authentication.service.ts +++ b/Front/skydivelogs-app/src/services/authentication.service.ts @@ -1,24 +1,23 @@ import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { HttpClient } from '@angular/common/http'; import { BehaviorSubject, Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { environment } from '../environments/environment'; import { User } from '../models/user'; +import { BaseService } from './base.service'; @Injectable({ providedIn: 'root' }) -export class AuthenticationService { - private readonly headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': environment.apiUrl - }); +export class AuthenticationService extends BaseService { private currentUserSubject: BehaviorSubject; public currentUser: Observable; constructor(private http: HttpClient) { + super(); + this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser'))); this.currentUser = this.currentUserSubject.asObservable(); } @@ -33,7 +32,7 @@ export class AuthenticationService { password: password }; - return this.http.post(`${environment.apiUrl}/api/User/Authenticate`, bodyLogin, { + return this.http.post(`${this.apiUrl}/User/Authenticate`, bodyLogin, { headers: this.headers }) .pipe(map(user => { diff --git a/Front/skydivelogs-app/src/services/base.service.ts b/Front/skydivelogs-app/src/services/base.service.ts new file mode 100644 index 0000000..5f090ea --- /dev/null +++ b/Front/skydivelogs-app/src/services/base.service.ts @@ -0,0 +1,18 @@ +import { Injectable } from '@angular/core'; +import { HttpHeaders } from '@angular/common/http'; +import { environment } from '../environments/environment'; + + +@Injectable() +export class BaseService { + protected readonly headers: HttpHeaders; + protected readonly apiUrl: string; + + constructor() { + this.headers = new HttpHeaders({ + 'Access-Control-Allow-Origin': environment.apiUrl + }); + + this.apiUrl = environment.apiUrl + '/api'; + } +} diff --git a/Front/skydivelogs-app/src/services/dropzone.service.ts b/Front/skydivelogs-app/src/services/dropzone.service.ts index 30959fa..958d6fa 100644 --- a/Front/skydivelogs-app/src/services/dropzone.service.ts +++ b/Front/skydivelogs-app/src/services/dropzone.service.ts @@ -1,22 +1,22 @@ import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { environment } from '../environments/environment'; + import { DropZoneResp } from '../models/dropzone'; +import { BaseService } from './base.service'; + @Injectable() -export class DropzoneService { - - private readonly headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': environment.apiUrl - }); - constructor(private http: HttpClient) { } +export class DropzoneService extends BaseService { + constructor(private http: HttpClient) { + super(); + } public getListOfDropZones(): Observable> { return this.http - .get>(`${environment.apiUrl}/api/DropZone`, { + .get>(`${this.apiUrl}/DropZone`, { headers: this.headers }) .pipe( @@ -30,7 +30,7 @@ export class DropzoneService { public SetFavoriteDropZone(selectedDz: DropZoneResp): boolean { selectedDz.isFavorite = true; this.http - .put(`${environment.apiUrl}/api/DropZone/${selectedDz.id}`, selectedDz, { + .put(`${this.apiUrl}/DropZone/${selectedDz.id}`, selectedDz, { headers: this.headers }) .subscribe(data => console.log(data)); @@ -41,12 +41,11 @@ export class DropzoneService { public RemoveFavoriteDropZone(selectedDz: DropZoneResp): boolean { selectedDz.isFavorite = false; this.http - .put(`${environment.apiUrl}/api/DropZone/${selectedDz.id}`, selectedDz, { + .put(`${this.apiUrl}/DropZone/${selectedDz.id}`, selectedDz, { headers: this.headers }) .subscribe(data => console.log(data)); return true; } - } diff --git a/Front/skydivelogs-app/src/services/gear.service.ts b/Front/skydivelogs-app/src/services/gear.service.ts index bac7469..00c4c60 100644 --- a/Front/skydivelogs-app/src/services/gear.service.ts +++ b/Front/skydivelogs-app/src/services/gear.service.ts @@ -1,20 +1,20 @@ import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; -import { environment } from '../environments/environment'; + import { GearResp, GearReq } from '../models/gear'; +import { BaseService } from './base.service'; + @Injectable() -export class GearService { - - private readonly headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': environment.apiUrl - }); - constructor(private http: HttpClient) { } +export class GearService extends BaseService { + constructor(private http: HttpClient) { + super(); + } public getListOfGears(): Observable> { - return this.http.get>(`${environment.apiUrl}/api/Gear`, { + return this.http.get>(`${this.apiUrl}/Gear`, { headers: this.headers }); } @@ -38,7 +38,7 @@ export class GearService { }; this.http - .post(`${environment.apiUrl}/api/Gear`, bodyNewGear, { + .post(`${this.apiUrl}/Gear`, bodyNewGear, { headers: this.headers }) .subscribe(data => console.log(data)); diff --git a/Front/skydivelogs-app/src/services/jump-type.service.ts b/Front/skydivelogs-app/src/services/jump-type.service.ts index fd657d8..63bda73 100644 --- a/Front/skydivelogs-app/src/services/jump-type.service.ts +++ b/Front/skydivelogs-app/src/services/jump-type.service.ts @@ -1,20 +1,21 @@ import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; -import { environment } from '../environments/environment'; + import { JumpTypeResp } from '../models/jumpType'; -@Injectable() -export class JumpTypeService { +import { BaseService } from './base.service'; - private readonly headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': environment.apiUrl - }); - constructor(private http: HttpClient) { } + +@Injectable() +export class JumpTypeService extends BaseService { + constructor(private http: HttpClient) { + super(); + } public getListOfJumpTypes(): Observable> { return this.http.get>( - `${environment.apiUrl}/api/JumpType`, + `${this.apiUrl}/JumpType`, { headers: this.headers } ); } diff --git a/Front/skydivelogs-app/src/services/jump.service.ts b/Front/skydivelogs-app/src/services/jump.service.ts index a732d22..df8d75d 100644 --- a/Front/skydivelogs-app/src/services/jump.service.ts +++ b/Front/skydivelogs-app/src/services/jump.service.ts @@ -1,21 +1,22 @@ import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { environment } from '../environments/environment'; -import { DateService } from './date.service'; + import { JumpResp, JumpReq } from '../models/jump'; -@Injectable() -export class JumpService { +import { DateService } from './date.service'; +import { BaseService } from './base.service'; - private readonly headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': environment.apiUrl - }); - constructor(private http: HttpClient, private dateService: DateService) { } + +@Injectable() +export class JumpService extends BaseService { + constructor(private http: HttpClient, private dateService: DateService) { + super(); + } public getListOfJumps(): Observable> { - return this.http.get>(`${environment.apiUrl}/api/Jump`, { + return this.http.get>(`${this.apiUrl}/Jump`, { headers: this.headers }) .pipe( @@ -98,7 +99,7 @@ export class JumpService { }; this.http - .post(`${environment.apiUrl}/api/Jump`, bodyNewjump, { + .post(`${this.apiUrl}/Jump`, bodyNewjump, { headers: this.headers }) .subscribe(data => console.log(data)); diff --git a/Front/skydivelogs-app/src/services/stats.service.ts b/Front/skydivelogs-app/src/services/stats.service.ts index 91adbf1..15e1ff4 100644 --- a/Front/skydivelogs-app/src/services/stats.service.ts +++ b/Front/skydivelogs-app/src/services/stats.service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { environment } from '../environments/environment'; + import { StatsResp, StatsByDzResp, @@ -15,13 +15,14 @@ import { SimpleSummary } from '../models/stats'; -@Injectable() -export class StatsService { - private readonly headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': environment.apiUrl - }); +import { BaseService } from './base.service'; - constructor(private http: HttpClient) { } + +@Injectable() +export class StatsService extends BaseService { + constructor(private http: HttpClient) { + super(); + } public getStatsOfJumps(): StatsResp { const resultats = new StatsResp(); @@ -42,7 +43,7 @@ export class StatsService { private getSimpleSummary(): Observable { return this.http - .get>(`${environment.apiUrl}/api/Stats/Simple`, { + .get>(`${this.apiUrl}/Stats/Simple`, { headers: this.headers }) .pipe( @@ -55,7 +56,7 @@ export class StatsService { private getStatsByDz(): Observable> { return this.http - .get>(`${environment.apiUrl}/api/Stats/ByDz`, { + .get>(`${this.apiUrl}/Stats/ByDz`, { headers: this.headers }) .pipe( @@ -69,7 +70,7 @@ export class StatsService { private getStatsByAircraft(): Observable> { return this.http .get>( - `${environment.apiUrl}/api/Stats/ByAircraft`, + `${this.apiUrl}/Stats/ByAircraft`, { headers: this.headers } ) .pipe( @@ -83,7 +84,7 @@ export class StatsService { private getStatsByJumpType(): Observable> { return this.http .get>( - `${environment.apiUrl}/api/Stats/ByJumpType`, + `${this.apiUrl}/Stats/ByJumpType`, { headers: this.headers } ) .pipe( @@ -96,7 +97,7 @@ export class StatsService { private getStatsByGear(): Observable> { return this.http - .get>(`${environment.apiUrl}/api/Stats/ByGear`, { + .get>(`${this.apiUrl}/Stats/ByGear`, { headers: this.headers }) .pipe( @@ -109,7 +110,7 @@ export class StatsService { private getStatsByYear(): Observable> { return this.http - .get>(`${environment.apiUrl}/api/Stats/ByYear`, { + .get>(`${this.apiUrl}/Stats/ByYear`, { headers: this.headers }) .pipe( @@ -123,7 +124,7 @@ export class StatsService { private getStatsOfLastYear(): Observable { return this.http .get( - `${environment.apiUrl}/api/Stats/ForLastYear`, + `${this.apiUrl}/Stats/ForLastYear`, { headers: this.headers } ) .pipe( @@ -141,7 +142,7 @@ export class StatsService { private getStatsOfLastMonth(): Observable { return this.http .get( - `${environment.apiUrl}/api/Stats/ForLastMonth`, + `${this.apiUrl}/Stats/ForLastMonth`, { headers: this.headers } ) .pipe(