From 53325a1e39b4c3394375eb376b6c00cf6e984de4 Mon Sep 17 00:00:00 2001 From: Sheena Malhotra Date: Mon, 8 May 2023 13:53:21 +0530 Subject: [PATCH] configured route gaurd for forgot password --- demo-shell/src/app/app.routes.ts | 7 +++- .../forgot-password/forgot-password-guard.ts | 40 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 lib/core/src/lib/forgot-password/forgot-password-guard.ts diff --git a/demo-shell/src/app/app.routes.ts b/demo-shell/src/app/app.routes.ts index dc5b0df286..04e813e791 100644 --- a/demo-shell/src/app/app.routes.ts +++ b/demo-shell/src/app/app.routes.ts @@ -57,11 +57,16 @@ import { ServiceTaskListCloudDemoComponent } from './components/cloud/service-ta import { AspectListSampleComponent } from './components/aspect-list-sample/aspect-list-sample.component'; import { SearchFilterChipsComponent } from './components/search/search-filter-chips.component'; import { ForgotPasswordComponent } from 'lib/core/src/lib/forgot-password/forgot-password.component'; +import { ForgotPasswordRuleGuard } from 'lib/core/src/lib/forgot-password/forgot-password-guard'; export const appRoutes: Routes = [ { path: 'login', loadChildren: () => import('./components/login/login.module').then(m => m.AppLoginModule) }, { path: 'logout', component: LogoutComponent }, - { path: 'forgot-password', component: ForgotPasswordComponent }, + { + path: 'forgot-password', + component: ForgotPasswordComponent, + canActivate: [ForgotPasswordRuleGuard] + }, { path: 'settings', loadChildren: () => import('./components/settings/settings.module').then(m => m.AppSettingsModule) diff --git a/lib/core/src/lib/forgot-password/forgot-password-guard.ts b/lib/core/src/lib/forgot-password/forgot-password-guard.ts new file mode 100644 index 0000000000..e2421b73c5 --- /dev/null +++ b/lib/core/src/lib/forgot-password/forgot-password-guard.ts @@ -0,0 +1,40 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +import { Injectable } from '@angular/core'; +import { CanActivate, ActivatedRouteSnapshot } from '@angular/router'; +import { Observable } from 'rxjs'; +import { AuthenticationService } from '@alfresco/adf-core'; + +@Injectable({ + providedIn: 'root' +}) +export class ForgotPasswordRuleGuard implements CanActivate { + constructor(private authService: AuthenticationService) {} + + canActivate(_: ActivatedRouteSnapshot): Observable | Promise | boolean { + return this.authService.isECMProvider(); + } + +}