add further permission on the navigation

This commit is contained in:
tiago.kayaya
2022-03-29 16:49:51 +01:00
parent 5a4a7562fa
commit 4684ed1e98
5 changed files with 53 additions and 17 deletions
+27 -5
View File
@@ -3,15 +3,20 @@ import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTr
import { Observable } from 'rxjs';
import { SessionStore } from '../store/session.service';
import { AlertController, Platform } from '@ionic/angular';
import { PermissionService } from '../services/permission.service';
import { PermissionList } from '../models/permissionList';
@Injectable({
providedIn: 'root'
})
export class InactivityGuard implements CanActivate {
permissionList = new PermissionList();
constructor(
private router:Router,
private platform: Platform,
public permissionService: PermissionService,
){}
canActivate(
@@ -19,17 +24,34 @@ export class InactivityGuard implements CanActivate {
state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
this.router.navigate(['/home/events']);
if(this.permissionService.userPermission(this.permissionList.Agenda) || this.permissionService.userPermission(this.permissionList.Gabinete)){
this.router.navigate(['/home/events']);
}
else if(this.permissionService.userPermission(this.permissionList.Chat)){
this.router.navigate(['/home/chat']);
}
else if(this.permissionService.userPermission(this.permissionList.Actions)){
this.router.navigate(['/home/publications']);
}
return false
} else if(SessionStore.exist && SessionStore.user.Inactivity && !SessionStore.hasPin ) {
return true
} else if(SessionStore.exist && !SessionStore.user.Inactivity) {
return true
} else {
this.router.navigate(['/home/events']);
}//Mobile or Tablet without session
else {
if(this.permissionService.userPermission(this.permissionList.Agenda) || this.permissionService.userPermission(this.permissionList.Gabinete)){
this.router.navigate(['/home/events']);
}
else if(this.permissionService.userPermission(this.permissionList.Chat)){
this.router.navigate(['/home/chat']);
}
else if(this.permissionService.userPermission(this.permissionList.Actions)){
this.router.navigate(['/home/publications']);
}
return false
}
}
}