@arsedizioni/ars-utils 18.2.198 → 18.2.199
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/clipper.common/common/definitions.d.ts +13 -0
- package/clipper.common/common/services/clipper.service.d.ts +10 -10
- package/clipper.ui/ui/search-calendar/search-calendar.component.d.ts +1 -1
- package/esm2022/clipper.common/common/definitions.mjs +1 -1
- package/esm2022/clipper.common/common/services/clipper.service.mjs +25 -21
- package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/references/references.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +2 -2
- package/esm2022/support.common/common/services/support.service.mjs +2 -17
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +23 -19
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +5 -5
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +1 -16
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
- package/package.json +7 -7
- package/support.common/common/services/support.service.d.ts +3 -8
|
@@ -64,21 +64,6 @@ class SupportService {
|
|
|
64
64
|
get serviceUri() {
|
|
65
65
|
return this._serviceUri;
|
|
66
66
|
}
|
|
67
|
-
set serviceUri(value) {
|
|
68
|
-
this._serviceUri = value;
|
|
69
|
-
}
|
|
70
|
-
get products() {
|
|
71
|
-
return this._products;
|
|
72
|
-
}
|
|
73
|
-
set products(value) {
|
|
74
|
-
this._products = value;
|
|
75
|
-
}
|
|
76
|
-
get productModules() {
|
|
77
|
-
return this._productModules;
|
|
78
|
-
}
|
|
79
|
-
set productModules(value) {
|
|
80
|
-
this._productModules = value;
|
|
81
|
-
}
|
|
82
67
|
ngOnDestroy() {
|
|
83
68
|
// Clean-up
|
|
84
69
|
if (this.tokenRefreshTimerSubscription) {
|
|
@@ -101,7 +86,7 @@ class SupportService {
|
|
|
101
86
|
// Initialize
|
|
102
87
|
this._serviceUri = serviceUri;
|
|
103
88
|
this.tokenRefreshInterval = tokenRefreshInterval;
|
|
104
|
-
this.
|
|
89
|
+
this.products = products;
|
|
105
90
|
// React to message broadcasting
|
|
106
91
|
if (!this.broadcastServiceSubscription) {
|
|
107
92
|
this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe(message => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arsedizioni-ars-utils-support.common.mjs","sources":["../../../projects/ars-utils/support.common/common/messages.ts","../../../projects/ars-utils/support.common/common/definitions.ts","../../../projects/ars-utils/support.common/common/services/support.service.ts","../../../projects/ars-utils/support.common/common/interceptors/auth.interceptor.ts","../../../projects/ars-utils/support.common/common/common.module.ts","../../../projects/ars-utils/support.common/public_api.ts","../../../projects/ars-utils/support.common/arsedizioni-ars-utils-support.common.ts"],"sourcesContent":["export const SupportMessages = {\r\n /**\r\n * Messages\r\n */\r\n\r\n // Login\r\n LOGIN_CHANGED: '§support-login-changed',\r\n LOGIN_COMPLETED: '§support-login-completed',\r\n LOGIN_DISCONNECTED: '§support-login-disconnected',\r\n LOGOUT_COMPLETED: '§support-logout-completed',\r\n\r\n // Notifications\r\n NOTIFICATION_READ: '§support-notification-read',\r\n};\r\n","import { LoginResult } from '@arsedizioni/ars-utils/core';\r\n\r\n\r\nexport interface SupportUserInfo {\r\n\r\n id: number;\r\n groups?: number | null;\r\n groupNames?: string | null;\r\n displayName?: string | null;\r\n dashboard?: string | null;\r\n sessionId?: string | null;\r\n email?: string | null;\r\n customerId?: number | null;\r\n companyName?: string | null;\r\n role: number;\r\n scopes?: string[] | null;\r\n sla: number;\r\n isCommercial?: boolean | null;\r\n isAdministrator: boolean;\r\n isGuest: boolean;\r\n isUser: boolean;\r\n isOperator: boolean;\r\n isTemporary: boolean;\r\n}\r\n\r\nexport interface SupportLoginResult extends LoginResult<SupportUserInfo> { } \r\n\r\nexport interface SupportLoginInfo {\r\n context: SupportUserInfo;\r\n token?: string | null;\r\n userCredentials?: string | null;\r\n}\r\n\r\n\r\nexport interface SupportNotificationsSearchParams {\r\n any?: string | null;\r\n products?: number | null;\r\n productModules?: number | null;\r\n first?: number | null;\r\n count?: number | null;\r\n}\r\n\r\nexport interface SupportNotificationsSearchResult {\r\n interval?: string | null;\r\n items?: SupportNotificationInfo[] | null;\r\n total?: number | null;\r\n}\r\n\r\nexport interface SupportNotificationInfo {\r\n id: number;\r\n products: number;\r\n productNames?: string | null;\r\n productModules?: number | null;\r\n productModuleNames?: string | null;\r\n publishingDate?: Date | null;\r\n title: string;\r\n text: string;\r\n state: number;\r\n isPublished: boolean;\r\n isInternal: boolean;\r\n isRead: boolean;\r\n}\r\n\r\nexport interface SupportNotificationsMarkParams {\r\n ids: number[];\r\n unmark: boolean;\r\n}\r\n\r\nexport enum SupportProduct {\r\n Clipper = 1,\r\n Evolution = 1 << 1,\r\n DGInfo = 1 << 2\r\n}\r\n\r\nexport enum SupportProductModule {\r\n EvoFormazione = 1,\r\n EvoDPI = 1 << 1,\r\n EvoSorveglianzaSanitaria = 1 << 2,\r\n EvoRegistroEScadenzario = 1 << 3,\r\n EvoAttrezzatureEImpianti = 1 << 4,\r\n EvoMonitoraggio = 1 << 5,\r\n EvoBollettino = 1 << 6,\r\n DgiADR = 1 << 7,\r\n DgiRID = 1 << 8,\r\n DgiIMDG = 1 << 9,\r\n DgiCLP = 1 << 10,\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, OnDestroy, inject, signal } from '@angular/core';\r\nimport { ApiResult, BroadcastService, SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { EMPTY, Observable, of, Subscription, throwError, timer } from 'rxjs';\r\nimport { catchError, map, shareReplay, switchMap } from 'rxjs/operators';\r\nimport { SupportMessages } from '../messages';\r\nimport { SupportLoginInfo, SupportLoginResult, SupportNotificationInfo, SupportNotificationsMarkParams, SupportNotificationsSearchParams, SupportNotificationsSearchResult, SupportProduct, SupportProductModule, SupportUserInfo } from '../definitions';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SupportService implements OnDestroy {\r\n\r\n private readonly REFRESH_INTERVAL = 60000 * 50; //50 min\r\n\r\n private httpClient = inject(HttpClient);\r\n private broadcastService = inject(BroadcastService);\r\n private refreshing: boolean = false;\r\n private tokenRefreshInterval: number = this.REFRESH_INTERVAL;\r\n private tokenRefreshTimer?: Observable<number | void> | null = null;\r\n private tokenRefreshTimerSubscription?: Subscription | null = null;\r\n private broadcastServiceSubscription?: Subscription | null = null;\r\n\r\n\r\n private _loginInfo: SupportUserInfo = null;\r\n get loginInfo(): SupportUserInfo { return this._loginInfo };\r\n set loginInfo(value: SupportUserInfo) {\r\n this._loginInfo = value;\r\n }\r\n\r\n private _serviceUri: string = \"https://support.arsedizioni.it\"\r\n get serviceUri(): string {\r\n return this._serviceUri;\r\n }\r\n set serviceUri(value: string) {\r\n this._serviceUri = value;\r\n }\r\n\r\n private _products: SupportProduct;\r\n get products(): SupportProduct {\r\n return this._products;\r\n }\r\n set products(value: SupportProduct) {\r\n this._products = value;\r\n }\r\n\r\n private _productModules: SupportProductModule;\r\n get productModules(): SupportProductModule {\r\n return this._productModules;\r\n }\r\n set productModules(value: SupportProductModule) {\r\n this._productModules = value;\r\n }\r\n\r\n public readonly unreadNotifications = signal<number | null>(null);\r\n public readonly loggedIn = signal<boolean>(false);\r\n public readonly loggingIn = signal<boolean>(false);\r\n\r\n ngOnDestroy() {\r\n // Clean-up\r\n if (this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimerSubscription.unsubscribe();\r\n }\r\n if (this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Initialize service\r\n * @param serviceUri : the service uri\r\n * @param tokenRefreshInterval : the token refresh interval\r\n * @param products: the supported products\r\n */\r\n initialize(\r\n serviceUri: string = null,\r\n tokenRefreshInterval: number = this.REFRESH_INTERVAL,\r\n products: number = 0) {\r\n\r\n // Create unique client id\r\n if (!localStorage.getItem('support_client_id'))\r\n localStorage.setItem('support_client_id', SystemUtils.generateUUID());\r\n\r\n // Initialize\r\n this._serviceUri = serviceUri;\r\n this.tokenRefreshInterval = tokenRefreshInterval;\r\n this._products = products;\r\n\r\n // React to message broadcasting\r\n if (!this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe(message => {\r\n if (message.id === SupportMessages.LOGIN_CHANGED) {\r\n setTimeout(() => {\r\n this.login(message.data.email, message.data.oauth, message.data.oauthAccessToken).subscribe(r => {\r\n if (r.success) {\r\n this.countUnreadNotifications();\r\n }\r\n });\r\n }, 500);\r\n } else if (message.id === SupportMessages.LOGOUT_COMPLETED ||\r\n message.id === SupportMessages.LOGIN_DISCONNECTED) {\r\n if (!this.loggedIn()) {\r\n this.clear();\r\n } else {\r\n this.logout().subscribe({\r\n complete: () => {\r\n this.clear();\r\n }\r\n });\r\n }\r\n } else if (message.id === SupportMessages.NOTIFICATION_READ) {\r\n this.countUnreadNotifications();\r\n }\r\n });\r\n }\r\n\r\n // Eveluate current session storage in case of page refresh (F5)\r\n if (!this.loggedIn() && this.getToken()) {\r\n // Auto login\r\n this.loggedIn.set(true);\r\n\r\n // Start refresh timer\r\n this.enableTokenRefresh();\r\n }\r\n }\r\n\r\n /**\r\n * Set JWT token\r\n * @param token : The token to store\r\n */\r\n private setToken(token: string) {\r\n sessionStorage.setItem('support_jwt', token);\r\n if (token) {\r\n this.enableTokenRefresh();\r\n }\r\n }\r\n\r\n /**\r\n * Enable JWT token auto refresh\r\n */\r\n private enableTokenRefresh() {\r\n if (!this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimer =\r\n timer(this.tokenRefreshInterval, this.tokenRefreshInterval)\r\n .pipe(\r\n switchMap(() => {\r\n if (this.refreshing || !this.loggedIn()) return EMPTY;\r\n this.refreshing = true;\r\n this.refresh().subscribe(\r\n {\r\n error: () => { this.refreshing = false; },\r\n complete: () => { this.refreshing = false; }\r\n });\r\n return EMPTY;\r\n }),\r\n shareReplay(1));\r\n this.tokenRefreshTimerSubscription = this.tokenRefreshTimer.subscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Return current JWT token\r\n * @returns: the string JWT token or string empty if none\r\n */\r\n getToken(): string {\r\n let token = sessionStorage.getItem('support_jwt');\r\n if (token) {\r\n if (token[0] === '\"') token = token.substring(1, token.length - 1);\r\n return token;\r\n }\r\n return '';\r\n }\r\n\r\n\r\n /**\r\n* Perform login \r\n* @param email: the guest email\r\n* @param oauth: the optional open authentication supported\r\n* @param oauthAccessToken: the optional oauth2 access token\r\n* @returns: the login result\r\n*/\r\n login(email: string | null | undefined = null,\r\n oauth: number | null | undefined = null,\r\n oauthAccessToken: string | null | undefined = null) {\r\n this.clear();\r\n this.loggingIn.set(true);\r\n return this.httpClient\r\n .post<ApiResult<SupportLoginResult>>(\r\n this._serviceUri + '/login',\r\n {\r\n user: oauth > 0 ? null : email,\r\n clientId: localStorage.getItem(\"support_client_id\"),\r\n OAUTH: oauth\r\n },\r\n {\r\n headers:\r\n !oauth\r\n ? new HttpHeaders()\r\n : new HttpHeaders()\r\n .set(\"Authorization\", oauthAccessToken)\r\n })\r\n .pipe(\r\n catchError(err => {\r\n this.loggingIn.set(false);\r\n return throwError(() => err);\r\n }),\r\n map(r => {\r\n this.loggingIn.set(false);\r\n if (r.success) {\r\n this.setToken(r.value.token);\r\n this._loginInfo = r.value.context;\r\n this.loggedIn.set(true);\r\n }\r\n return r;\r\n })\r\n );\r\n\r\n }\r\n\r\n /**\r\n * Perform logout\r\n */\r\n logout() {\r\n return this.httpClient\r\n .post<any>(this._serviceUri + '/logout', {}).pipe(\r\n map(r => { return r; }),\r\n catchError((_e) => {\r\n this.clear();\r\n return of([]);\r\n }));\r\n\r\n }\r\n\r\n /**\r\n * Reset login refresh timer and logins state\r\n */\r\n reset() {\r\n // Clear subscriptions\r\n if (this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimerSubscription.unsubscribe();\r\n this.tokenRefreshTimerSubscription = null;\r\n }\r\n this.tokenRefreshTimer = null;\r\n\r\n // Clear login info\r\n this._loginInfo = null;\r\n this.loggedIn.set(false);\r\n }\r\n\r\n /**\r\n * Clear login data\r\n */\r\n clear() {\r\n // Reset login\r\n this.reset();\r\n\r\n // Clear local storage\r\n sessionStorage.removeItem('support_jwt');\r\n }\r\n\r\n /**\r\n * Perform token refresh\r\n */\r\n private refresh() {\r\n return this.httpClient.post<ApiResult<SupportLoginInfo>>(\r\n this._serviceUri + '/refresh', {}\r\n ).pipe(map(r => {\r\n // Update token\r\n this.setToken(r.value.token);\r\n console.log(\"token-refreshed: \" + r.value.token);\r\n }));\r\n }\r\n\r\n /**\r\n * Navigate to support service\r\n */\r\n open() {\r\n let uri = this.serviceUri ?? '';\r\n if (uri.endsWith('/api'))\r\n uri = uri.substring(0, uri.length - 4)\r\n window.open(uri);\r\n }\r\n\r\n ////\r\n // NOTIFICATIONS\r\n ////\r\n\r\n /**\r\n * Count unread notifications\r\n */\r\n countUnreadNotifications() {\r\n this.httpClient.get<ApiResult<number>>(\r\n this._serviceUri + '/notifications/count-unread/?products=' + (this.products ?? 0) + \"&modules=\" + (this.productModules ?? 0)\r\n ).subscribe(r => {\r\n if (r.success) {\r\n this.unreadNotifications.set(r.value > 0 ? r.value : null)\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Query notifications\r\n * @param params: query parameters\r\n */\r\n queryNotifications(params: SupportNotificationsSearchParams) {\r\n params.products = this.products ?? 0;\r\n params.productModules = this.productModules ?? 0;\r\n return this.httpClient.post<ApiResult<SupportNotificationsSearchResult>>(\r\n this._serviceUri + '/notifications',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve a notification\r\n * @param id: the notification id\r\n */\r\n getNotification(id: number) {\r\n return this.httpClient.get<ApiResult<SupportNotificationInfo>>(\r\n this._serviceUri +\r\n '/notifications/' +\r\n id\r\n );\r\n }\r\n\r\n /**\r\n * Mark a group of notifications as read\r\n * @param ids: the array of notification's ids to set as read\r\n */\r\n markNotifications(params: SupportNotificationsMarkParams) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/notifications/mark',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Download a notification document\r\n * @param documentId : the notification document id\r\n */\r\n dowloadNotificationDocument(documentId: number) {\r\n return this.httpClient.get(\r\n this._serviceUri + '/documents/download/' + documentId,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { Observable, catchError, throwError } from 'rxjs';\r\nimport { SupportService } from '../services/support.service';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\n\r\n@Injectable()\r\nexport class SupportAuthInterceptor implements HttpInterceptor {\r\n\r\n private supportService = inject(SupportService);\r\n private dialogService = inject(DialogService);\r\n\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> { \r\n if (request.url.startsWith(this.supportService.serviceUri)) {\r\n request = request.clone({ withCredentials: true });\r\n return next.handle(this.addTokenToRequest(request))\r\n .pipe(\r\n catchError(err => {\r\n // Get the message\r\n let message = err.error?.message || err.message || \"Impossibile eseguire l'operazione richiesta.\";\r\n let invalidSession = err.status === 401;\r\n switch (err.status) {\r\n case 0:\r\n case 500:\r\n case 502:\r\n case 503:\r\n case 504:\r\n message = null; // No messages\r\n break;\r\n case 403:\r\n message = \"<p>Non hai i permessi necessari per eseguire l'operazione richiesta.</p>\";\r\n break;\r\n default:\r\n message = '<p>' + message.replaceAll('\\r\\n', '</p><p>') + '</p>';\r\n break;\r\n }\r\n // Display message\r\n if (message) {\r\n setTimeout(() => {\r\n this.dialogService.error(message, null, 'Errore in ARS Support', 'Ok', 500, invalidSession ? 5000 : null).afterClosed().subscribe(() => {\r\n if (invalidSession) {\r\n if (this.supportService.loggedIn()) {\r\n this.supportService.reset();\r\n }\r\n }\r\n });\r\n }, 250);\r\n }\r\n return throwError(() => err);\r\n }));\r\n } \r\n return next.handle(request); \r\n }\r\n\r\n\r\n /**\r\n * Add token to request\r\n * @param request : the request\r\n * @param token: the token or null to use curre3nt\r\n */\r\n private addTokenToRequest(\r\n request: HttpRequest<any>,\r\n token: string = null\r\n ): HttpRequest<any> {\r\n if (request.url.startsWith(this.supportService.serviceUri)) {\r\n if (!token) token = this.supportService.getToken();\r\n if (token) {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + token,\r\n 'ngsw-bypass': 'ngsw-bypass'\r\n },\r\n });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule()\r\nexport class ArsSupportCommonModule {}\r\n\r\n// Other exports\r\nexport * from './messages';\r\nexport * from './definitions';\r\nexport * from './interceptors/auth.interceptor';\r\nexport * from './services/support.service';\r\n","/*\r\n * Public API Surface of ars-utils\r\n */\r\nexport * from './common/common.module';\r\nexport * from './common/messages';\r\nexport * from './common/definitions';\r\nexport * from './common/services/support.service';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["catchError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"arsedizioni-ars-utils-support.common.mjs","sources":["../../../projects/ars-utils/support.common/common/messages.ts","../../../projects/ars-utils/support.common/common/definitions.ts","../../../projects/ars-utils/support.common/common/services/support.service.ts","../../../projects/ars-utils/support.common/common/interceptors/auth.interceptor.ts","../../../projects/ars-utils/support.common/common/common.module.ts","../../../projects/ars-utils/support.common/public_api.ts","../../../projects/ars-utils/support.common/arsedizioni-ars-utils-support.common.ts"],"sourcesContent":["export const SupportMessages = {\r\n /**\r\n * Messages\r\n */\r\n\r\n // Login\r\n LOGIN_CHANGED: '§support-login-changed',\r\n LOGIN_COMPLETED: '§support-login-completed',\r\n LOGIN_DISCONNECTED: '§support-login-disconnected',\r\n LOGOUT_COMPLETED: '§support-logout-completed',\r\n\r\n // Notifications\r\n NOTIFICATION_READ: '§support-notification-read',\r\n};\r\n","import { LoginResult } from '@arsedizioni/ars-utils/core';\r\n\r\n\r\nexport interface SupportUserInfo {\r\n\r\n id: number;\r\n groups?: number | null;\r\n groupNames?: string | null;\r\n displayName?: string | null;\r\n dashboard?: string | null;\r\n sessionId?: string | null;\r\n email?: string | null;\r\n customerId?: number | null;\r\n companyName?: string | null;\r\n role: number;\r\n scopes?: string[] | null;\r\n sla: number;\r\n isCommercial?: boolean | null;\r\n isAdministrator: boolean;\r\n isGuest: boolean;\r\n isUser: boolean;\r\n isOperator: boolean;\r\n isTemporary: boolean;\r\n}\r\n\r\nexport interface SupportLoginResult extends LoginResult<SupportUserInfo> { } \r\n\r\nexport interface SupportLoginInfo {\r\n context: SupportUserInfo;\r\n token?: string | null;\r\n userCredentials?: string | null;\r\n}\r\n\r\n\r\nexport interface SupportNotificationsSearchParams {\r\n any?: string | null;\r\n products?: number | null;\r\n productModules?: number | null;\r\n first?: number | null;\r\n count?: number | null;\r\n}\r\n\r\nexport interface SupportNotificationsSearchResult {\r\n interval?: string | null;\r\n items?: SupportNotificationInfo[] | null;\r\n total?: number | null;\r\n}\r\n\r\nexport interface SupportNotificationInfo {\r\n id: number;\r\n products: number;\r\n productNames?: string | null;\r\n productModules?: number | null;\r\n productModuleNames?: string | null;\r\n publishingDate?: Date | null;\r\n title: string;\r\n text: string;\r\n state: number;\r\n isPublished: boolean;\r\n isInternal: boolean;\r\n isRead: boolean;\r\n}\r\n\r\nexport interface SupportNotificationsMarkParams {\r\n ids: number[];\r\n unmark: boolean;\r\n}\r\n\r\nexport enum SupportProduct {\r\n Clipper = 1,\r\n Evolution = 1 << 1,\r\n DGInfo = 1 << 2\r\n}\r\n\r\nexport enum SupportProductModule {\r\n EvoFormazione = 1,\r\n EvoDPI = 1 << 1,\r\n EvoSorveglianzaSanitaria = 1 << 2,\r\n EvoRegistroEScadenzario = 1 << 3,\r\n EvoAttrezzatureEImpianti = 1 << 4,\r\n EvoMonitoraggio = 1 << 5,\r\n EvoBollettino = 1 << 6,\r\n DgiADR = 1 << 7,\r\n DgiRID = 1 << 8,\r\n DgiIMDG = 1 << 9,\r\n DgiCLP = 1 << 10,\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, OnDestroy, inject, signal } from '@angular/core';\r\nimport { ApiResult, BroadcastService, SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { EMPTY, Observable, of, Subscription, throwError, timer } from 'rxjs';\r\nimport { catchError, map, shareReplay, switchMap } from 'rxjs/operators';\r\nimport { SupportMessages } from '../messages';\r\nimport { SupportLoginInfo, SupportLoginResult, SupportNotificationInfo, SupportNotificationsMarkParams, SupportNotificationsSearchParams, SupportNotificationsSearchResult, SupportProduct, SupportProductModule, SupportUserInfo } from '../definitions';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SupportService implements OnDestroy {\r\n\r\n private readonly REFRESH_INTERVAL = 60000 * 50; //50 min\r\n\r\n private httpClient = inject(HttpClient);\r\n private broadcastService = inject(BroadcastService);\r\n private refreshing: boolean = false;\r\n private tokenRefreshInterval: number = this.REFRESH_INTERVAL;\r\n private tokenRefreshTimer?: Observable<number | void> | null = null;\r\n private tokenRefreshTimerSubscription?: Subscription | null = null;\r\n private broadcastServiceSubscription?: Subscription | null = null;\r\n\r\n\r\n private _loginInfo: SupportUserInfo = null;\r\n get loginInfo(): SupportUserInfo { return this._loginInfo };\r\n set loginInfo(value: SupportUserInfo) {\r\n this._loginInfo = value;\r\n }\r\n\r\n private _serviceUri: string = \"https://support.arsedizioni.it\"\r\n get serviceUri(): string {\r\n return this._serviceUri;\r\n }\r\n\r\n private products: SupportProduct;\r\n private productModules: SupportProductModule;\r\n\r\n public readonly unreadNotifications = signal<number | null>(null);\r\n public readonly loggedIn = signal<boolean>(false);\r\n public readonly loggingIn = signal<boolean>(false);\r\n\r\n ngOnDestroy() {\r\n // Clean-up\r\n if (this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimerSubscription.unsubscribe();\r\n }\r\n if (this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Initialize service\r\n * @param serviceUri : the service uri\r\n * @param tokenRefreshInterval : the token refresh interval\r\n * @param products: the supported products\r\n */\r\n initialize(\r\n serviceUri: string = null,\r\n tokenRefreshInterval: number = this.REFRESH_INTERVAL,\r\n products: number = 0) {\r\n\r\n // Create unique client id\r\n if (!localStorage.getItem('support_client_id'))\r\n localStorage.setItem('support_client_id', SystemUtils.generateUUID());\r\n\r\n // Initialize\r\n this._serviceUri = serviceUri;\r\n this.tokenRefreshInterval = tokenRefreshInterval;\r\n this.products = products;\r\n\r\n // React to message broadcasting\r\n if (!this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe(message => {\r\n if (message.id === SupportMessages.LOGIN_CHANGED) {\r\n setTimeout(() => {\r\n this.login(message.data.email, message.data.oauth, message.data.oauthAccessToken).subscribe(r => {\r\n if (r.success) {\r\n this.countUnreadNotifications();\r\n }\r\n });\r\n }, 500);\r\n } else if (message.id === SupportMessages.LOGOUT_COMPLETED ||\r\n message.id === SupportMessages.LOGIN_DISCONNECTED) {\r\n if (!this.loggedIn()) {\r\n this.clear();\r\n } else {\r\n this.logout().subscribe({\r\n complete: () => {\r\n this.clear();\r\n }\r\n });\r\n }\r\n } else if (message.id === SupportMessages.NOTIFICATION_READ) {\r\n this.countUnreadNotifications();\r\n }\r\n });\r\n }\r\n\r\n // Eveluate current session storage in case of page refresh (F5)\r\n if (!this.loggedIn() && this.getToken()) {\r\n // Auto login\r\n this.loggedIn.set(true);\r\n\r\n // Start refresh timer\r\n this.enableTokenRefresh();\r\n }\r\n }\r\n\r\n /**\r\n * Set JWT token\r\n * @param token : The token to store\r\n */\r\n private setToken(token: string) {\r\n sessionStorage.setItem('support_jwt', token);\r\n if (token) {\r\n this.enableTokenRefresh();\r\n }\r\n }\r\n\r\n /**\r\n * Enable JWT token auto refresh\r\n */\r\n private enableTokenRefresh() {\r\n if (!this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimer =\r\n timer(this.tokenRefreshInterval, this.tokenRefreshInterval)\r\n .pipe(\r\n switchMap(() => {\r\n if (this.refreshing || !this.loggedIn()) return EMPTY;\r\n this.refreshing = true;\r\n this.refresh().subscribe(\r\n {\r\n error: () => { this.refreshing = false; },\r\n complete: () => { this.refreshing = false; }\r\n });\r\n return EMPTY;\r\n }),\r\n shareReplay(1));\r\n this.tokenRefreshTimerSubscription = this.tokenRefreshTimer.subscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Return current JWT token\r\n * @returns: the string JWT token or string empty if none\r\n */\r\n getToken(): string {\r\n let token = sessionStorage.getItem('support_jwt');\r\n if (token) {\r\n if (token[0] === '\"') token = token.substring(1, token.length - 1);\r\n return token;\r\n }\r\n return '';\r\n }\r\n\r\n\r\n /**\r\n* Perform login \r\n* @param email: the guest email\r\n* @param oauth: the optional open authentication supported\r\n* @param oauthAccessToken: the optional oauth2 access token\r\n* @returns: the login result\r\n*/\r\n login(email: string | null | undefined = null,\r\n oauth: number | null | undefined = null,\r\n oauthAccessToken: string | null | undefined = null) {\r\n this.clear();\r\n this.loggingIn.set(true);\r\n return this.httpClient\r\n .post<ApiResult<SupportLoginResult>>(\r\n this._serviceUri + '/login',\r\n {\r\n user: oauth > 0 ? null : email,\r\n clientId: localStorage.getItem(\"support_client_id\"),\r\n OAUTH: oauth\r\n },\r\n {\r\n headers:\r\n !oauth\r\n ? new HttpHeaders()\r\n : new HttpHeaders()\r\n .set(\"Authorization\", oauthAccessToken)\r\n })\r\n .pipe(\r\n catchError(err => {\r\n this.loggingIn.set(false);\r\n return throwError(() => err);\r\n }),\r\n map(r => {\r\n this.loggingIn.set(false);\r\n if (r.success) {\r\n this.setToken(r.value.token);\r\n this._loginInfo = r.value.context;\r\n this.loggedIn.set(true);\r\n }\r\n return r;\r\n })\r\n );\r\n\r\n }\r\n\r\n /**\r\n * Perform logout\r\n */\r\n logout() {\r\n return this.httpClient\r\n .post<any>(this._serviceUri + '/logout', {}).pipe(\r\n map(r => { return r; }),\r\n catchError((_e) => {\r\n this.clear();\r\n return of([]);\r\n }));\r\n\r\n }\r\n\r\n /**\r\n * Reset login refresh timer and logins state\r\n */\r\n reset() {\r\n // Clear subscriptions\r\n if (this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimerSubscription.unsubscribe();\r\n this.tokenRefreshTimerSubscription = null;\r\n }\r\n this.tokenRefreshTimer = null;\r\n\r\n // Clear login info\r\n this._loginInfo = null;\r\n this.loggedIn.set(false);\r\n }\r\n\r\n /**\r\n * Clear login data\r\n */\r\n clear() {\r\n // Reset login\r\n this.reset();\r\n\r\n // Clear local storage\r\n sessionStorage.removeItem('support_jwt');\r\n }\r\n\r\n /**\r\n * Perform token refresh\r\n */\r\n private refresh() {\r\n return this.httpClient.post<ApiResult<SupportLoginInfo>>(\r\n this._serviceUri + '/refresh', {}\r\n ).pipe(map(r => {\r\n // Update token\r\n this.setToken(r.value.token);\r\n console.log(\"token-refreshed: \" + r.value.token);\r\n }));\r\n }\r\n\r\n /**\r\n * Navigate to support service\r\n */\r\n open() {\r\n let uri = this.serviceUri ?? '';\r\n if (uri.endsWith('/api'))\r\n uri = uri.substring(0, uri.length - 4)\r\n window.open(uri);\r\n }\r\n\r\n ////\r\n // NOTIFICATIONS\r\n ////\r\n\r\n /**\r\n * Count unread notifications\r\n */\r\n countUnreadNotifications() {\r\n this.httpClient.get<ApiResult<number>>(\r\n this._serviceUri + '/notifications/count-unread/?products=' + (this.products ?? 0) + \"&modules=\" + (this.productModules ?? 0)\r\n ).subscribe(r => {\r\n if (r.success) {\r\n this.unreadNotifications.set(r.value > 0 ? r.value : null)\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Query notifications\r\n * @param params: query parameters\r\n */\r\n queryNotifications(params: SupportNotificationsSearchParams) {\r\n params.products = this.products ?? 0;\r\n params.productModules = this.productModules ?? 0;\r\n return this.httpClient.post<ApiResult<SupportNotificationsSearchResult>>(\r\n this._serviceUri + '/notifications',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve a notification\r\n * @param id: the notification id\r\n */\r\n getNotification(id: number) {\r\n return this.httpClient.get<ApiResult<SupportNotificationInfo>>(\r\n this._serviceUri +\r\n '/notifications/' +\r\n id\r\n );\r\n }\r\n\r\n /**\r\n * Mark a group of notifications as read\r\n * @param ids: the array of notification's ids to set as read\r\n */\r\n markNotifications(params: SupportNotificationsMarkParams) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/notifications/mark',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Download a notification document\r\n * @param documentId : the notification document id\r\n */\r\n dowloadNotificationDocument(documentId: number) {\r\n return this.httpClient.get(\r\n this._serviceUri + '/documents/download/' + documentId,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { Observable, catchError, throwError } from 'rxjs';\r\nimport { SupportService } from '../services/support.service';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\n\r\n@Injectable()\r\nexport class SupportAuthInterceptor implements HttpInterceptor {\r\n\r\n private supportService = inject(SupportService);\r\n private dialogService = inject(DialogService);\r\n\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> { \r\n if (request.url.startsWith(this.supportService.serviceUri)) {\r\n request = request.clone({ withCredentials: true });\r\n return next.handle(this.addTokenToRequest(request))\r\n .pipe(\r\n catchError(err => {\r\n // Get the message\r\n let message = err.error?.message || err.message || \"Impossibile eseguire l'operazione richiesta.\";\r\n let invalidSession = err.status === 401;\r\n switch (err.status) {\r\n case 0:\r\n case 500:\r\n case 502:\r\n case 503:\r\n case 504:\r\n message = null; // No messages\r\n break;\r\n case 403:\r\n message = \"<p>Non hai i permessi necessari per eseguire l'operazione richiesta.</p>\";\r\n break;\r\n default:\r\n message = '<p>' + message.replaceAll('\\r\\n', '</p><p>') + '</p>';\r\n break;\r\n }\r\n // Display message\r\n if (message) {\r\n setTimeout(() => {\r\n this.dialogService.error(message, null, 'Errore in ARS Support', 'Ok', 500, invalidSession ? 5000 : null).afterClosed().subscribe(() => {\r\n if (invalidSession) {\r\n if (this.supportService.loggedIn()) {\r\n this.supportService.reset();\r\n }\r\n }\r\n });\r\n }, 250);\r\n }\r\n return throwError(() => err);\r\n }));\r\n } \r\n return next.handle(request); \r\n }\r\n\r\n\r\n /**\r\n * Add token to request\r\n * @param request : the request\r\n * @param token: the token or null to use curre3nt\r\n */\r\n private addTokenToRequest(\r\n request: HttpRequest<any>,\r\n token: string = null\r\n ): HttpRequest<any> {\r\n if (request.url.startsWith(this.supportService.serviceUri)) {\r\n if (!token) token = this.supportService.getToken();\r\n if (token) {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + token,\r\n 'ngsw-bypass': 'ngsw-bypass'\r\n },\r\n });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule()\r\nexport class ArsSupportCommonModule {}\r\n\r\n// Other exports\r\nexport * from './messages';\r\nexport * from './definitions';\r\nexport * from './interceptors/auth.interceptor';\r\nexport * from './services/support.service';\r\n","/*\r\n * Public API Surface of ars-utils\r\n */\r\nexport * from './common/common.module';\r\nexport * from './common/messages';\r\nexport * from './common/definitions';\r\nexport * from './common/services/support.service';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["catchError"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arsedizioni/ars-utils",
|
|
3
|
-
"version": "18.2.
|
|
3
|
+
"version": "18.2.199",
|
|
4
4
|
"author": {
|
|
5
5
|
"email": "software@arsedizioni.it",
|
|
6
6
|
"name": "Fabio Buscaroli, Alberto Doria"
|
|
@@ -47,18 +47,18 @@
|
|
|
47
47
|
"esm": "./esm2022/clipper.ui/arsedizioni-ars-utils-clipper.ui.mjs",
|
|
48
48
|
"default": "./fesm2022/arsedizioni-ars-utils-clipper.ui.mjs"
|
|
49
49
|
},
|
|
50
|
-
"./core": {
|
|
51
|
-
"types": "./core/index.d.ts",
|
|
52
|
-
"esm2022": "./esm2022/core/arsedizioni-ars-utils-core.mjs",
|
|
53
|
-
"esm": "./esm2022/core/arsedizioni-ars-utils-core.mjs",
|
|
54
|
-
"default": "./fesm2022/arsedizioni-ars-utils-core.mjs"
|
|
55
|
-
},
|
|
56
50
|
"./help": {
|
|
57
51
|
"types": "./help/index.d.ts",
|
|
58
52
|
"esm2022": "./esm2022/help/arsedizioni-ars-utils-help.mjs",
|
|
59
53
|
"esm": "./esm2022/help/arsedizioni-ars-utils-help.mjs",
|
|
60
54
|
"default": "./fesm2022/arsedizioni-ars-utils-help.mjs"
|
|
61
55
|
},
|
|
56
|
+
"./core": {
|
|
57
|
+
"types": "./core/index.d.ts",
|
|
58
|
+
"esm2022": "./esm2022/core/arsedizioni-ars-utils-core.mjs",
|
|
59
|
+
"esm": "./esm2022/core/arsedizioni-ars-utils-core.mjs",
|
|
60
|
+
"default": "./fesm2022/arsedizioni-ars-utils-core.mjs"
|
|
61
|
+
},
|
|
62
62
|
"./support.common": {
|
|
63
63
|
"types": "./support.common/index.d.ts",
|
|
64
64
|
"esm2022": "./esm2022/support.common/arsedizioni-ars-utils-support.common.mjs",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { ApiResult } from '@arsedizioni/ars-utils/core';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
import { SupportLoginResult, SupportNotificationInfo, SupportNotificationsMarkParams, SupportNotificationsSearchParams, SupportNotificationsSearchResult,
|
|
4
|
+
import { SupportLoginResult, SupportNotificationInfo, SupportNotificationsMarkParams, SupportNotificationsSearchParams, SupportNotificationsSearchResult, SupportUserInfo } from '../definitions';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class SupportService implements OnDestroy {
|
|
7
7
|
private readonly REFRESH_INTERVAL;
|
|
@@ -17,13 +17,8 @@ export declare class SupportService implements OnDestroy {
|
|
|
17
17
|
set loginInfo(value: SupportUserInfo);
|
|
18
18
|
private _serviceUri;
|
|
19
19
|
get serviceUri(): string;
|
|
20
|
-
|
|
21
|
-
private
|
|
22
|
-
get products(): SupportProduct;
|
|
23
|
-
set products(value: SupportProduct);
|
|
24
|
-
private _productModules;
|
|
25
|
-
get productModules(): SupportProductModule;
|
|
26
|
-
set productModules(value: SupportProductModule);
|
|
20
|
+
private products;
|
|
21
|
+
private productModules;
|
|
27
22
|
readonly unreadNotifications: import("@angular/core").WritableSignal<number>;
|
|
28
23
|
readonly loggedIn: import("@angular/core").WritableSignal<boolean>;
|
|
29
24
|
readonly loggingIn: import("@angular/core").WritableSignal<boolean>;
|