mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
[DURACOM-309] fix issue after logging in
This commit is contained in:

committed by
FrancescoMolinaro

parent
bc3d3e4129
commit
79d03d0433
@@ -256,6 +256,16 @@ export class AuthService {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the authenticated user id from the store
|
||||
* @returns {User}
|
||||
*/
|
||||
public getAuthenticatedUserIdFromStore(): Observable<string> {
|
||||
return this.store.pipe(
|
||||
select(getAuthenticatedUserId),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if token is present into browser storage and is valid.
|
||||
*/
|
||||
|
@@ -229,13 +229,13 @@ export class BrowserOrejimeService extends OrejimeService {
|
||||
* Return saved preferences stored in the orejime cookie
|
||||
*/
|
||||
getSavedPreferences(): Observable<any> {
|
||||
return this.getUser$().pipe(
|
||||
map((user: EPerson) => {
|
||||
return this.getUserId$().pipe(
|
||||
map((userId: string) => {
|
||||
let storageName;
|
||||
if (isEmpty(user)) {
|
||||
if (isEmpty(userId)) {
|
||||
storageName = ANONYMOUS_STORAGE_NAME_OREJIME;
|
||||
} else {
|
||||
storageName = this.getStorageName(user.uuid);
|
||||
storageName = this.getStorageName(userId);
|
||||
}
|
||||
return this.cookieService.get(storageName);
|
||||
}),
|
||||
@@ -258,6 +258,24 @@ export class BrowserOrejimeService extends OrejimeService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the currently logged in user id
|
||||
* Returns undefined when no one is logged in
|
||||
*/
|
||||
private getUserId$() {
|
||||
return this.authService.isAuthenticated()
|
||||
.pipe(
|
||||
take(1),
|
||||
switchMap((loggedIn: boolean) => {
|
||||
if (loggedIn) {
|
||||
return this.authService.getAuthenticatedUserIdFromStore();
|
||||
}
|
||||
return observableOf(undefined);
|
||||
}),
|
||||
take(1),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the currently logged in user
|
||||
* Returns undefined when no one is logged in
|
||||
|
@@ -111,7 +111,7 @@ const ePersonMock: EPerson = Object.assign(new EPerson(), {
|
||||
uuid: '0a53a0f2-e168-4ed9-b4af-cba9a2d267ca',
|
||||
language: null,
|
||||
value:
|
||||
'{"authentication":true,"preferences":true,"acknowledgement":true,"google-analytics":true}',
|
||||
'{"authentication":true,"preferences":true,"acknowledgement":true,"google-analytics":true,"correlation-id":true}',
|
||||
place: 0,
|
||||
authority: null,
|
||||
confidence: -1,
|
||||
|
Reference in New Issue
Block a user