{"version":3,"file":"main.js","mappings":"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","sources":["./src/modules/CubeAuth.js","./src/modules/adB2c.js","./src/modules/azuread.js","./src/app/abstractions/cube-base-effects.service.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.config.ts","./src/app/app.interceptors.ts","./src/app/app.routes.ts","./src/app/configs/global.config.ts","./src/app/configs/translate.config.ts","./src/app/directives/layout-mode-handler.directive.ts","./src/app/directives/notification-handler.directive.ts","./src/app/directives/translate.directive.ts","./src/app/models/core/system-notification.type.ts","./src/app/providers/interceptors/azure-token.interceptor.ts","./src/app/providers/interceptors/loading.interceptor.ts","./src/app/providers/interceptors/metadata.interceptor.ts","./src/app/providers/interceptors/notification.interceptor.ts","./src/app/providers/pipes/truncate-file-url.pipe.ts","./src/app/providers/services/authentication.service.ts","./src/app/providers/services/file.service.ts","./src/app/providers/services/token.service.ts","./src/app/store/actions/auth.actions.ts","./src/app/store/actions/file.actions.ts","./src/app/store/actions/system.actions.ts","./src/app/store/effects/auth.effects.ts","./src/app/store/effects/file.effects.ts","./src/app/store/effects/system.effects.ts","./src/app/store/index.ts","./src/app/store/reducers/auth.reducers.ts","./src/app/store/reducers/system.reducers.ts","./src/app/store/selectors/auth.selectors.ts","./src/app/store/selectors/system.selectors.ts","./src/environments/environment.dev.ts","./src/main.ts"],"sourcesContent":["import { ADB2CClient } from './adB2c.js';\nimport { executeFlow, parseFragment, ADB2C } from './azuread.js';\n\nconst HASH_KEY_ADT_TOKEN = 'token';\nconst HASH_KEY_B2C_ID_TOKEN = 'id_token';\n\nexport const CubeAuth = {\n adtTokenEnabled: false,\n\n adb2cEnabled: false,\n adb2cClient: undefined,\n adb2cRedirectUri: undefined,\n\n adb2cCurrentIdToken: undefined,\n\n logoutRedirectUri: '',\n\n credentialsReadyFlag: true,\n\n onCredentialsReadyCallbacks: [],\n onADB2CNewTokenCallbacks: [],\n\n enableAdTTokens() {\n this.adtTokenEnabled = true;\n },\n\n enableADB2C(tenantId, clientId, policy, redirectUri, baseUrl) {\n this.adb2cEnabled = true;\n this.adb2cClient = new ADB2CClient(tenantId, clientId, policy, baseUrl);\n this.adb2cRedirectUri = redirectUri;\n },\n\n setLogutRedirectUri(uri) {\n this.logoutRedirectUri = uri;\n },\n\n set onCredentialsReady(f) {\n this.onCredentialsReadyCallbacks.push(f);\n },\n\n set onADB2CNewToken(f) {\n this.onADB2CNewTokenCallbacks.push(f);\n },\n\n _credentialsReady(authType, authToken) {\n console.debug('[CUBE AUTH] Credentials are ready.');\n if (this.credentialsReadyFlag === true) {\n this.credentialsReadyFlag = false;\n for (var callback of this.onCredentialsReadyCallbacks) callback(authType, authToken);\n }\n },\n\n _ADB2CNewToken(idToken, expires, profileInfo) {\n console.debug('[CUBE AUTH] New token available for AD B2C');\n this.adb2cCurrentIdToken = idToken;\n if (this.credentialsReadyFlag === true) this._credentialsReady('Bearer', idToken);\n for (var callback of this.onADB2CNewTokenCallbacks) callback(idToken, expires, profileInfo);\n },\n\n auth() {\n const q = parseFragment();\n\n if (this.adtTokenEnabled === true && HASH_KEY_ADT_TOKEN in q) {\n this._credentialsReady('Basic', q[HASH_KEY_ADT_TOKEN]);\n } else if (this.adb2cEnabled === true) {\n // Authentication flow\n executeFlow(this.adb2cClient, this.adb2cRedirectUri, CubeAuth._ADB2CNewToken.bind(this));\n } else throw new Error('No way to authenticate the user.');\n },\n\n async logout() {\n var redirectUrl = this.logoutRedirectUri;\n if (this.adb2cCurrentIdToken != undefined) {\n await ADB2C.persistence.clear();\n redirectUrl = this.adb2cClient.getLogoutUrl(this.adb2cCurrentIdToken, redirectUrl);\n }\n location.href = redirectUrl;\n }\n};\n","/**\n * This module handles the integration with Azure AD B2C.\n *\n */\n\nexport class PKCE {\n /**\n * Proof Key for Code Exchange by OAuth Public Clients\n * https://datatracker.ietf.org/doc/html/rfc7636\n */\n\n // METHOD_PLAIN = 'plain';\n // METHOD_SHA = 'S256';\n\n constructor(verifier) {\n this.verifier = verifier;\n }\n\n getCodeVerifier() {\n return this.verifier;\n }\n\n getPlainCodeChallenge() {\n return this.verifier;\n }\n\n async getCodeChallenge() {\n const msgBuffer = new TextEncoder().encode(this.verifier);\n const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);\n return PKCE.base64URLEncode(PKCE.arraybufferToString(hashBuffer));\n }\n\n static build() {\n return new this(this.buildVerifier());\n }\n\n static buildVerifier() {\n const length = 43 + Math.floor(Math.random() * (1 + 128 - 43));\n const array = new Uint8Array(30);\n const randomBytes = window.crypto.getRandomValues(array);\n const randomSymbols = this.base64URLEncode(randomBytes.toString());\n return randomSymbols.slice(0, length);\n }\n\n static base64URLEncode(str) {\n return btoa(str)\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n }\n\n static arraybufferToString(array) {\n const u8array = new Uint8Array(array);\n var t,\n output = '';\n for (var i of u8array) {\n t = i.toString(16);\n if (t.length < 2) t = '0' + t;\n output += '\\\\x' + t;\n }\n return eval(\"'\" + output + \"'\");\n }\n\n static async verify(verifier, challenge, method) {\n if (method == \"plain\") return verifier == challenge;\n else return (await new this(verifier).getCodeChallenge()) == challenge;\n }\n\n static async getKeys() {\n var obj = {},\n pkce = this.build();\n obj['codeVerifier'] = pkce.getCodeVerifier();\n try {\n obj['codeChallengeMethod'] = 'S256';\n obj['codeChallenge'] = await pkce.getCodeChallenge();\n } catch (e) {\n console.warn(\"[PKCE] Using 'plain' method.\");\n obj['codeChallengeMethod'] = \"plain\";\n obj['codeChallenge'] = pkce.getPlainCodeChallenge();\n } finally {\n return obj;\n }\n }\n}\n\nfunction mergeQuery(obj) {\n var query = '';\n for (var key of Object.keys(obj)) {\n query += key + '=' + encodeURIComponent(obj[key]) + '&';\n }\n return query;\n}\n\nexport class ADB2CClient {\n constructor(tenant, clientId, policy, baseUrl) {\n this.tenant = tenant;\n this.clientId = clientId;\n this.policy = policy;\n this.baseUrl = baseUrl;\n this.authAPI = this.baseUrl + 'authorize';\n this.tokenAPI = this.baseUrl + 'token';\n }\n\n getLogoutUrl(id_token, redirectUri) {\n return (\n this.baseUrl +\n 'logout?' +\n mergeQuery({\n post_logout_redirect_uri: redirectUri,\n id_token_hint: id_token\n })\n );\n }\n\n getLoginUrl(redirectUri, pkce, options) {\n return (\n this.authAPI +\n '?' +\n mergeQuery({\n client_id: this.clientId,\n redirect_uri: redirectUri,\n code_challenge: pkce.codeChallenge,\n code_challenge_method: pkce.codeChallengeMethod,\n response_type: options.responseType || 'code',\n response_mode: options.responseMode || 'fragment',\n scope: options.scope || 'openid',\n state: options.state\n })\n );\n }\n\n async getTokenInfoByRefreshToken(refreshToken) {\n var r = await fetch(this.tokenAPI, {\n method: 'POST',\n headers: {\n 'content-type': 'application/x-www-form-urlencoded'\n },\n body: mergeQuery({\n client_id: this.clientId,\n scope: 'openid offline_access profile',\n grant_type: 'refresh_token',\n refresh_token: refreshToken\n })\n });\n return await r.json();\n }\n\n async getTokenInfoByCode(code, codeVerifier) {\n var r = await fetch(this.tokenAPI, {\n method: 'POST',\n headers: {\n 'content-type': 'application/x-www-form-urlencoded'\n },\n body: mergeQuery({\n client_id: this.clientId,\n scope: 'openid offline_access profile',\n grant_type: 'authorization_code',\n code: code,\n code_verifier: codeVerifier\n })\n });\n return await r.json();\n }\n}\n","import {PKCE} from \"./adB2c.js\"\n\n\nconst ADB2C_STATE_KEY = \"AADState\"\n\n\nexport function parseFragment() {\n\t/**\n\t * TODOs\n\t * - handle multi parameters and objects\n\t * - accept string 'query' as argument\n\t */\n\tvar t, q = {}; \n\tfor(var p of document.location.hash.slice(1).split(\"&\")){\n\t\tt = p.split(\"=\")\n\t\tq[t[0]] = t[1]\n\t}\n\treturn q\n}\n\n\nexport async function executeFlow(client, redirectUri, callback) {\n\n\tconst fragment = parseFragment()\n\tconst token = await ADB2C.persistence.getRefreshToken()\n\n\tif( \"error\" in fragment) {\n\n\t\tconsole.error(fragment[\"error\"])\n\t\tconsole.log(fragment)\n\t\t// TODO: raise exception ?\n\n\t}\n\telse if(token != null && Date.now() < token.expires) {\n\n\t\t// Using refresh token\n\t\tconsole.log(\"'Refresh token' found in storage. Retrieving tokens information by 'refresh token'.\")\n\t\tvar info = await client.getTokenInfoByRefreshToken(token.refreshToken)\n\t\tawait processTokensInfo(info, client, callback)\n\n\t}\n\telse if(!(\"code\" in fragment)) {\n\n\t\t// Redirect to login page\n\t\tconsole.log(\"'Code' not found in fragment. Redirecting to login page.\")\n\t\t// Generates PKCE keys\n\t\tconst pkce = await PKCE.getKeys()\n\t\t// Saves the application state\n\t\tconst stateId = crypto.randomUUID()\n\t\tconst state = {\n\t\t\tcodeVerifier: pkce.codeVerifier\n\t\t}\n\t\tsessionStorage.setItem(stateId, JSON.stringify(state))\n\t\t// Generates login URL\n\t\tvar url = client.getLoginUrl(redirectUri, pkce, {\n\t\t\tstate: stateId,\n\t\t\tresponse_type: \"code\",\n\t\t\tresponse_mode: \"fragment\",\n\t\t\tscope: \"openid\"\n\t\t})\n\t\t// Redirects\n\t\tlocation.href = url\n\n\t}\n\telse {\n\n\t\t// Using code\n\t\tconsole.log(\"'Code' found in fragment. Retrieving token information by 'code'.\")\n\t\t// Retrieves state information\n\t\tvar state = JSON.parse(sessionStorage.getItem(fragment.state))\n\t\t// Gets tokens information\n\t\tvar info = await client.getTokenInfoByCode(fragment.code, state.codeVerifier)\n\t\t// Clears state information\n\t\tsessionStorage.removeItem(fragment.state)\n\t\t// Clears URL fragment\n\t\tlocation.hash = \"#\"\n\t\tawait processTokensInfo(info, client, callback)\n\n\t}\n\n}\n\n\nasync function processTokensInfo(info, client, callback) {\n\tif(\"error\" in info) {\n\t\tconsole.error(\"Unable to process token info. Token won't be refreshed.\")\n\t\tconsole.error(info)\n\t}\n\telse {\n\t\t// Calculates token expiration\n\t\tvar expires = 1000 * (info.not_before + info.id_token_expires_in)\n\t\tconsole.log(\"Access token expires at \", expires)\n\t\tconsole.log(\"Access token expires in \", expires - Date.now())\n\t\t// Stores the refresh token\n\t\tawait ADB2C.persistence.saveRefreshToken(info.refresh_token, expires)\n\t\t// Set timeout to refresh the id_token one minute before it expires\n\t\twindow.setTimeout(async (client, refreshToken, callback) => {\n\t\t\tprocessTokensInfo(\n\t\t\t\tawait client.getTokenInfoByRefreshToken(refreshToken),\n\t\t\t\tclient,\n\t\t\t\tcallback\n\t\t\t)\n\t\t}, expires - Date.now() - 60000, client, info.refresh_token, callback)\n\t\t// Callback\n\t\tcallback(info.id_token, expires, JSON.parse(atob(info[\"profile_info\"])))\n\t}\n}\n\n\nexport const ADB2C = {\n\n\tpersistence : {\n\n\t\tasync getRefreshToken() {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(localStorage.getItem(ADB2C_STATE_KEY))\n\t\t\t}\n\t\t\tcatch(e) {\n\t\t\t\tconsole.debug(\"[AAD B2C] Refresh token not found in storage.\")\n\t\t\t\treturn null\n\t\t\t}\n\t\t},\n\n\t\tasync saveRefreshToken(refreshToken, expires) {\n\t\t\tlocalStorage.setItem(ADB2C_STATE_KEY, JSON.stringify({\n\t\t\t\t\"refreshToken\": refreshToken,\n\t\t\t\t\"expires\": expires\n\t\t\t}))\n\t\t},\n\n\t\tasync clear() {\n\t\t\tlocalStorage.removeItem(ADB2C_STATE_KEY)\n\t\t}\n\n\t}\n\n}","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ResponseModel } from '../models/response-model.type';\n\ninterface ICubeBaseEffects {\n handleError(error: HttpErrorResponse): Error;\n}\n\n@Injectable()\nexport class CubeBaseEffects implements ICubeBaseEffects {\n handleError(error: HttpErrorResponse): Error {\n return new Error((error.error as ResponseModel).error);\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { filter, map } from 'rxjs';\n\nimport { AppState } from './store/states/app.state';\nimport { Theme } from './models/core/theme.type';\nimport { selectTheme } from './store/selectors/system.selectors';\nimport { CubeLayoutModeHandlerDirective } from './directives/layout-mode-handler.directive';\nimport { NotificationHandlerDirective } from './directives/notification-handler.directive';\nimport { CubeTranslateDirective } from './directives/translate.directive';\nimport { TokenService } from './providers/services/token.service';\nimport { AuthActions } from './store/actions/auth.actions';\nimport { AuthenticationService } from './providers/services/authentication.service';\nimport { TokenDetails } from './models/auth/token-details.type';\nimport { concatLatestFrom } from '@ngrx/effects';\nimport { selectTokenDetails, selectUserTenants } from './store/selectors/auth.selectors';\n\n@Component({\n selector: 'cube-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n RouterOutlet,\n NotificationHandlerDirective,\n CubeTranslateDirective,\n CubeLayoutModeHandlerDirective,\n ],\n})\nexport class AppComponent {\n private readonly authService: AuthenticationService = inject(AuthenticationService);\n private readonly store: Store = inject(Store);\n private readonly tokenService: TokenService = inject(TokenService);\n isDarkTheme: boolean = false;\n themeClass: string = 'light-theme';\n\n constructor() {\n this.store.dispatch(AuthActions.login());\n \n this.authService.token.pipe(\n filter((token: string | undefined): token is string => !!token)).subscribe(token => {\n const uniqueId = this.tokenService.getUniqueId(token);\n this.store.dispatch(AuthActions.setTokenDetails({tokenDetails: {idToken: token, uniqueId} as TokenDetails}))})\n \n this.store\n .select(selectTheme)\n .pipe(\n // eslint-disable-next-line @ngrx/avoid-mapping-selectors\n map((theme: Theme): boolean => theme === 'dark'),\n takeUntilDestroyed()\n )\n .subscribe({\n next: (isDark: boolean) => {\n this.isDarkTheme = isDark;\n const newThemeClass: string = isDark ? 'dark-theme' : 'light-theme';\n\n const bodyElement = document.body;\n if (bodyElement) {\n bodyElement.classList.remove(this.themeClass);\n bodyElement.classList.add(newThemeClass);\n this.themeClass = newThemeClass;\n }\n },\n });\n this.store\n .select(selectTokenDetails)\n .pipe(\n filter((tokenDetails: TokenDetails | undefined): tokenDetails is TokenDetails => !!tokenDetails),\n concatLatestFrom(() => this.store.select(selectUserTenants)),\n takeUntilDestroyed()\n )\n .subscribe({\n next: ([tokenDetails, tenants]) => {\n if (!tenants.length) {\n this.store.dispatch(AuthActions.getUserTenants({ uniqueId: tokenDetails.uniqueId }));\n }\n },\n });\n }\n}\n","
\n
\n \n
\n
\n","import { ApplicationConfig, InjectionToken, LOCALE_ID, importProvidersFrom } from '@angular/core';\nimport { registerLocaleData } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport localeIt from '@angular/common/locales/it';\nimport { provideRouter, withComponentInputBinding, withViewTransitions } from '@angular/router';\nimport { provideAnimations } from '@angular/platform-browser/animations';\nimport { provideStore, StoreRootModule } from '@ngrx/store';\nimport { provideStoreDevtools } from '@ngrx/store-devtools';\nimport { EffectsRootModule, provideEffects } from '@ngrx/effects';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ROOT_INTERCEPTORS } from './app.interceptors';\nimport { ROUTES } from './app.routes';\n\nimport * as store from './store';\nimport * as translate from './configs/translate.config';\nimport { PowerBIFeatureModule } from './features/powerbi/powerbi.module';\n\nregisterLocaleData(localeIt);\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideHttpClient(withInterceptorsFromDi()),\n provideRouter(ROUTES, withComponentInputBinding(), withViewTransitions()),\n provideStore(store.reducers, { metaReducers: store.metaReducers }),\n provideStoreDevtools(store.devtoolsConfig),\n provideEffects(store.effects),\n provideAnimations(),\n importProvidersFrom(TranslateModule.forRoot(translate.config)),\n { provide: LOCALE_ID, useValue: 'it' },\n ...ROOT_INTERCEPTORS,\n ],\n};\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AzureTokenInterceptor } from './providers/interceptors/azure-token.interceptor';\nimport { LoadingInterceptor } from './providers/interceptors/loading.interceptor';\nimport { MetadataInterceptor } from './providers/interceptors/metadata.interceptor';\nimport { NotificationInterceptor } from './providers/interceptors/notification.interceptor';\n\nexport const ROOT_INTERCEPTORS = [\n { provide: HTTP_INTERCEPTORS, useClass: AzureTokenInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: MetadataInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: LoadingInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: NotificationInterceptor, multi: true },\n];\n","import { Routes } from '@angular/router';\n\nexport const ROUTES: Routes = [\n { path: '', redirectTo: 'inspection-reporting', pathMatch: 'full' },\n {\n path: 'inspection-reporting',\n loadChildren: () => import('./features/main/main.routes'),\n canActivate: [],\n },\n { path: '**', redirectTo: 'inspection-reporting/dashboard' },\n];\n","const solution = 'inspection-reporting';\nconst version = '1.3.0';\nconst snackbar_config = {\n snackbar_duration: 2000,\n snackbar_error_duration: 10000,\n};\nconst bypass_auth_token_resources = ['blob.core.windows.net', '/assets/i18n/', 'api.powerbi.com'];\n\nexport const GLOBAL_CONFIG = {\n solution,\n snackbar_config,\n bypass_auth_token_resources,\n version,\n};\n","import { HttpClient } from '@angular/common/http';\nimport { MissingTranslationHandler, MissingTranslationHandlerParams, TranslateLoader, TranslateModuleConfig } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nexport class CubeMissingTranslationHandler implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (params.interpolateParams as any)?.missing || 'Missing translation';\n }\n}\n\nexport function httpTranslateLoader(http: HttpClient) {\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\n}\n\nexport const config: TranslateModuleConfig = {\n defaultLanguage: 'en',\n loader: {\n provide: TranslateLoader,\n useFactory: httpTranslateLoader,\n deps: [HttpClient],\n },\n isolate: false,\n missingTranslationHandler: { provide: MissingTranslationHandler, useClass: CubeMissingTranslationHandler },\n};\n\nexport const locales: Array<{ code: string; label: string }> = [\n { code: 'it', label: 'Italiano' },\n { code: 'en', label: 'English' },\n];\n","/* eslint-disable @ngrx/no-typed-global-store */\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Directive, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Store } from '@ngrx/store';\nimport { delay, map } from 'rxjs';\n\nimport { SystemActions } from '../store/actions/system.actions';\nimport { AppState } from '../store/states/app.state';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: '[cubeLayoutModeHandler]', standalone: true })\nexport class CubeLayoutModeHandlerDirective {\n private readonly breakpointObserver = inject(BreakpointObserver);\n private readonly store: Store = inject(Store);\n\n constructor() {\n this.breakpointObserver\n .observe(['(max-width: 575.98px)'])\n .pipe(\n delay(1),\n map((res) => res.matches),\n takeUntilDestroyed()\n )\n .subscribe({\n next: (isResponsive: boolean): void => {\n const layoutMode = isResponsive ? 'responsive' : 'desktop';\n this.store.dispatch(SystemActions.setLayoutMode({ layoutMode }));\n },\n });\n }\n}\n","/* eslint-disable @ngrx/no-typed-global-store */\nimport { Directive } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { filter } from 'rxjs';\n\nimport { AppState } from '../store/states/app.state';\nimport { MessageType, SystemNotification } from '../models/core/system-notification.type';\nimport { selectNotification } from '../store/selectors/system.selectors';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\nimport { environment } from 'src/environments/environment';\nimport { SystemActions } from '../store/actions/system.actions';\n\n@Directive({ selector: '[cubeNotificationHandler]', standalone: true })\nexport class NotificationHandlerDirective {\n constructor(\n private readonly store: Store,\n private readonly router: Router,\n private readonly snackbar: MatSnackBar\n ) {\n this.store\n .select(selectNotification)\n .pipe(\n filter((notification: SystemNotification | undefined): notification is SystemNotification => !!notification),\n takeUntilDestroyed()\n )\n .subscribe({\n next: (notification: SystemNotification) => this.openNotificationSnackbar(notification),\n });\n\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n takeUntilDestroyed()\n )\n .subscribe({\n next: () => {\n this.store.dispatch(SystemActions.setNotification({ notification: undefined }));\n this.snackbar.dismiss();\n },\n });\n }\n\n private openNotificationSnackbar({ type, message }: SystemNotification): void {\n const snackBarConfig = this.snackBarConfig(type);\n this.snackbar.open(message, 'close', snackBarConfig);\n }\n\n private snackBarConfig(type: MessageType): MatSnackBarConfig {\n const snackBarConfig = new MatSnackBarConfig();\n const panelClass = ['snackBarMessage'];\n\n switch (type) {\n case MessageType.Info:\n snackBarConfig.duration = environment.snackbar_config.snackbar_duration;\n snackBarConfig.panelClass = [...panelClass, 'infoMessage'];\n break;\n case MessageType.Error:\n snackBarConfig.duration = environment.snackbar_config.snackbar_error_duration;\n snackBarConfig.panelClass = [...panelClass, 'errorMessage'];\n break;\n }\n\n return snackBarConfig;\n }\n}\n","/* eslint-disable @ngrx/no-typed-global-store */\nimport { Directive } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Store } from '@ngrx/store';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { SystemActions } from '../store/actions/system.actions';\nimport { LanguageOption } from '../models/core/language-option.type';\nimport { selectCurrentLang } from '../store/selectors/system.selectors';\nimport { AppState } from '../store/states/app.state';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: '[cubeTranslate]', standalone: true })\nexport class CubeTranslateDirective {\n constructor(\n private readonly translateService: TranslateService,\n private readonly store: Store\n ) {\n const browserLang = this.translateService.getBrowserLang();\n const currentLang: LanguageOption = browserLang === 'it' ? 'it' : 'en';\n this.store.dispatch(SystemActions.setCurrentLang({ currentLang }));\n\n this.store\n .select(selectCurrentLang)\n .pipe(takeUntilDestroyed())\n .subscribe({\n next: (language: LanguageOption) => this.translateService.use(language),\n });\n }\n}\n","export type SystemNotification = {\n type: MessageType;\n message: string;\n};\n\nexport enum MessageType {\n Info,\n Error,\n}\n","/* eslint-disable @ngrx/no-typed-global-store */\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpStatusCode } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { catchError, filter, map, Observable, of, switchMap, take, throwError } from 'rxjs';\n\nimport { AuthenticationService } from '../services/authentication.service';\nimport { AppState } from 'src/app/store/states/app.state';\nimport { Store } from '@ngrx/store';\n\n@Injectable()\nexport class AzureTokenInterceptor implements HttpInterceptor {\n readonly authService: AuthenticationService = inject(AuthenticationService);\n readonly #store: Store = inject(Store);\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n return this.authService.token.pipe(\n filter((token: string | undefined): token is string => !!token),\n map((token: string) => ({\n token,\n appendToken: this.authService.resourceNeedsToken(req.url)\n })),\n switchMap(({ token, appendToken }) => {\n const clonedReq =\n token && appendToken\n ? req.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n })\n : req;\n\n return next.handle(clonedReq);\n })\n );\n }\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { finalize, Observable } from 'rxjs';\nimport { SystemActions } from 'src/app/store/actions/system.actions';\n\n@Injectable()\nexport class LoadingInterceptor implements HttpInterceptor {\n counter = 0;\n\n constructor(private readonly store: Store) {}\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n if (!this.counter) {\n this.store.dispatch(SystemActions.startLoading());\n }\n\n this.counter++;\n\n return next.handle(req).pipe(\n finalize(() => {\n this.counter--;\n\n if (!this.counter) {\n this.store.dispatch(SystemActions.stopLoading());\n }\n })\n );\n }\n}\n","import { HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable()\nexport class MetadataInterceptor implements HttpInterceptor {\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const active_tenant = localStorage.getItem(`${environment.localStorageKeyPrefix}_tenant`);\n const excludedResources: Array = ['https://name-of-azure-storage.blob.core.windows.net', 'https://api.powerbi.com'];\n let headers: HttpHeaders = req.headers;\n\n if (!excludedResources.some((res) => req.url.includes(res))) {\n headers = req.headers.append('x-solution', environment.solution);\n\n if (active_tenant) {\n headers = headers.append('x-company', active_tenant);\n }\n }\n\n const clonedReq = req.clone({ headers });\n\n return next.handle(clonedReq);\n }\n}\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n HttpStatusCode,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { catchError, Observable, tap, throwError } from 'rxjs';\nimport { MessageType } from 'src/app/models/core/system-notification.type';\nimport { ResponseModel } from 'src/app/models/response-model.type';\nimport { SystemActions } from 'src/app/store/actions/system.actions';\n\n@Injectable()\nexport class NotificationInterceptor implements HttpInterceptor {\n constructor(private readonly store: Store) {}\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(req).pipe(\n tap((response: HttpEvent) => {\n const res: HttpResponse> = response as HttpResponse>;\n if (res.body?.message) {\n this.store.dispatch(SystemActions.setNotification({ notification: { type: MessageType.Info, message: res.body.message } }));\n }\n }),\n catchError((response: HttpErrorResponse) => {\n if (!req.url.includes('assets/i18n')) {\n let message = '';\n\n if (req.url.includes('blob.core.windows.net') && response.status === HttpStatusCode.NotFound) {\n message = response.statusText;\n }\n\n if (response.error?.error) {\n if (typeof response.error?.error === 'string') {\n message = response.error.error;\n } else {\n // temporary fix\n message = response.error.error.error_message ?? '';\n }\n }\n\n this.store.dispatch(SystemActions.setNotification({ notification: { type: MessageType.Error, message } }));\n }\n\n return throwError(() => response);\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'truncateFileUrl', standalone: true })\nexport class TruncateFileUrlPipe implements PipeTransform {\n transform(value: string) {\n return value.split('/').at(-1)?.split('?').at(0);\n }\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ProfileRole, ProfileFeature, Tenant } from 'src/app/models/auth/admin-tool.type';\nimport { environment } from 'src/environments/environment';\nimport { CubeAuth } from '../../../modules/CubeAuth';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthenticationService {\n token: BehaviorSubject = new BehaviorSubject(undefined);\n profile: BehaviorSubject = new BehaviorSubject(undefined);\n\n constructor(\n private readonly http: HttpClient\n ) {}\n\n tenants(uniqueId: string): Observable> {\n return this.http.get>(`${environment.admin_tool_url}/users/${uniqueId}/solutions/${environment.solution}/tenants`);\n }\n\n roles(uniqueId: string, tenant: string): Observable> {\n return this.http.get>(\n `${environment.admin_tool_url}/tenants/${tenant}/users/${uniqueId}/platforms/CUBE/solutions/${environment.solution}/roles`\n );\n }\n\n features(role: string, tenant: string): Observable> {\n return this.http.get>(\n `${environment.admin_tool_url}/tenants/${tenant}/roles/${role}/platforms/CUBE/solutions/${environment.solution}/features`\n );\n }\n\n login() {\n CubeAuth.enableADB2C(\n environment.b2cPolicies.tenant,\n environment.b2cPolicies.clientId,\n environment.b2cPolicies.names.signUpSignIn,\n environment.b2cPolicies.redirectUri,\n environment.b2cPolicies.baseUrl\n );\n CubeAuth.setLogutRedirectUri(environment.b2cPolicies.postLogoutRedirectUri);\n\n CubeAuth.onADB2CNewToken = (idToken: any, expires: any, profileInfo: any) => {\n this.token.next(idToken);\n this.profile.next(profileInfo.name);\n };\n\n CubeAuth.auth();\n }\n\n logout() {\n CubeAuth.logout();\n this.profile.next(undefined);\n this.token.next(undefined);\n }\n\n checkAndSetActiveAccount() {\n /**\n * If no active account set but there are accounts signed in, sets first account to active account\n * To use active account set here, subscribe to inProgress$ first in your component\n * Note: Basic usage demonstrated. Your app may require more complicated account selection logic\n */\n }\n\n\n resourceNeedsToken(request_url: string): boolean {\n return environment.bypass_auth_token_resources.every((resource) => !request_url.includes(resource));\n }\n\n cloneRequest(req: HttpRequest, idToken: string, append_token: boolean): HttpRequest {\n if (append_token) {\n const clonedReq = req.clone({\n setHeaders: {\n Authorization: `Bearer ${idToken}`,\n },\n });\n\n return clonedReq;\n } else {\n return req;\n }\n }\n}\n","import { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ResponseModel } from 'src/app/models/response-model.type';\nimport { environment } from 'src/environments/environment';\nimport { TruncateFileUrlPipe } from '../pipes/truncate-file-url.pipe';\n\n@Injectable({ providedIn: 'root' })\nexport class FileService {\n constructor(private readonly http: HttpClient) {}\n\n retrieveUrlSASToken(url: string): Observable> {\n const params: HttpParams = new HttpParams().appendAll({ url: encodeURIComponent(encodeURIComponent(url)) });\n return this.http.get>(`${environment.api_url}/OfflineFilesManagerHttpTrigger/file`, { params });\n }\n\n downloadZIP(id: string, resource: string): Observable> {\n const params: HttpParams = new HttpParams().appendAll({ id, resource });\n return this.http.get>(`${environment.api_url}/OfflineFilesManagerHttpTrigger/zip`, { params });\n }\n\n downloadFromUrl(url: string): Observable> {\n return this.http.get(url, { responseType: 'blob', observe: 'response' });\n }\n\n handleDownload(response: HttpResponse) {\n if (response.body) {\n const link = document.createElement('a');\n link.href = window.URL.createObjectURL(response.body);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n link.download = this.getFilename(response);\n link.click();\n }\n }\n\n private getFilename(response: HttpResponse): string {\n if (response.body?.type === 'application/zip') {\n return 'attachments.zip';\n } else {\n const truncate_pipe = new TruncateFileUrlPipe();\n const filename = response.url?.includes('?')\n ? response.url?.split('?').at(0)?.split('/').at(-1)\n : truncate_pipe.transform(response.url || '');\n return filename || '';\n }\n }\n}\n","\nimport { Injectable } from '@angular/core';\nimport {jwtDecode} from 'jwt-decode';\n\ninterface DecodedToken {\n oid?: string; // Object ID\n sub?: string; // Subject\n [key: string]: any;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n\n constructor() { }\n\n decodeToken(token: string): DecodedToken | null {\n try {\n return jwtDecode(token);\n } catch (error) {\n console.error('Error decoding token:', error);\n return null;\n }\n }\n\n getUniqueId(token: string): string {\n const decodedToken = this.decodeToken(token);\n if (decodedToken) {\n return decodedToken.oid || decodedToken.sub || '';\n }\n return '';\n }\n}","import { HttpErrorResponse } from '@angular/common/http';\nimport { createActionGroup, emptyProps, props } from '@ngrx/store';\nimport { ProfileFeature, ProfileRole, Tenant } from 'src/app/models/auth/admin-tool.type';\nimport { TokenDetails } from 'src/app/models/auth/token-details.type';\n\nexport const AuthActions = createActionGroup({\n source: 'auth',\n events: {\n RedirectToGateway: emptyProps(),\n logout: emptyProps(),\n Login: emptyProps(),\n LoginSuccess:props<{ tokenDetails: TokenDetails }>(),\n setActiveAccount: emptyProps(),\n setTokenDetails: props<{ tokenDetails: TokenDetails }>(),\n GetUserTenants: props<{ uniqueId: string }>(),\n GetUserTenantsSuccess: props<{ uniqueId: string; tenants: Array }>(),\n GetUserTenantsFailure: props<{ error: HttpErrorResponse }>(),\n GetUserRoles: props<{ uniqueId: string; tenant: string }>(),\n GetUserRolesSuccess: props<{ roles: Array; tenant: string }>(),\n GetUserRolesFailure: props<{ error: HttpErrorResponse }>(),\n GetUserFeatures: props<{ role: string; tenant: string }>(),\n GetUserFeaturesSuccess: props<{ features: Array }>(),\n GetUserFeaturesFailure: props<{ error: HttpErrorResponse }>(),\n setActiveRole: props<{ active_role: ProfileRole }>(),\n setActiveTenant: props<{ active_tenant: Tenant }>(),\n },\n});\n","import { HttpResponse } from '@angular/common/http';\nimport { createActionGroup, props } from '@ngrx/store';\n\nexport const FileActions = createActionGroup({\n source: 'File',\n events: {\n RetrieveSASTokenUrl: props<{ url: string }>(),\n RetrieveSASTokenUrlSuccess: props<{ url: string }>(),\n RetrieveSASTokenUrlFailure: props<{ error: Error }>(),\n RetrieveZIPUrl: props<{ resource: string; id: string }>(),\n RetrieveZIPUrlSuccess: props<{ url: string }>(),\n RetrieveZIPUrlFailure: props<{ error: Error }>(),\n DownloadFromUrl: props<{ url: string }>(),\n DownloadFromUrlSuccess: props<{ response: HttpResponse }>(),\n DownloadFromUrlFailure: props<{ error: Error }>(),\n },\n});\n","import { NavigationBehaviorOptions } from '@angular/router';\nimport { createActionGroup, props, emptyProps } from '@ngrx/store';\nimport { LanguageOption } from 'src/app/models/core/language-option.type';\nimport { LayoutMode } from 'src/app/models/core/layout-mode.type';\nimport { SystemNotification } from 'src/app/models/core/system-notification.type';\nimport { Theme } from 'src/app/models/core/theme.type';\n\nexport const SystemActions = createActionGroup({\n source: 'System',\n events: {\n OpenPage: props<{ url: string; target?: string }>(),\n Redirect: props<{ url: string; extras?: NavigationBehaviorOptions }>(),\n RedirectToCourtesyPage: emptyProps(),\n RedirectToHomePage: emptyProps(),\n SetCurrentLang: props<{ currentLang: LanguageOption }>(),\n SetLayoutMode: props<{ layoutMode: LayoutMode }>(),\n SetNotification: props<{ notification: SystemNotification | undefined }>(),\n SetTheme: props<{ theme: Theme }>(),\n ChangeTheme: emptyProps(),\n StartLoading: emptyProps(),\n StopLoading: emptyProps(),\n },\n});\n","/* eslint-disable @ngrx/no-typed-global-store */\n/* eslint-disable @ngrx/no-multiple-actions-in-effects */\nimport { HttpErrorResponse, HttpStatusCode } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Actions, concatLatestFrom, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { catchError, delay, switchMap, map, of, tap } from 'rxjs';\n\nimport { AuthenticationService } from 'src/app/providers/services/authentication.service';\nimport { AuthActions } from '../actions/auth.actions';\nimport { ProfileFeature, Tenant } from 'src/app/models/auth/admin-tool.type';\nimport { SystemActions } from '../actions/system.actions';\nimport { selectActiveTenant, selectTokenDetails } from '../selectors/auth.selectors';\nimport { AppState } from '../states/app.state';\nimport { ProfileRole } from 'src/app/models/auth/admin-tool.type';\nimport { environment } from 'src/environments/environment';\nimport { TokenDetails } from 'src/app/models/auth/token-details.type';\n\n@Injectable()\nexport class AuthEffects {\n private readonly authService: AuthenticationService = inject(AuthenticationService);\n private readonly actions$: Actions = inject(Actions);\n private readonly store: Store = inject(Store);\n\n redirectToGateway$ = createEffect(\n () => {\n return this.actions$.pipe(\n ofType(AuthActions.redirectToGateway),\n tap(() => this.authService.login())\n );\n },\n { dispatch: false }\n );\n\n changeActiveTenant$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(AuthActions.setActiveTenant),\n tap(({ active_tenant }) => localStorage.setItem(`${environment.localStorageKeyPrefix}_tenant`, active_tenant.name)),\n concatLatestFrom(() => this.store.select(selectTokenDetails)),\n map(([{ active_tenant }, tokenDetails]) =>\n AuthActions.getUserRoles({ uniqueId: tokenDetails?.uniqueId ?? '', tenant: active_tenant.name })\n )\n );\n });\n\n changeActiveRole$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(AuthActions.setActiveRole),\n concatLatestFrom(() => this.store.select(selectActiveTenant)),\n map(([{ active_role }, tenant]) => AuthActions.getUserFeatures({ role: active_role.name, tenant }))\n );\n });\n\n userTenants$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(AuthActions.getUserTenants),\n switchMap(({ uniqueId }) =>\n this.authService.tenants(uniqueId).pipe(\n switchMap((tenants: Array) => {\n if (tenants.length) {\n const current_tenant: string | null = localStorage.getItem(`${environment.localStorageKeyPrefix}_tenant`);\n const active_tenant: Tenant = current_tenant ? { name: current_tenant, info: '' } : tenants[0];\n return [AuthActions.getUserTenantsSuccess({ uniqueId, tenants }), AuthActions.setActiveTenant({ active_tenant })];\n } else {\n return [AuthActions.setTokenDetails({ tokenDetails: {} }), SystemActions.redirectToCourtesyPage()];\n }\n }),\n catchError((error: HttpErrorResponse) => of(AuthActions.getUserTenantsFailure({ error })))\n )\n )\n );\n });\n\n userTenantsFailed$ = createEffect(\n () => {\n return this.actions$.pipe(\n ofType(AuthActions.getUserTenantsFailure, AuthActions.getUserRolesFailure),\n tap(({ error }) => {\n if (error.status === HttpStatusCode.NotFound) {\n // eslint-disable-next-line @ngrx/no-dispatch-in-effects\n this.store.dispatch(SystemActions.redirectToCourtesyPage());\n }\n })\n );\n },\n { dispatch: false }\n );\n\n userRoles$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(AuthActions.getUserRoles),\n delay(200),\n switchMap(({ uniqueId, tenant }) =>\n this.authService.roles(uniqueId, tenant).pipe(\n map((roles: Array) => {\n if (roles.length) {\n return AuthActions.getUserRolesSuccess({ roles, tenant });\n } else {\n return SystemActions.redirectToCourtesyPage();\n }\n }),\n catchError((error: HttpErrorResponse) => of(AuthActions.getUserRolesFailure({ error })))\n )\n )\n );\n });\n\n userRolesSuccess$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(AuthActions.getUserRolesSuccess),\n map(({ roles, tenant }) => AuthActions.getUserFeatures({ role: roles.at(0)?.name ?? '', tenant }))\n );\n });\n\n userFeatures$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(AuthActions.getUserFeatures),\n switchMap(({ role, tenant }) =>\n this.authService.features(role, tenant).pipe(\n map((features: Array) => {\n if (features.length) {\n return AuthActions.getUserFeaturesSuccess({ features });\n } else {\n return SystemActions.redirectToCourtesyPage();\n }\n }),\n catchError((error: HttpErrorResponse) => of(AuthActions.getUserFeaturesFailure({ error })))\n )\n )\n );\n });\n\n setActiveAccount$ = createEffect(\n () => {\n return this.actions$.pipe(\n ofType(AuthActions.setActiveAccount),\n tap(() => this.authService.checkAndSetActiveAccount())\n );\n },\n { dispatch: false }\n );\n\n login$ = createEffect(\n () => {\n return this.actions$.pipe(\n ofType(AuthActions.login),\n tap(() => this.authService.login())\n \n );\n },\n { dispatch: false }\n \n );\n\n logout$ = createEffect(\n () => {\n return this.actions$.pipe(\n ofType(AuthActions.logout),\n tap(() => this.authService.logout())\n );\n },\n { dispatch: false }\n );\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { FileService } from 'src/app/providers/services/file.service';\nimport { FileActions } from '../actions/file.actions';\nimport { catchError, map, of, switchMap, tap } from 'rxjs';\nimport { HttpErrorResponse, HttpResponse } from '@angular/common/http';\nimport { CubeBaseEffects } from 'src/app/abstractions/cube-base-effects.service';\n\n@Injectable()\nexport class FileEffects extends CubeBaseEffects {\n constructor(\n private readonly fileService: FileService,\n private readonly actions$: Actions\n ) {\n super();\n }\n\n retrieveFileSASToken$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(FileActions.retrieveSASTokenUrl),\n switchMap(({ url }) =>\n this.fileService.retrieveUrlSASToken(url).pipe(\n map(({ data }) => FileActions.retrieveSASTokenUrlSuccess({ url: data })),\n catchError((error: HttpErrorResponse) => of(FileActions.retrieveSASTokenUrlFailure({ error: this.handleError(error) })))\n )\n )\n );\n });\n\n retrieveZIPUrl$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(FileActions.retrieveZIPUrl),\n switchMap(({ id, resource }) =>\n this.fileService.downloadZIP(id, resource).pipe(\n map(({ data }) => FileActions.retrieveZIPUrlSuccess({ url: data })),\n catchError((error: HttpErrorResponse) => of(FileActions.retrieveZIPUrlFailure({ error: this.handleError(error) })))\n )\n )\n );\n });\n\n urlToFileDownload$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(FileActions.retrieveSASTokenUrlSuccess, FileActions.retrieveZIPUrlSuccess),\n map(({ url }) => FileActions.downloadFromUrl({ url }))\n );\n });\n\n downloadFromUrl$ = createEffect(() => {\n return this.actions$.pipe(\n ofType(FileActions.downloadFromUrl),\n switchMap(({ url }) =>\n this.fileService.downloadFromUrl(url).pipe(\n map((response: HttpResponse) => FileActions.downloadFromUrlSuccess({ response })),\n catchError((error: HttpErrorResponse) => of(FileActions.downloadFromUrlFailure({ error: this.handleError(error) })))\n )\n )\n );\n });\n\n downloadFromUrlSuccess$ = createEffect(\n () => {\n return this.actions$.pipe(\n ofType(FileActions.downloadFromUrlSuccess),\n tap(({ response }) => this.fileService.handleDownload(response))\n );\n },\n { dispatch: false }\n );\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { tap } from 'rxjs';\nimport { FileService } from 'src/app/providers/services/file.service';\nimport { SystemActions } from '../actions/system.actions';\nimport { environment } from 'src/environments/environment';\n\n@Injectable()\nexport class SystemEffects {\n constructor(\n private readonly actions: Actions,\n private readonly router: Router,\n private readonly fileService: FileService\n ) {}\n\n redirect$ = createEffect(\n () => {\n return this.actions.pipe(\n ofType(SystemActions.redirect),\n tap(({ url, extras }) => this.router.navigateByUrl(url, extras))\n );\n },\n { dispatch: false }\n );\n\n redirectToCourtesyPage$ = createEffect(\n () => {\n return this.actions.pipe(\n ofType(SystemActions.redirectToCourtesyPage),\n tap(() => {\n sessionStorage.clear();\n localStorage.clear();\n window.location.href = environment.b2cPolicies.redirectCourtesyPageUri;\n })\n );\n },\n { dispatch: false }\n );\n\n redirectToHomePage$ = createEffect(\n () => {\n return this.actions.pipe(\n ofType(SystemActions.redirectToHomePage),\n tap(() => this.router.navigateByUrl('inspection-reporting/dashboard'))\n );\n },\n { dispatch: false }\n );\n\n openPage$ = createEffect(\n () => {\n return this.actions.pipe(\n ofType(SystemActions.openPage),\n tap(({ url, target }) => window.open(url, target))\n );\n },\n { dispatch: false }\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Type } from '@angular/core';\nimport { ActionReducer, ActionReducerMap, MetaReducer, RuntimeChecks } from '@ngrx/store';\nimport { StoreDevtoolsConfig } from '@ngrx/store-devtools';\nimport { localStorageSync, LocalStorageConfig } from 'ngrx-store-localstorage';\n\nimport { environment } from 'src/environments/environment';\nimport { AuthEffects } from './effects/auth.effects';\nimport { FileEffects } from './effects/file.effects';\nimport { SystemEffects } from './effects/system.effects';\nimport { authReducers } from './reducers/auth.reducers';\nimport { systemReducers } from './reducers/system.reducers';\nimport { AppState } from './states/app.state';\n\nexport const reducers: ActionReducerMap = {\n auth: authReducers,\n system: systemReducers,\n};\n\nexport const effects: Array> = [AuthEffects, FileEffects, SystemEffects];\n\nexport const runtimeChecks: RuntimeChecks = {\n strictActionImmutability: true,\n strictActionSerializability: true,\n strictActionWithinNgZone: true,\n strictStateImmutability: true,\n strictStateSerializability: true,\n strictActionTypeUniqueness: true,\n};\n\nexport const devtoolsConfig: StoreDevtoolsConfig = {\n maxAge: 25,\n logOnly: environment.production,\n};\n\nfunction localStorageSyncReducer(reducer: ActionReducer): ActionReducer {\n return localStorageSync(localStorageConfig)(reducer);\n}\n\nconst localStorageConfig: LocalStorageConfig = {\n keys: ['auth', { system: ['theme'] }],\n rehydrate: true,\n storageKeySerializer: (key: string) => `${environment.localStorageKeyPrefix}_${key}`,\n};\n\nexport const metaReducers: Array> = [localStorageSyncReducer];\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { createReducer, on } from '@ngrx/store';\nimport { AuthActions } from '../actions/auth.actions';\nimport { AuthState } from '../states/auth.state';\nimport { User } from 'src/app/models/auth/admin-tool.type';\nimport { jwtDecode } from 'jwt-decode';\n\nconst INIT_STATE: AuthState = {\n tokenDetails: undefined,\n user: undefined,\n};\n\nexport const authReducers = createReducer(\n INIT_STATE,\n on(\n AuthActions.getUserTenantsSuccess,\n (state: AuthState, { tenants }): AuthState => ({\n ...state,\n user: {\n ...(state.user as User),\n tenants,\n active_tenant: tenants.find((tenant) => tenant.name !== 'root')!,\n },\n })\n ),\n on(\n AuthActions.getUserRolesSuccess,\n (state: AuthState, { roles }): AuthState => ({\n ...state,\n user: {\n ...(state.user as User),\n roles,\n active_role: roles.at(0)!,\n },\n })\n ),\n on(\n AuthActions.getUserFeaturesSuccess,\n (state: AuthState, { features }): AuthState => ({\n ...state,\n user: {\n ...(state.user as User),\n features,\n },\n })\n ),\n on(AuthActions.setTokenDetails, (state: AuthState, { tokenDetails }): AuthState => {\n const given_name = (jwtDecode(tokenDetails.idToken) as { name: string }).name;\n const auth = { tokenDetails, user: { ...state.user, given_name } as User };\n return { ...state, ...auth };\n }),\n on(\n AuthActions.setActiveTenant,\n (state: AuthState, { active_tenant }): AuthState => ({\n ...state,\n user: {\n ...(state.user as User),\n active_tenant,\n },\n })\n ),\n on(\n AuthActions.setActiveRole,\n (state: AuthState, { active_role }): AuthState => ({\n ...state,\n user: {\n ...(state.user as User),\n active_role,\n },\n })\n ),\n on(AuthActions.logout, (state: AuthState): AuthState => ({ ...state, tokenDetails: undefined, user: undefined }))\n);\n","import { createReducer, on } from '@ngrx/store';\nimport { SystemActions } from '../actions/system.actions';\nimport { SystemState } from '../states/system.state';\n\nconst INIT_STATE: SystemState = {\n currentLang: 'it',\n layoutMode: 'desktop',\n loading: false,\n notification: undefined,\n theme: 'dark',\n};\n\nexport const systemReducers = createReducer(\n INIT_STATE,\n on(SystemActions.setCurrentLang, (state: SystemState, { currentLang }): SystemState => ({ ...state, currentLang })),\n on(SystemActions.setLayoutMode, (state: SystemState, { layoutMode }): SystemState => ({ ...state, layoutMode })),\n on(SystemActions.setNotification, (state: SystemState, { notification }): SystemState => ({ ...state, notification })),\n on(SystemActions.setTheme, (state: SystemState, { theme }): SystemState => ({ ...state, theme })),\n on(SystemActions.changeTheme, (state: SystemState): SystemState => ({ ...state, theme: state.theme === 'dark' ? 'light' : 'dark' })),\n on(SystemActions.startLoading, (state: SystemState): SystemState => ({ ...state, loading: true })),\n on(SystemActions.stopLoading, (state: SystemState): SystemState => ({ ...state, loading: false }))\n);\n","import { createSelector } from '@ngrx/store';\nimport { TokenDetails } from 'src/app/models/auth/token-details.type';\nimport { AppState } from '../states/app.state';\nimport { AuthState } from '../states/auth.state';\nimport { Tenant, User } from 'src/app/models/auth/admin-tool.type';\n\nconst authState = (state: AppState): AuthState => state.auth;\nexport const selectTokenDetails = createSelector(authState, (state: AuthState): TokenDetails | undefined => state.tokenDetails);\nexport const selectUserDetails = createSelector(authState, (state: AuthState): User | undefined => state.user);\nexport const selectUserTenants = createSelector(authState, (state: AuthState): Array => state.user?.tenants ?? new Array());\nexport const selectActiveTenant = createSelector(selectUserDetails, (state: User | undefined): string => state?.active_tenant?.name ?? '');\n","import { createSelector } from '@ngrx/store';\nimport { LayoutMode } from 'src/app/models/core/layout-mode.type';\nimport { SystemNotification } from 'src/app/models/core/system-notification.type';\nimport { Theme } from 'src/app/models/core/theme.type';\nimport { AppState } from '../states/app.state';\nimport { SystemState } from '../states/system.state';\nimport { LanguageOption } from 'src/app/models/core/language-option.type';\n\nconst systemState = (state: AppState): SystemState => state.system;\nexport const selectCurrentLang = createSelector(systemState, (state: SystemState): LanguageOption => state.currentLang);\nexport const selectLayoutMode = createSelector(systemState, (state: SystemState): LayoutMode => state.layoutMode);\nexport const selectLoading = createSelector(systemState, (state: SystemState): boolean => state.loading);\nexport const selectNotification = createSelector(systemState, (state: SystemState): SystemNotification | undefined => state.notification);\nexport const selectTheme = createSelector(systemState, (state: SystemState): Theme => state.theme);\n","import { GLOBAL_CONFIG } from 'src/app/configs/global.config';\n\nexport const environment = {\n production: false,\n api_url: 'https://gw-dev.cube.rina.org/inspection-reporting',\n admin_tool_url: 'https://gw-dev.cube.rina.org/admin-tool',\n ...GLOBAL_CONFIG,\n powerbi: {\n groupId: '767f863f-1f1c-42b7-8374-f3faa73cc104',\n reportId: '00449104-805f-4457-8ddf-0472a4c8a688',\n pageNameDashboard: 'a5b009c9054e02db83c4',\n pageNameAvanzamentiComplessivi: 'ReportSection64e0a05dab4a9444da42',\n pageNameAvanzamentiVisivi: '283ef95db0d2e41a989d',\n pageNameAvanzamentiStrumentali: '081aa26d8201719a8c0c',\n pageNameIncidenzaDifetti: 'ReportSection376dd2ec3a9a4067489a',\n pageNameAnalisiDifetti: 'c8c689d512960238622f',\n pageNameElencoDispositivi: '232fb4f43311c0a5a9bd',\n },\n b2cPolicies: {\n baseUrl : 'https://test-login.rina.org/rinagroupb2cdevl.onmicrosoft.com/b2c_1a_signup_signin/oauth2/v2.0/',\n tenant : 'rinagroupb2cdevl',\n clientId: '985bb9e1-aadc-4aab-8777-40b8a7163846',\n tenantId: 'c7788286-49f4-40db-bf26-fc1c677df787',\n redirectUri: 'https://inspection-reporting-dev.cube.rina.org',\n redirectCourtesyPageUri: 'https://www.rina.org/',\n postLogoutRedirectUri: 'https://www.rina.org/',\n names: {\n signUpSignIn: 'B2C_1A_SIGNUP_SIGNIN',\n resetPassword: 'B2C_1A_PASSWORDRESET',\n },\n authorities: {\n signUpSignIn: {\n authority: 'https://test-login.rina.org/rinagroupb2cdevl.onmicrosoft.com/B2C_1A_SIGNUP_SIGNIN',\n },\n resetPassword: {\n authority: 'https://test-login.rina.org/rinagroupb2cdevl.onmicrosoft.com/B2C_1A_PASSWORDRESET',\n },\n editProfile: {\n authority: 'https://test-login.rina.org/rinagroupb2cdevl.onmicrosoft.com/B2C_1A_PROFILEEDIT',\n },\n },\n domain: 'https://test-login.rina.org/',\n subdomain: 'rinagroupb2cdevl.onmicrosoft.com',\n authorityDomain: 'https://test-login.rina.org/rinagroupb2cdevl.onmicrosoft.com',\n },\n localStorageKeyPrefix: 'cube-mt-dev',\n};\n","import { bootstrapApplication } from '@angular/platform-browser';\nimport { AppComponent } from './app/app.component';\nimport { appConfig } from './app/app.config';\n\nbootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));\n"],"names":["ADB2CClient","executeFlow","parseFragment","ADB2C","HASH_KEY_ADT_TOKEN","HASH_KEY_B2C_ID_TOKEN","CubeAuth","adtTokenEnabled","adb2cEnabled","adb2cClient","undefined","adb2cRedirectUri","adb2cCurrentIdToken","logoutRedirectUri","credentialsReadyFlag","onCredentialsReadyCallbacks","onADB2CNewTokenCallbacks","enableAdTTokens","enableADB2C","tenantId","clientId","policy","redirectUri","baseUrl","setLogutRedirectUri","uri","onCredentialsReady","f","push","onADB2CNewToken","_credentialsReady","authType","authToken","console","debug","callback","_ADB2CNewToken","idToken","expires","profileInfo","auth","q","bind","Error","logout","_this","_asyncToGenerator","redirectUrl","persistence","clear","getLogoutUrl","location","href","PKCE","constructor","verifier","getCodeVerifier","getPlainCodeChallenge","getCodeChallenge","msgBuffer","TextEncoder","encode","hashBuffer","crypto","subtle","digest","base64URLEncode","arraybufferToString","build","buildVerifier","length","Math","floor","random","array","Uint8Array","randomBytes","window","getRandomValues","randomSymbols","toString","slice","str","btoa","replace","u8array","t","output","i","eval","verify","challenge","method","_this2","getKeys","_this3","obj","pkce","e","warn","mergeQuery","query","key","Object","keys","encodeURIComponent","tenant","authAPI","tokenAPI","id_token","post_logout_redirect_uri","id_token_hint","getLoginUrl","options","client_id","redirect_uri","code_challenge","codeChallenge","code_challenge_method","codeChallengeMethod","response_type","responseType","response_mode","responseMode","scope","state","getTokenInfoByRefreshToken","refreshToken","_this4","r","fetch","headers","body","grant_type","refresh_token","json","getTokenInfoByCode","code","codeVerifier","_this5","code_verifier","ADB2C_STATE_KEY","p","document","hash","split","_x","_x2","_x3","_executeFlow","apply","arguments","client","fragment","token","getRefreshToken","error","log","Date","now","info","processTokensInfo","stateId","randomUUID","sessionStorage","setItem","JSON","stringify","url","parse","getItem","removeItem","_x4","_x5","_x6","_processTokensInfo","not_before","id_token_expires_in","saveRefreshToken","setTimeout","_ref","_x7","_x8","_x9","atob","localStorage","CubeBaseEffects","handleError","_","_2","factory","ɵfac","inject","takeUntilDestroyed","CommonModule","RouterOutlet","Store","filter","map","selectTheme","CubeLayoutModeHandlerDirective","NotificationHandlerDirective","CubeTranslateDirective","TokenService","AuthActions","AuthenticationService","concatLatestFrom","selectTokenDetails","selectUserTenants","AppComponent","authService","store","tokenService","isDarkTheme","themeClass","dispatch","login","pipe","subscribe","uniqueId","getUniqueId","setTokenDetails","tokenDetails","select","theme","next","isDark","newThemeClass","bodyElement","classList","remove","add","tenants","getUserTenants","selectors","standalone","features","i0","ɵɵStandaloneFeature","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","styles","LOCALE_ID","importProvidersFrom","registerLocaleData","provideHttpClient","withInterceptorsFromDi","localeIt","provideRouter","withComponentInputBinding","withViewTransitions","provideAnimations","provideStore","provideStoreDevtools","provideEffects","TranslateModule","ROOT_INTERCEPTORS","ROUTES","translate","appConfig","providers","reducers","metaReducers","devtoolsConfig","effects","forRoot","config","provide","useValue","HTTP_INTERCEPTORS","AzureTokenInterceptor","LoadingInterceptor","MetadataInterceptor","NotificationInterceptor","useClass","multi","path","redirectTo","pathMatch","loadChildren","canActivate","solution","version","snackbar_config","snackbar_duration","snackbar_error_duration","bypass_auth_token_resources","GLOBAL_CONFIG","HttpClient","MissingTranslationHandler","TranslateLoader","TranslateHttpLoader","CubeMissingTranslationHandler","handle","params","interpolateParams","missing","httpTranslateLoader","http","defaultLanguage","loader","useFactory","deps","isolate","missingTranslationHandler","locales","label","BreakpointObserver","delay","SystemActions","breakpointObserver","observe","res","matches","isResponsive","layoutMode","setLayoutMode","NavigationEnd","MessageType","selectNotification","MatSnackBarConfig","environment","router","snackbar","notification","openNotificationSnackbar","events","event","setNotification","dismiss","type","message","snackBarConfig","open","panelClass","Info","duration","ɵɵdirectiveInject","i1","i2","Router","i3","MatSnackBar","selectCurrentLang","translateService","browserLang","getBrowserLang","currentLang","setCurrentLang","language","use","TranslateService","switchMap","intercept","req","appendToken","resourceNeedsToken","clonedReq","clone","setHeaders","Authorization","finalize","counter","startLoading","stopLoading","ɵɵinject","active_tenant","localStorageKeyPrefix","excludedResources","some","includes","append","HttpStatusCode","catchError","tap","throwError","response","status","NotFound","statusText","error_message","TruncateFileUrlPipe","transform","value","at","pure","BehaviorSubject","profile","get","admin_tool_url","roles","role","b2cPolicies","names","signUpSignIn","postLogoutRedirectUri","name","checkAndSetActiveAccount","request_url","every","resource","cloneRequest","append_token","providedIn","HttpParams","FileService","retrieveUrlSASToken","appendAll","api_url","downloadZIP","id","downloadFromUrl","handleDownload","link","createElement","URL","createObjectURL","download","getFilename","click","truncate_pipe","filename","jwtDecode","decodeToken","decodedToken","oid","sub","createActionGroup","emptyProps","props","source","RedirectToGateway","Login","LoginSuccess","setActiveAccount","GetUserTenants","GetUserTenantsSuccess","GetUserTenantsFailure","GetUserRoles","GetUserRolesSuccess","GetUserRolesFailure","GetUserFeatures","GetUserFeaturesSuccess","GetUserFeaturesFailure","setActiveRole","setActiveTenant","FileActions","RetrieveSASTokenUrl","RetrieveSASTokenUrlSuccess","RetrieveSASTokenUrlFailure","RetrieveZIPUrl","RetrieveZIPUrlSuccess","RetrieveZIPUrlFailure","DownloadFromUrl","DownloadFromUrlSuccess","DownloadFromUrlFailure","OpenPage","Redirect","RedirectToCourtesyPage","RedirectToHomePage","SetCurrentLang","SetLayoutMode","SetNotification","SetTheme","ChangeTheme","StartLoading","StopLoading","Actions","createEffect","ofType","of","selectActiveTenant","AuthEffects","actions$","redirectToGateway$","redirectToGateway","changeActiveTenant$","getUserRoles","changeActiveRole$","active_role","getUserFeatures","userTenants$","current_tenant","getUserTenantsSuccess","redirectToCourtesyPage","getUserTenantsFailure","userTenantsFailed$","getUserRolesFailure","userRoles$","getUserRolesSuccess","userRolesSuccess$","userFeatures$","getUserFeaturesSuccess","getUserFeaturesFailure","setActiveAccount$","login$","logout$","FileEffects","fileService","retrieveFileSASToken$","retrieveSASTokenUrl","data","retrieveSASTokenUrlSuccess","retrieveSASTokenUrlFailure","retrieveZIPUrl$","retrieveZIPUrl","retrieveZIPUrlSuccess","retrieveZIPUrlFailure","urlToFileDownload$","downloadFromUrl$","downloadFromUrlSuccess","downloadFromUrlFailure","downloadFromUrlSuccess$","SystemEffects","actions","redirect$","redirect","extras","navigateByUrl","redirectToCourtesyPage$","redirectCourtesyPageUri","redirectToHomePage$","redirectToHomePage","openPage$","openPage","target","localStorageSync","authReducers","systemReducers","system","runtimeChecks","strictActionImmutability","strictActionSerializability","strictActionWithinNgZone","strictStateImmutability","strictStateSerializability","strictActionTypeUniqueness","maxAge","logOnly","production","localStorageSyncReducer","reducer","localStorageConfig","rehydrate","storageKeySerializer","createReducer","on","INIT_STATE","user","find","given_name","loading","setTheme","changeTheme","createSelector","authState","selectUserDetails","Array","systemState","selectLayoutMode","selectLoading","powerbi","groupId","reportId","pageNameDashboard","pageNameAvanzamentiComplessivi","pageNameAvanzamentiVisivi","pageNameAvanzamentiStrumentali","pageNameIncidenzaDifetti","pageNameAnalisiDifetti","pageNameElencoDispositivi","resetPassword","authorities","authority","editProfile","domain","subdomain","authorityDomain","bootstrapApplication","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}