susee
This commit is contained in:
commit
11cd0e8ee5
7
package-lock.json
generated
7
package-lock.json
generated
@ -42577,6 +42577,7 @@
|
||||
"set-immediate-shim": "~1.0.1"
|
||||
}
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
"jwa": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
|
||||
@ -42610,6 +42611,12 @@
|
||||
"jwa": "^2.0.0",
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
=======
|
||||
"jwt-decode": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz",
|
||||
"integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
|
||||
>>>>>>> cfc62c68d51bd7d7b66b0dc0950899c63d920935
|
||||
},
|
||||
"karma": {
|
||||
"version": "6.3.19",
|
||||
|
||||
@ -58,6 +58,7 @@
|
||||
"html2pdf.js": "^0.10.1",
|
||||
"intl": "1.2.5",
|
||||
"ionicons": "2.0.1",
|
||||
"jwt-decode": "^3.1.2",
|
||||
"leaflet": "1.2.0",
|
||||
"nebular-icons": "1.1.0",
|
||||
"ng2-ckeditor": "~1.2.9",
|
||||
|
||||
@ -12,9 +12,14 @@ import { LoginComponent } from '../app/pages/auth/login/login.component';
|
||||
import { AuthGuard } from './pages/_guard/auth.guard';
|
||||
import { ForgotPasswordComponent } from './pages/auth/forgot-password/forgot-password.component';
|
||||
import { ResetPasswordComponent } from './pages/auth/reset-password/reset-password.component';
|
||||
import { Injectable } from '@angular/core';
|
||||
import jwt_decode from 'jwt-decode';
|
||||
|
||||
|
||||
|
||||
|
||||
const token = localStorage.getItem('user_token');
|
||||
|
||||
console.log(token)
|
||||
let param;
|
||||
if(token != '' && token != undefined && token != null){
|
||||
@ -30,7 +35,7 @@ export const routes: Routes = [
|
||||
},
|
||||
{
|
||||
path: 'pages',
|
||||
canActivateChild:[AuthGuard],
|
||||
canActivate:[AuthGuard],
|
||||
loadChildren: () => import('./pages/pages.module')
|
||||
.then(m => m.PagesModule),
|
||||
},
|
||||
|
||||
@ -1,94 +1,93 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';
|
||||
import { Observable , of } from 'rxjs';
|
||||
import jwt_decode from 'jwt-decode';
|
||||
|
||||
// import { CognitoService } from '../AwsService/cognito.service';
|
||||
@Injectable()
|
||||
export class AuthGuard implements CanActivate, CanActivateChild {
|
||||
token:any =[];
|
||||
constructor(private router: Router) { }
|
||||
constructor(private router: Router) { this.token = localStorage.getItem('user_token'); }
|
||||
|
||||
// setToken(token: string): void {
|
||||
// localStorage.setItem(this.token, token);
|
||||
// }
|
||||
|
||||
// getToken(): string | null {
|
||||
// return localStorage.getItem(this.token);
|
||||
// }
|
||||
|
||||
clearSession(): void {
|
||||
localStorage.removeItem(this.token);
|
||||
}
|
||||
|
||||
isTokenExpired(): boolean {
|
||||
this.token = localStorage.getItem('user_token');
|
||||
const token = this.token;
|
||||
if (token) {
|
||||
const decoded: any = jwt_decode(token);
|
||||
const expirationDate = new Date(0);
|
||||
expirationDate.setUTCSeconds(decoded.exp);
|
||||
// Get the current datetime
|
||||
const currentDatetime = new Date();
|
||||
const fiveMinutesBeforeExpiration = new Date(expirationDate);
|
||||
console.log(currentDatetime);
|
||||
console.log(fiveMinutesBeforeExpiration);
|
||||
|
||||
|
||||
if (currentDatetime <= fiveMinutesBeforeExpiration) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
|
||||
|
||||
const token = localStorage.getItem('user_token');
|
||||
|
||||
if(token != '' && token != undefined && token != null){
|
||||
// this.checkToken();
|
||||
if(this.token != '' && this.token != undefined && this.token != null){
|
||||
return true
|
||||
}else{
|
||||
// alert("else");
|
||||
// this.router.navigate(['auth/login']);
|
||||
this.router.navigate(['/auth/login'])
|
||||
return false;
|
||||
}
|
||||
if(this.token != '' && this.token != undefined && this.token != null)
|
||||
{
|
||||
return true
|
||||
|
||||
// if (this.shared.getToken()) {
|
||||
// alert("if");
|
||||
// // this.router.navigate(['']);
|
||||
// return true
|
||||
// } else {
|
||||
// alert("else");
|
||||
// this.router.navigate(['/login']);
|
||||
// return false;
|
||||
// }
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log('exp');
|
||||
|
||||
this.clearSession();
|
||||
this.router.navigate(['/auth/login'])
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
|
||||
|
||||
const token = localStorage.getItem('user_token');
|
||||
console.log(token)
|
||||
if(token != '' && token != undefined && token != null){
|
||||
// this.checkToken();
|
||||
// console.log(this.isTokenExpired());
|
||||
|
||||
if(this.token != '' && this.token != undefined && this.token != null)
|
||||
{
|
||||
if (this.isTokenExpired()) {
|
||||
return true
|
||||
}else{
|
||||
// setTimeout(() => {
|
||||
this.router.navigate(['/auth/login']);
|
||||
return false;
|
||||
// },1000);
|
||||
}
|
||||
else{
|
||||
console.log('exp');
|
||||
localStorage.removeItem('token');
|
||||
localStorage.clear()
|
||||
this.router.navigate(['/auth/login']);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// if (this.shared.getCurrentUser() != null && this.shared.getToken()) {
|
||||
// // alert("if");
|
||||
|
||||
// return true;
|
||||
// } else {
|
||||
// // alert("else");
|
||||
// setTimeout(() => {
|
||||
// this.router.navigate(['authentication/login']);
|
||||
// return false;
|
||||
// },1000);
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
// public getToken(): string {
|
||||
// return localStorage.getItem('token');
|
||||
// }
|
||||
|
||||
// public logOut() {
|
||||
// localStorage.clear();
|
||||
// if(localStorage.getItem('token') === null){
|
||||
// this.router.navigate(['/login']);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
checkToken() {
|
||||
const storedToken = localStorage.getItem('token');
|
||||
if (storedToken) {
|
||||
try {
|
||||
// this.token = jwt.verify(storedToken, 'vnms2023feb');
|
||||
// this.isAuthenticated = true;
|
||||
} catch (err) {
|
||||
console.error('Invalid token:', err);
|
||||
//this.isAuthenticated = false;
|
||||
this.logout();
|
||||
}
|
||||
} else {
|
||||
// this.isAuthenticated = false;
|
||||
}
|
||||
}
|
||||
|
||||
logout() {
|
||||
localStorage.removeItem('token');
|
||||
localStorage.clear();
|
||||
|
||||
@ -189,7 +189,7 @@
|
||||
<div style="display: flex; align-items: center;">
|
||||
|
||||
<span class="checkTxt" >
|
||||
{{row.item.updatedAt | date :'dd/MM/yy'}}
|
||||
{{row.item.updatedAt | date :'dd/MM/yy hh:mm:ss'}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ import { ReturnSheetComponent } from './return-sheet/return-sheet.component';
|
||||
|
||||
const routes: Routes = [{
|
||||
path: '',
|
||||
|
||||
canActivateChild:[AuthGuard],
|
||||
component: PagesComponent,
|
||||
children: [
|
||||
{
|
||||
|
||||
@ -50,6 +50,7 @@ import { EmailComponent } from './email/email.component';
|
||||
import { DriverySheetComponent } from './drivery-sheet/drivery-sheet.component';
|
||||
import { AddOrderComponent } from './order/add-order/add-order.component';
|
||||
import { ReturnSheetComponent } from './return-sheet/return-sheet.component';
|
||||
import { AuthGuard } from './_guard/auth.guard';
|
||||
@NgModule({
|
||||
imports: [
|
||||
PagesRoutingModule,
|
||||
@ -98,6 +99,7 @@ import { ReturnSheetComponent } from './return-sheet/return-sheet.component';
|
||||
MixedFormComponent,
|
||||
AuthComponent,ForgotPasswordComponent, OtpComponent,ResetPasswordComponent, ViewDetailsComponent, SummaryListComponent, SummaryDetailsComponent, EmailComponent, DriverySheetComponent, AddOrderComponent, ReturnSheetComponent,
|
||||
],
|
||||
providers:[AuthGuard],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA,NO_ERRORS_SCHEMA],
|
||||
})
|
||||
export class PagesModule {
|
||||
|
||||
@ -12,6 +12,7 @@ export const environment = {
|
||||
// apiEndpoint:'https://dev.venbait.in/vnms/api/',
|
||||
apiEndpoint:'http://localhost:8081/api/',
|
||||
// apiEndpoint:'http://192.168.1.17:8081/api/',
|
||||
|
||||
mailUrl:'',
|
||||
production: false,
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user