From fe255041cc2ef429516c4f7945bde109419c514c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Fri, 26 Mar 2021 15:05:06 +0100 Subject: [PATCH] Update about the showing the user images --- .gitignore | 4 +++- .../UserImageRepository.cs | 2 +- .../PublishProfiles/FolderProfile.pubxml.user | 2 +- .../app/create-user/create-user.component.ts | 23 +++++++++---------- .../src/app/default/default.component.ts | 5 +++- .../list-of-images.component.html | 8 +++---- .../list-of-images.component.ts | 15 ++++++------ .../src/interceptor/caching.interceptor.ts | 22 ++++++++---------- .../src/interceptor/error.interceptor.ts | 23 +++++++++++-------- .../src/interceptor/jwt-auth.interceptor.ts | 14 ++++------- .../src/services/authentication.service.ts | 12 ++++------ .../src/services/image.service.ts | 11 +++++---- 12 files changed, 70 insertions(+), 71 deletions(-) diff --git a/.gitignore b/.gitignore index ea7699a..275a7fe 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,6 @@ /Back/skydiveLogs-api.Domain/bin/Release/net5.0/skydiveLogs-api.Domain.dll /Back/skydiveLogs-api.Domain/bin/Release/net5.0/skydiveLogs-api.Domain.pdb /Back/skydiveLogs-api/Data/JumpsDb-log.db -/Back/skydiveLogs-api/Data/JumpsDb.db \ No newline at end of file +/Back/skydiveLogs-api/Data/JumpsDb.db +Back/skydiveLogs-api/Data/JumpsDb.db +Back/skydiveLogs-api/Data/JumpsDb-log.db diff --git a/Back/skydiveLogs-api.Infrastructure/UserImageRepository.cs b/Back/skydiveLogs-api.Infrastructure/UserImageRepository.cs index c9fa66d..44be344 100644 --- a/Back/skydiveLogs-api.Infrastructure/UserImageRepository.cs +++ b/Back/skydiveLogs-api.Infrastructure/UserImageRepository.cs @@ -26,7 +26,7 @@ namespace skydiveLogs_api.Infrastructure { return _col.Include(x => x.User) .Query() - .Where(j => j.User == user) + .Where(j => j.User.Id == user.Id) .ToList(); } diff --git a/Back/skydiveLogs-api/Properties/PublishProfiles/FolderProfile.pubxml.user b/Back/skydiveLogs-api/Properties/PublishProfiles/FolderProfile.pubxml.user index cfdba0d..c895df7 100644 --- a/Back/skydiveLogs-api/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/Back/skydiveLogs-api/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -7,6 +7,6 @@ by editing this MSBuild file. In order to learn more about this please visit htt <_PublishTargetUrl>C:\Projects\SkydiveLogs\Back\dist - True|2021-03-18T15:30:10.7797171Z;True|2021-03-18T14:10:46.8227017+01:00;True|2021-03-15T15:33:07.2658649+01:00; + True|2021-03-25T15:58:36.4354616Z;True|2021-03-18T16:30:10.7797171+01:00;True|2021-03-18T14:10:46.8227017+01:00;True|2021-03-15T15:33:07.2658649+01:00; \ No newline at end of file diff --git a/Front/skydivelogs-app/src/app/create-user/create-user.component.ts b/Front/skydivelogs-app/src/app/create-user/create-user.component.ts index 0b4a43d..a3bf584 100644 --- a/Front/skydivelogs-app/src/app/create-user/create-user.component.ts +++ b/Front/skydivelogs-app/src/app/create-user/create-user.component.ts @@ -70,17 +70,16 @@ export class CreateUserComponent implements OnInit { createUser.lastName = this.formCtrls.lastname.value; createUser.email = this.formCtrls.email.value; - this.authenticationService - .create(createUser) - .pipe(first()) - .subscribe( - data => { - this.router.navigate([this.returnUrl]); - }, - error => { - this.error = error; - this.invalidForm = false; - } - ); + this.authenticationService.create(createUser) + .pipe(first()) + .subscribe( + data => { + this.router.navigate([this.returnUrl]); + }, + error => { + this.error = error; + this.invalidForm = false; + } + ); } } diff --git a/Front/skydivelogs-app/src/app/default/default.component.ts b/Front/skydivelogs-app/src/app/default/default.component.ts index c64ba1d..95fa531 100644 --- a/Front/skydivelogs-app/src/app/default/default.component.ts +++ b/Front/skydivelogs-app/src/app/default/default.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from "@angular/core"; +import { AuthenticationService } from "../../services/authentication.service"; import { ServiceComm } from "../../services/service-comm.service"; @Component({ @@ -7,9 +8,11 @@ import { ServiceComm } from "../../services/service-comm.service"; styleUrls: ["./default.component.css"] }) export class DefaultComponent implements OnInit { - constructor(private serviceComm: ServiceComm) {} + constructor(private serviceComm: ServiceComm, + private authenticationService: AuthenticationService) {} ngOnInit() { this.serviceComm.UpdatedComponentTitle("Home"); + this.authenticationService.alwaysLogin(); } } diff --git a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.html b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.html index 83f676d..fdf00fe 100644 --- a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.html +++ b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.html @@ -22,13 +22,13 @@
- - + + - - + + diff --git a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.ts b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.ts index 63164e9..02d7b73 100644 --- a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.ts +++ b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.ts @@ -42,13 +42,14 @@ export class ListOfImagesComponent implements OnInit { } private getListOfImages() { - this.serviceApi.getListOfImages().subscribe((data) => { - setTimeout(() => { - this.dataSourceTable = new MatTableDataSource(data); - this.dataSourceTable.paginator = this.paginator; - this.resultsLength = data.length; - }, 500); - }); + this.serviceApi.getListOfImages() + .subscribe((data) => { + setTimeout(() => { + this.dataSourceTable = new MatTableDataSource(data); + this.dataSourceTable.paginator = this.paginator; + this.resultsLength = data.length; + }, 500); + }); } public onFileChanged(fileInput: any) { diff --git a/Front/skydivelogs-app/src/interceptor/caching.interceptor.ts b/Front/skydivelogs-app/src/interceptor/caching.interceptor.ts index e8bd3f8..e52fbfc 100644 --- a/Front/skydivelogs-app/src/interceptor/caching.interceptor.ts +++ b/Front/skydivelogs-app/src/interceptor/caching.interceptor.ts @@ -19,21 +19,17 @@ export class CachingInterceptor implements HttpInterceptor { intercept(req: HttpRequest, next: HttpHandler) { const cachedResponse = this.cache.get(req); - return cachedResponse - ? Observable.of(cachedResponse) - : this.sendRequest(req, next); + return cachedResponse ? Observable.of(cachedResponse) : this.sendRequest(req, next); } - sendRequest( - req: HttpRequest, - next: HttpHandler - ): Observable> { - return next.handle(req).pipe( - tap(event => { - if (event instanceof HttpResponse) { - this.cache.put(req, event); - } - }) + sendRequest(req: HttpRequest, next: HttpHandler): Observable> { + return next.handle(req) + .pipe( + tap(event => { + if (event instanceof HttpResponse) { + this.cache.put(req, event); + } + }) ); } } diff --git a/Front/skydivelogs-app/src/interceptor/error.interceptor.ts b/Front/skydivelogs-app/src/interceptor/error.interceptor.ts index 1bf4e59..8380160 100644 --- a/Front/skydivelogs-app/src/interceptor/error.interceptor.ts +++ b/Front/skydivelogs-app/src/interceptor/error.interceptor.ts @@ -5,20 +5,25 @@ import { catchError } from 'rxjs/operators'; import { AuthenticationService } from '../services/authentication.service'; + @Injectable() export class ErrorInterceptor implements HttpInterceptor { + constructor(private authenticationService: AuthenticationService) { } intercept(request: HttpRequest, next: HttpHandler): Observable> { - return next.handle(request).pipe(catchError(err => { - if (err.status === 401) { - // auto logout if 401 response returned from api - this.authenticationService.logout(); - location.reload(true); - } + return next.handle(request) + .pipe( + catchError(err => { + if (err.status === 401) { + // auto logout if 401 response returned from api + this.authenticationService.logout(); + location.reload(); + } - const error = err.error.message || err.statusText; - return throwError(error); - })); + const error = err.error.message || err.statusText; + return throwError(error); + }) + ); } } diff --git a/Front/skydivelogs-app/src/interceptor/jwt-auth.interceptor.ts b/Front/skydivelogs-app/src/interceptor/jwt-auth.interceptor.ts index 81fc114..250f257 100644 --- a/Front/skydivelogs-app/src/interceptor/jwt-auth.interceptor.ts +++ b/Front/skydivelogs-app/src/interceptor/jwt-auth.interceptor.ts @@ -1,25 +1,19 @@ import { Injectable } from "@angular/core"; -import { - HttpRequest, - HttpHandler, - HttpEvent, - HttpInterceptor -} from "@angular/common/http"; +import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from "@angular/common/http"; import { Observable } from "rxjs"; import { AuthenticationService } from "../services/authentication.service"; + @Injectable() export class JwtAuthInterceptor implements HttpInterceptor { constructor(private authenticationService: AuthenticationService) {} - intercept( - request: HttpRequest, - next: HttpHandler - ): Observable> { + intercept(request: HttpRequest, next: HttpHandler): Observable> { // add authorization header with basic auth credentials if available const currentUser = this.authenticationService.currentUserValue; + if (currentUser && currentUser.token) { request = request.clone({ setHeaders: { diff --git a/Front/skydivelogs-app/src/services/authentication.service.ts b/Front/skydivelogs-app/src/services/authentication.service.ts index b40b150..cada3e3 100644 --- a/Front/skydivelogs-app/src/services/authentication.service.ts +++ b/Front/skydivelogs-app/src/services/authentication.service.ts @@ -20,8 +20,6 @@ export class AuthenticationService extends BaseService { JSON.parse(localStorage.getItem("currentUser")) ); this.currentUser = this.currentUserSubject.asObservable(); - - this.alwaysLogin(); } public get currentUserValue(): User { @@ -71,13 +69,13 @@ export class AuthenticationService extends BaseService { } } - private alwaysLogin() { - return this.http.get(`${this.apiUrl}/User/AlwaysLogin`, { - headers: this.headers - }).subscribe(); + public alwaysLogin() { + this.http.get(`${this.apiUrl}/User/AlwaysLogin`, + { headers: this.headers }) + .subscribe(data => { console.log(data); }); } - logout() { + public logout() { localStorage.removeItem("currentUser"); this.currentUserSubject.next(null); } diff --git a/Front/skydivelogs-app/src/services/image.service.ts b/Front/skydivelogs-app/src/services/image.service.ts index a16b43f..eb6f63f 100644 --- a/Front/skydivelogs-app/src/services/image.service.ts +++ b/Front/skydivelogs-app/src/services/image.service.ts @@ -25,10 +25,11 @@ export class ImageService extends BaseService { data: dataImg, }; - this.http - .post(`${this.apiUrl}/Image`, bodyNewImage, { - headers: this.headers, - }) - .subscribe((data) => console.log(data)); + this.http.post(`${this.apiUrl}/Image`, + bodyNewImage, + { headers: this.headers }) + .subscribe( + error => { console.error(error); } + ); } }
Name{{element.comment}}Comments{{element.comment}} ImagetotoImagetoto