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 @@
0">
- | Name |
- {{element.comment}} |
+ Comments |
+ {{element.comment}} |
- Image |
-  |
+ Image |
+  |
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); }
+ );
}
}