UNPKG

coersystem

Version:

Library for Angular projects

1 lines 5.39 kB
{"version":3,"file":"coersystem-services.mjs","sources":["../../../projects/mycore/services/lib/jwt.service.ts","../../../projects/mycore/services/lib/services.module.ts","../../../projects/mycore/services/coersystem-services.ts"],"sourcesContent":["import { inject, Injectable, ModuleWithProviders } from '@angular/core';\r\nimport { JwtHelperService, JwtModule } from '@auth0/angular-jwt';\r\nimport { Dates, Tools, User } from 'coersystem/tools'; \r\n\r\nfunction TOKEN(): string { \r\n return User.Get()?.jwt || '';\r\n}\r\n\r\nexport function JWTModule(allowedDomains?: (string | RegExp)[] | undefined, disallowedRoutes?: (string | RegExp)[] | undefined): ModuleWithProviders<JwtModule> { \r\n return JwtModule.forRoot({\r\n config: { \r\n tokenGetter: TOKEN,\r\n allowedDomains,\r\n disallowedRoutes\r\n }\r\n });\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JWTService {\r\n\r\n private readonly jwtService = inject(JwtHelperService); \r\n\r\n \r\n /** */\r\n public get jwt(): string { \r\n return User.Get()?.jwt || '';\r\n }\r\n\r\n \r\n /** */\r\n public get expirationDate(): string | null { \r\n try {\r\n return Tools.IsNotOnlyWhiteSpace(this.jwt) && Tools.IsNotNull(this.jwtService.getTokenExpirationDate(this.jwt))\r\n ? Dates.ToFormatDB(this.jwtService.getTokenExpirationDate(this.jwt)!)\r\n : null\r\n } \r\n\r\n catch { \r\n return null;\r\n } \r\n }\r\n\r\n\r\n /** */\r\n public get isExpired(): boolean { \r\n try { \r\n return Tools.IsNotOnlyWhiteSpace(this.jwt)\r\n ? this.jwtService.isTokenExpired(this.jwt)\r\n : true;\r\n }\r\n\r\n catch (message) {\r\n console.error(message);\r\n return true;\r\n } \r\n }\r\n\r\n\r\n /** */\r\n public get claims(): any { \r\n try { \r\n return this.jwtService.decodeToken();\r\n }\r\n\r\n catch { \r\n return {};\r\n } \r\n }\r\n\r\n\r\n /** */\r\n public get isValid(): boolean{ \r\n try { \r\n return !this.isExpired && Tools.GetPropertyList(this.claims).map(item => item.toLowerCase()).includes('user');\r\n }\r\n\r\n catch { \r\n return false;\r\n } \r\n }\r\n\r\n\r\n /** */\r\n public UpdateJWT(jwt: string): void { \r\n let user = User.Get();\r\n\r\n if (user) {\r\n user = Object.assign(user, { jwt });\r\n User.Set(user);\r\n } \r\n } \r\n} ","import { NgModule } from '@angular/core'; \r\n\r\n//Services\r\nimport { JWTService } from './jwt.service';\r\n\r\n@NgModule({ \r\n providers: [ \r\n JWTService \r\n ]\r\n})\r\nexport class ServicesModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}