{"version":3,"file":"main.02a264b9dba6d2c7.js","mappings":"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B;QAChB,iGAAoB;QACpB,8FAAmB;QACnB,kGAAoB;QACpB,iFAAe;QACf,+FAAmB;QACnB,2FAAuB;;;;;;;;;;;;;;;;AC9DxB,MAAM,WAAW,GAAG;IACvB,UAAU,EAAE,IAAI;CACnB,CAAC;;;;;;;;;;;;;;;;;;ACF6C;AAGF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IACxB,6DAAc,EAAE,CAAC;CACpB;AAED,wEAAwB;KACnB,eAAe,CAAC,sDAAS,CAAC;KAC1B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACZxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["fr.js","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.providers.ts","./src/app/core/core.module.ts","./src/app/core/handler/vision-error-handlers.ts","./src/app/core/httpclient/configuration.httpclient.ts","./src/app/core/interceptors/app-http-error.interceptor.ts","./src/app/core/interceptors/credentials.interceptor.ts","./src/app/core/interceptors/index.ts","./src/app/core/models/apis.ts","./src/app/core/models/apms.ts","./src/app/core/models/ebp-url.ts","./src/app/core/models/footerUrls.ts","./src/app/core/models/globals.ts","./src/app/core/services/apm-configuration.service.ts","./src/app/core/services/ebp-url.service.ts","./src/app/core/services/footerUrl.service.ts","./src/app/core/services/globals.service.ts","./src/app/core/services/loading.service.ts","./src/app/features/components/charts/line-chart/line-chart.component.ts","./src/app/features/components/charts/line-chart/line-chart.component.html","./src/app/features/components/charts/pie-chart/pie-chart.component.ts","./src/app/features/components/charts/pie-chart/pie-chart.component.html","./src/app/features/components/page-header/page-header.component.ts","./src/app/features/components/page-header/page-header.component.html","./src/app/features/components/tables/confirmation-modification-table/confirmation-modification-table.component.ts","./src/app/features/components/tables/confirmation-modification-table/confirmation-modification-table.component.html","./src/app/features/dialogs/end-trial-period/end-trial-period.component.ts","./src/app/features/dialogs/end-trial-period/end-trial-period.component.html","./src/app/features/dialogs/form-resiliation/form-resiliation.component.ts","./src/app/features/dialogs/form-resiliation/form-resiliation.component.html","./src/app/features/dialogs/invitation-dialog/invitation-dialog.component.ts","./src/app/features/dialogs/invitation-dialog/invitation-dialog.component.html","./src/app/features/dialogs/modification-dialog/modification-dialog.component.ts","./src/app/features/dialogs/modification-dialog/modification-dialog.component.html","./src/app/features/dialogs/modification-dialog/modification-option-card/modification-option-card.component.ts","./src/app/features/dialogs/modification-dialog/modification-option-card/modification-option-card.component.html","./src/app/features/dialogs/resiliation-domain/resiliation-domain.component.ts","./src/app/features/dialogs/resiliation-domain/resiliation-domain.component.html","./src/app/features/dialogs/user-edit-dialog/user-edit-dialog.component.ts","./src/app/features/dialogs/user-edit-dialog/user-edit-dialog.component.html","./src/app/features/features.module.ts","./src/app/features/migration/data-import-before-start/data-import-before-start.component.ts","./src/app/features/migration/data-import-before-start/data-import-before-start.component.html","./src/app/features/migration/data-import-compta/data-import-compta.component.ts","./src/app/features/migration/data-import-compta/data-import-compta.component.html","./src/app/features/migration/data-import-finish/data-import-finish.component.ts","./src/app/features/migration/data-import-finish/data-import-finish.component.html","./src/app/features/migration/data-import-progress/data-import-progress.component.ts","./src/app/features/migration/data-import-progress/data-import-progress.component.html","./src/app/features/migration/data-source/data-source.component.ts","./src/app/features/migration/data-source/data-source.component.html","./src/app/features/migration/login/login.component.ts","./src/app/features/migration/login/login.component.html","./src/app/features/migration/migration.component.ts","./src/app/features/migration/migration.component.html","./src/app/features/migration/resiliation/product-panel/product-panel.component.ts","./src/app/features/migration/resiliation/product-panel/product-panel.component.html","./src/app/features/migration/resiliation/resiliation.component.ts","./src/app/features/migration/resiliation/resiliation.component.html","./src/app/features/options/notifications-option/notifications-option.component.ts","./src/app/features/options/notifications-option/notifications-option.component.html","./src/app/layout_menus_ebp.ts","./src/app/pages/domain-not-found/domain-not-found.component.ts","./src/app/pages/domain-not-found/domain-not-found.component.html","./src/app/pages/error-page/error-page.component.ts","./src/app/pages/error-page/error-page.component.html","./src/app/pages/subscription/components/finalize-subscription/finalize-subscription.component.ts","./src/app/pages/subscription/components/finalize-subscription/finalize-subscription.component.html","./src/app/settings.ts","./src/app/shared/components/error-alert/error-alert.component.ts","./src/app/shared/components/error-alert/error-alert.component.html","./src/app/shared/components/first-connection-dialog/carrousel-config.ts","./src/app/shared/components/first-connection-dialog/first-connection-dialog.component.ts","./src/app/shared/components/first-connection-dialog/first-connection-dialog.component.html","./src/app/shared/components/footer/footer.component.ts","./src/app/shared/components/footer/footer.component.html","./src/app/shared/components/loading/loading.component.ts","./src/app/shared/components/loading/loading.component.html","./src/app/shared/components/option-card/option-card.component.ts","./src/app/shared/components/option-card/option-card.component.html","./src/app/shared/components/product-card/product-card.component.ts","./src/app/shared/components/product-card/product-card.component.html","./src/app/shared/components/software-status/software-status.component.ts","./src/app/shared/components/software-status/software-status.component.html","./src/app/shared/components/software/software.component.ts","./src/app/shared/components/software/software.component.html","./src/app/shared/components/support-chat/support-chat.component.ts","./src/app/shared/components/support-chat/support-chat.component.html","./src/app/shared/constants/app-routes.constant.ts","./src/app/shared/constants/notification.constants.ts","./src/app/shared/constants/storage-keys.constant.ts","./src/app/shared/directives/input-uppercase.directive.ts","./src/app/shared/enums/enumerations.ts","./src/app/shared/enums/migration.enum.ts","./src/app/shared/guards/authentication.guard.ts","./src/app/shared/guards/domains.guard.ts","./src/app/shared/guards/end-trial-period.guard.ts","./src/app/shared/helpers/download-file.helper.ts","./src/app/shared/injections/notification-data-options.token.ts","./src/app/shared/injections/windows-injection.ts","./src/app/shared/interfaces/authentication-interface.ts","./src/app/shared/interfaces/domainUpdateEventResult-interface.ts","./src/app/shared/interfaces/domainupdate-step-interface.ts","./src/app/shared/interfaces/invitation-role-interface.ts","./src/app/shared/interfaces/invitation-step-interface.ts","./src/app/shared/interfaces/product-interface.ts","./src/app/shared/interfaces/software-interface.ts","./src/app/shared/interfaces/user-interface.ts","./src/app/shared/modules/ant-design/ant-design.module.ts","./src/app/shared/pipes/acces-label.pipe.ts","./src/app/shared/pipes/get-first-letter.pipe.ts","./src/app/shared/pipes/invitation-state.pipe.ts","./src/app/shared/pipes/profil-label.pipe.ts","./src/app/shared/resolvers/domains.resolver.ts","./src/app/shared/resolvers/products-v2.resolver.ts","./src/app/shared/resolvers/roles.resolver.ts","./src/app/shared/services/accept-invitation.service.ts","./src/app/shared/services/authentication.service.ts","./src/app/shared/services/company.service.ts","./src/app/shared/services/configuration.service.ts","./src/app/shared/services/current-user.service.ts","./src/app/shared/services/domain-update.service.ts","./src/app/shared/services/domains.service.ts","./src/app/shared/services/invitation.service.ts","./src/app/shared/services/location.service.ts","./src/app/shared/services/migration.service.ts","./src/app/shared/services/notification.service.ts","./src/app/shared/services/one-trust-cookies-consent.service.ts","./src/app/shared/services/order.service.ts","./src/app/shared/services/product.service.ts","./src/app/shared/services/redirection-from-app.service.ts","./src/app/shared/services/role.service.ts","./src/app/shared/services/trial-period.service.ts","./src/app/shared/shared.module.ts","./src/environments/environment.prod.ts","./src/main.ts","/home/vsts/work/1/s/node_modules/moment/locale|sync|/^\\.\\/.*$/"],"sourcesContent":["\"use strict\";(function(global){global.ng=global.ng||{};global.ng.common=global.ng.common||{};global.ng.common.locales=global.ng.common.locales||{};const u=undefined;function plural(val){const n=val,i=Math.floor(Math.abs(val)),v=val.toString().replace(/^[^.]*\\.?/,\"\").length,e=parseInt(val.toString().replace(/^[^e]*(e([-+]?\\d+))?/,\"$2\"))||0;if(i===0||i===1)return 1;if(e===0&&!(i===0)&&i%1000000===0&&v===0||!(e>=0&&e<=5))return 4;return 5}global.ng.common.locales[\"fr\"]=[\"fr\",[[\"AM\",\"PM\"],u,u],u,[[\"D\",\"L\",\"M\",\"M\",\"J\",\"V\",\"S\"],[\"dim.\",\"lun.\",\"mar.\",\"mer.\",\"jeu.\",\"ven.\",\"sam.\"],[\"dimanche\",\"lundi\",\"mardi\",\"mercredi\",\"jeudi\",\"vendredi\",\"samedi\"],[\"di\",\"lu\",\"ma\",\"me\",\"je\",\"ve\",\"sa\"]],u,[[\"J\",\"F\",\"M\",\"A\",\"M\",\"J\",\"J\",\"A\",\"S\",\"O\",\"N\",\"D\"],[\"janv.\",\"f\\xE9vr.\",\"mars\",\"avr.\",\"mai\",\"juin\",\"juil.\",\"ao\\xFBt\",\"sept.\",\"oct.\",\"nov.\",\"d\\xE9c.\"],[\"janvier\",\"f\\xE9vrier\",\"mars\",\"avril\",\"mai\",\"juin\",\"juillet\",\"ao\\xFBt\",\"septembre\",\"octobre\",\"novembre\",\"d\\xE9cembre\"]],u,[[\"av. J.-C.\",\"ap. J.-C.\"],u,[\"avant J\\xE9sus-Christ\",\"apr\\xE8s J\\xE9sus-Christ\"]],1,[6,0],[\"dd/MM/y\",\"d MMM y\",\"d MMMM y\",\"EEEE d MMMM y\"],[\"HH:mm\",\"HH:mm:ss\",\"HH:mm:ss z\",\"HH:mm:ss zzzz\"],[\"{1} {0}\",\"{1}, {0}\",\"{1} '\\xE0' {0}\",u],[\",\",\"\\u202F\",\";\",\"%\",\"+\",\"-\",\"E\",\"\\xD7\",\"\\u2030\",\"\\u221E\",\"NaN\",\":\"],[\"#,##0.###\",\"#,##0\\xA0%\",\"#,##0.00\\xA0\\xA4\",\"#E0\"],\"EUR\",\"\\u20AC\",\"euro\",{\"ARS\":[\"$AR\",\"$\"],\"AUD\":[\"$AU\",\"$\"],\"BEF\":[\"FB\"],\"BMD\":[\"$BM\",\"$\"],\"BND\":[\"$BN\",\"$\"],\"BZD\":[\"$BZ\",\"$\"],\"CAD\":[\"$CA\",\"$\"],\"CLP\":[\"$CL\",\"$\"],\"CNY\":[u,\"\\xA5\"],\"COP\":[\"$CO\",\"$\"],\"CYP\":[\"\\xA3CY\"],\"EGP\":[u,\"\\xA3E\"],\"FJD\":[\"$FJ\",\"$\"],\"FKP\":[\"\\xA3FK\",\"\\xA3\"],\"FRF\":[\"F\"],\"GBP\":[\"\\xA3GB\",\"\\xA3\"],\"GIP\":[\"\\xA3GI\",\"\\xA3\"],\"HKD\":[u,\"$\"],\"IEP\":[\"\\xA3IE\"],\"ILP\":[\"\\xA3IL\"],\"ITL\":[\"\\u20A4IT\"],\"JPY\":[u,\"\\xA5\"],\"KMF\":[u,\"FC\"],\"LBP\":[\"\\xA3LB\",\"\\xA3L\"],\"MTP\":[\"\\xA3MT\"],\"MXN\":[\"$MX\",\"$\"],\"NAD\":[\"$NA\",\"$\"],\"NIO\":[u,\"$C\"],\"NZD\":[\"$NZ\",\"$\"],\"PHP\":[u,\"\\u20B1\"],\"RHD\":[\"$RH\"],\"RON\":[u,\"L\"],\"RWF\":[u,\"FR\"],\"SBD\":[\"$SB\",\"$\"],\"SGD\":[\"$SG\",\"$\"],\"SRD\":[\"$SR\",\"$\"],\"TOP\":[u,\"$T\"],\"TTD\":[\"$TT\",\"$\"],\"TWD\":[u,\"NT$\"],\"USD\":[\"$US\",\"$\"],\"UYU\":[\"$UY\",\"$\"],\"WST\":[\"$WS\"],\"XCD\":[u,\"$\"],\"XPF\":[\"FCFP\"],\"ZMW\":[u,\"Kw\"]},\"ltr\",plural,[[[\"minuit\",\"midi\",\"mat.\",\"ap.m.\",\"soir\",\"nuit\"],u,[\"minuit\",\"midi\",\"du matin\",\"de l\\u2019apr\\xE8s-midi\",\"du soir\",\"du matin\"]],[[\"minuit\",\"midi\",\"mat.\",\"ap.m.\",\"soir\",\"nuit\"],u,[\"minuit\",\"midi\",\"matin\",\"apr\\xE8s-midi\",\"soir\",\"nuit\"]],[\"00:00\",\"12:00\",[\"04:00\",\"12:00\"],[\"12:00\",\"18:00\"],[\"18:00\",\"24:00\"],[\"00:00\",\"04:00\"]]]]})(typeof globalThis!==\"undefined\"&&globalThis||typeof global!==\"undefined\"&&global||typeof window!==\"undefined\"&&window);","import { ErrorPageComponent } from './pages/error-page/error-page.component';\nimport { AuthenticationGuard } from './shared/guards/authentication.guard';\nimport { RouterModule, Routes } from '@angular/router';\nimport { NgModule } from '@angular/core';\nimport {\n CUSTOMER_COMPANY_ROUTE_PATH,\n DASHBOARD_ROUTE_PATH,\n DOMAINS_NOT_FOUND_PAGE_ROUTE_PATH,\n ENTREPRISE_ROUTE_PATH,\n ERROR_PAGE_ROUTE_PATH,\n FINALIZE_SUBSCRIPTION_ROUTE_PATH,\n INVITATION_TO_JOIN_DOMAIN_FULL_PATH,\n SUBSCRIPTIONS_ROUTE_PATH,\n USERS_ROUTE_PATH,\n} from './shared/constants/app-routes.constant';\nimport { DomainsResolver } from './shared/resolvers/domains.resolver';\nimport { RolesResolver } from './shared/resolvers/roles.resolver';\nimport { DomainsGuard } from './shared/guards/domains.guard';\nimport { DomainNotFoundComponent } from './pages/domain-not-found/domain-not-found.component';\nimport { EndTrialPeriodGuard } from './shared/guards/end-trial-period.guard';\nimport { MigrationComponent } from './features/migration/migration.component';\nimport { ProductsV2Resolver } from './shared/resolvers/products-v2.resolver';\nimport { FinalizeSubscriptionComponent } from './pages/subscription/components/finalize-subscription/finalize-subscription.component';\n\nconst routes: Routes = [\n {\n path: '',\n redirectTo: DASHBOARD_ROUTE_PATH,\n pathMatch: 'full',\n },\n {\n path: DASHBOARD_ROUTE_PATH,\n canActivate: [AuthenticationGuard, DomainsGuard, EndTrialPeriodGuard],\n resolve: {\n domains: DomainsResolver,\n roles: RolesResolver,\n products: ProductsV2Resolver,\n },\n loadChildren: () =>\n import('./pages/dashboard/dashboard.module').then(\n (m) => m.DashboardModule,\n ),\n },\n {\n path: `${DASHBOARD_ROUTE_PATH}/:id`,\n canActivate: [AuthenticationGuard, DomainsGuard, EndTrialPeriodGuard],\n resolve: {\n domains: DomainsResolver,\n roles: RolesResolver,\n products: ProductsV2Resolver,\n },\n loadChildren: () =>\n import('./pages/dashboard/dashboard.module').then(\n (m) => m.DashboardModule,\n ),\n },\n {\n path: ENTREPRISE_ROUTE_PATH,\n canActivate: [AuthenticationGuard, DomainsGuard, EndTrialPeriodGuard],\n resolve: {\n domains: DomainsResolver,\n },\n loadChildren: () =>\n import('./pages/customer/customer.module').then(\n (m) => m.CustomerModule,\n ),\n },\n {\n path: USERS_ROUTE_PATH,\n canActivate: [AuthenticationGuard, DomainsGuard, EndTrialPeriodGuard],\n resolve: {\n domains: DomainsResolver,\n roles: RolesResolver,\n products: ProductsV2Resolver,\n },\n loadChildren: () =>\n import('./pages/users/users.module').then((m) => m.UsersModule),\n },\n {\n path: SUBSCRIPTIONS_ROUTE_PATH,\n canActivate: [AuthenticationGuard, DomainsGuard],\n resolve: {\n domains: DomainsResolver,\n productsv2: ProductsV2Resolver,\n },\n loadChildren: () =>\n import('./pages/subscription/subscription.module').then(\n (m) => m.SubscriptionModule,\n ),\n },\n {\n path: ERROR_PAGE_ROUTE_PATH,\n component: ErrorPageComponent,\n },\n {\n path: DOMAINS_NOT_FOUND_PAGE_ROUTE_PATH,\n component: DomainNotFoundComponent,\n },\n {\n path: 'migration',\n component: MigrationComponent,\n },\n {\n path: CUSTOMER_COMPANY_ROUTE_PATH,\n canActivate: [AuthenticationGuard],\n resolve: {\n productsv2: ProductsV2Resolver,\n },\n loadChildren: () =>\n import('./pages/customer-company/customer-company.module').then(\n (m) => m.CustomerCompanyModule,\n ),\n },\n {\n path: INVITATION_TO_JOIN_DOMAIN_FULL_PATH,\n canActivate: [AuthenticationGuard],\n resolve: {},\n loadChildren: () =>\n import('./pages/invitation/invitation.module').then(\n (m) => m.InvitationModule,\n ),\n },\n {\n path: FINALIZE_SUBSCRIPTION_ROUTE_PATH,\n canActivate: [AuthenticationGuard],\n component: FinalizeSubscriptionComponent,\n },\n {\n path: ERROR_PAGE_ROUTE_PATH,\n component: ErrorPageComponent,\n },\n {\n path: DOMAINS_NOT_FOUND_PAGE_ROUTE_PATH,\n component: DomainNotFoundComponent,\n },\n {\n path: '**',\n redirectTo: ERROR_PAGE_ROUTE_PATH,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { ApmConfigurationService } from './core/services/apm-configuration.service';\nimport { AuthenticationService } from './shared/services/authentication.service';\nimport {\n UserAppInterface,\n UserInterfaceDto,\n} from './shared/interfaces/user-interface';\nimport {\n DomainInterface,\n DomainProductDto,\n} from './shared/interfaces/domain-interface';\nimport { DomainsService } from './shared/services/domains.service';\nimport { LoadingService } from './core/services/loading.service';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostListener,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { ApmService } from '@elastic/apm-rum-angular';\nimport { Domain } from '@ebp/vision-layout';\nimport { skipWhile, takeUntil } from 'rxjs/operators';\nimport { Observable, Subject } from 'rxjs';\nimport { DomainUpdateStatus } from './shared/enums/enumerations';\nimport { DomainUpdateService } from './shared/services/domain-update.service';\nimport {\n DomainUpdateEventResultInterface,\n PlatformOrigin,\n} from './shared/interfaces/domainUpdateEventResult-interface';\nimport { ModificationDialogComponent } from './features/dialogs/modification-dialog/modification-dialog.component';\nimport { NzModalRef, NzModalService } from 'ng-zorro-antd/modal';\nimport { ProductService } from './shared/services/product.service';\nimport { CurrentUserService } from './shared/services/current-user.service';\nimport { BlockedProduct } from './shared/interfaces/product-interface';\nimport { EbpSettingsService } from '@ebp/vision-settings';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.less'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AppComponent implements OnInit, OnDestroy, AfterViewInit {\n public currentDomain$!: Observable;\n\n public user$!: Observable;\n\n public title: string = 'ebp-gestion-domain';\n\n public loading$!: Observable;\n\n public domain: Domain = {\n code: '',\n label: '',\n };\n\n public domainUpdateEvents!: Array;\n\n public blockedProducts: Array = [];\n\n public isAuthorized: boolean = false;\n\n private previousUrl: string = '';\n\n private destroy$: Subject = new EventEmitter();\n\n public constructor(\n private readonly apmConfigurationService: ApmConfigurationService,\n private readonly apmService: ApmService,\n public readonly authenticationService: AuthenticationService,\n private readonly loader: LoadingService,\n private readonly router: Router,\n private readonly domainsService: DomainsService,\n private readonly productService: ProductService,\n private readonly domainUpdateService: DomainUpdateService,\n private readonly modalService: NzModalService,\n public readonly settingsService: EbpSettingsService,\n private readonly currentUserService: CurrentUserService,\n ) {\n const apm = this.apmService.init({\n serviceName: this.apmConfigurationService.apmServiceName,\n serverUrl: this.apmConfigurationService.apmServerUrl,\n serviceVersion: this.apmConfigurationService.apmServiceVersion,\n active: this.apmConfigurationService.apmActive,\n environment: this.apmConfigurationService.apmEnvironment,\n instrument: this.apmConfigurationService.apmInstrument,\n distributedTracing:\n this.apmConfigurationService.apmDistributedTracing,\n distributedTracingOrigins: [\n this.apmConfigurationService.apmDistributedTracingOriginsRegExp,\n ],\n });\n\n if (this.authenticationService.isAuthenticated) {\n apm.setUserContext({\n id: authenticationService.identityClaims.sub,\n username: authenticationService.identityClaims.sub,\n });\n }\n }\n\n public ngAfterViewInit(): void {\n const mainButton: Element | null = window.document.querySelector(\n 'body > app-root > ebp-vision-layout > header > div.left-slot > div.main-btn',\n );\n mainButton?.addEventListener('click', () => {\n window.location.href = '/';\n });\n }\n\n public ngOnInit(): void {\n this.currentDomain$ = this.domainsService.currentDomain$;\n this.user$ = this.authenticationService.user$.asObservable();\n\n if (this.authenticationService.isAuthenticated) {\n // Get the current domain\n this.currentDomain$\n ?.pipe(\n takeUntil(this.destroy$),\n skipWhile((domain: DomainInterface | null) => !domain),\n )\n .subscribe((currentDomain: DomainInterface | null) => {\n if (currentDomain) {\n // Get current domain code to display footer\n this.domain = {\n code: currentDomain?.code.toString(),\n label: currentDomain?.customer.name ?? '',\n };\n // Retrieves logged in user information\n this.domainsService\n .getUserConnectedInfos(currentDomain?.id)\n .subscribe((user: UserInterfaceDto) => {\n this.currentUserService.setCurrentUserData(\n user,\n );\n this.isAuthorized = Object.values(\n user.roles,\n ).some((role) => role === 'Administrator');\n });\n this.ManageBlockedProductNotification(\n currentDomain?.id,\n );\n }\n });\n setInterval(() => {\n this.domainUpdateEvents = sessionStorage.getItem('LastEvent')\n ? (this.domainUpdateEvents = JSON.parse(\n sessionStorage.getItem('LastEvent')!,\n ))\n : [];\n }, 5000);\n }\n\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.removeClassFromPreviousRoute(this.previousUrl);\n this.addClassToCurrentRoute(event.url);\n this.previousUrl = event.url;\n }\n });\n\n this.loading$ = this.loader.loading$;\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.unsubscribe();\n }\n\n eventNotificationRefreshing(id: string) {\n this.domainUpdateService\n .getDomainUpdateEventsByStatus(\n id,\n DomainUpdateStatus.Pending,\n PlatformOrigin.Commercial,\n )\n .subscribe(\n (\n DomainUpdateEventResult: Array,\n ) => {\n if (DomainUpdateEventResult) {\n sessionStorage.setItem(\n 'LastEvent',\n JSON.stringify(DomainUpdateEventResult),\n );\n this.domainUpdateEvents = DomainUpdateEventResult;\n }\n },\n );\n }\n\n @HostListener('window:unload', ['$event'])\n unloadHandler() {\n this.domainsService.clearLocalStorageDomain();\n }\n\n public async login(): Promise {\n if (!this.authenticationService.isAuthenticated) {\n await this.authenticationService.loadDiscoveryDocumentAndTryLogin();\n this.authenticationService.login();\n }\n }\n\n public logout(): void {\n this.authenticationService.logout();\n }\n\n public addClassToCurrentRoute(url: string): void {\n const elem: Element | null = this.getElemByUrl(url);\n\n elem?.classList.add('is-active');\n }\n\n public removeClassFromPreviousRoute(url: string): void {\n const elem: Element | null = this.getElemByUrl(url);\n\n elem?.classList.remove('is-active');\n }\n\n public getElemByUrl(url: string): Element | null {\n let elem!: Element | null;\n\n switch (url) {\n case '/creation-entreprise':\n elem = document.querySelector(\n '[ebp-ta=\"layout-menu-company-menu\"]',\n );\n break;\n\n case '/entreprise':\n elem = document.querySelector(\n '[ebp-ta=\"layout-menu-customer\"]',\n );\n break;\n\n case '/utilisateurs':\n elem = document.querySelector(\n '[ebp-ta=\"layout-menu-users-menu\"]',\n );\n break;\n\n case '/abonnements':\n elem = document.querySelector(\n '[ebp-ta=\"layout-menu-subscription-menu\"]',\n );\n break;\n }\n\n return elem;\n }\n private ManageBlockedProductNotification(domainId: string): void {\n this.eventNotificationRefreshing(domainId);\n\n this.blockedProducts = sessionStorage.getItem('BlockedProducts')\n ? (this.blockedProducts = JSON.parse(\n sessionStorage.getItem('BlockedProducts')!,\n ))\n : [];\n\n this.blockedProducts.forEach((domainProduct: DomainProductDto) => {\n const products = JSON.parse(\n sessionStorage.getItem('Products') || '[]',\n );\n const foundProduct = products.find(\n (p: any) => p.id === domainProduct.productsId,\n );\n\n this.productService\n .getBlockedProduct(domainProduct.domainsId, foundProduct.id)\n .subscribe((blockedProduct: BlockedProduct) => {\n if (blockedProduct.reason == 'Autres') {\n domainProduct.blockedReason =\n blockedProduct.accessibilityReasonDetail;\n } else {\n domainProduct.blockedReason = blockedProduct.reason;\n }\n });\n\n domainProduct.name = foundProduct?.name ?? '';\n });\n }\n public showEventModal(event: DomainUpdateEventResultInterface): void {\n const ref: NzModalRef =\n this.modalService.create({\n nzContent: ModificationDialogComponent,\n nzClassName: 'modification-modal',\n nzWidth: 1360,\n nzCentered: true,\n nzComponentParams: {\n event: event,\n },\n });\n\n ref.afterClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.currentDomain$.subscribe((domain: DomainInterface | null) => {\n if (domain) {\n this.domainUpdateService\n .getDomainUpdateEventsByStatus(\n domain?.id,\n DomainUpdateStatus.Pending,\n PlatformOrigin.Commercial,\n )\n .subscribe((events: any[]) => {\n this.domainUpdateEvents = events;\n });\n }\n });\n });\n }\n}\n","\n \n \n \n
    0\"\n nz-menu\n [nzSelectable]=\"false\"\n nzMode=\"horizontal\"\n class=\"user-menu\">\n \n \n
  • \n
      \n
    • Votre produit {{product.name}} a été bloqué : {{product.blockedReason}}
    • \n
    \n
  • \n
\n
\n \n \n \n settings\n \n \n \n
  • \n \n
  • \n \n
    \n \n
    \n \n
    \n \n
    \n\n\n\n\n\n \n
    Authentification en cours...
    \n
    \n\n\n \n \n \n \n {{\n (user.name === \"\" || user.name === \" \") ? user.email.split('@')[0] : user.name\n }}\n \n\nMon Compte\n\n
    \n \n \n \n
    0 || blockedProducts.length > 0\">\n \n {{domainUpdateEvents.length + blockedProducts.length}}\n \n
    \n
    \n
    \n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { HttpClientModule } from '@angular/common/http';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport { registerLocaleData } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport fr from '@angular/common/locales/fr';\nimport { appProviders } from './app.providers';\n// EBP Import\nimport { EbpNotificationModule } from '@ebp/notifications';\nimport { EbpVisionLayoutModule } from '@ebp/vision-layout';\nimport { EBP_LAYOUT_MENUS } from './layout_menus_ebp';\n// Modules Import\nimport { CoreModule } from './core/core.module';\nimport { SharedModule } from './shared/shared.module';\nimport { FeaturesModule } from './features/features.module';\n\nimport { DomainNotFoundComponent } from './pages/domain-not-found/domain-not-found.component';\nimport { ErrorPageComponent } from './pages/error-page/error-page.component';\nimport { NgProgressModule } from 'ngx-progressbar';\nimport { NgProgressHttpModule } from 'ngx-progressbar/http';\nimport { EbpSettingsModule } from '@ebp/vision-settings';\nimport { SETTINGS } from './settings';\nimport { EBP_FIRST_CONNECTION_KEY } from './shared/constants/storage-keys.constant';\n\nregisterLocaleData(fr);\n\n@NgModule({\n declarations: [AppComponent, DomainNotFoundComponent, ErrorPageComponent],\n imports: [\n BrowserModule,\n AppRoutingModule,\n FormsModule,\n BrowserAnimationsModule,\n HttpClientModule,\n FlexLayoutModule,\n CoreModule,\n FeaturesModule,\n SharedModule,\n OAuthModule.forRoot(),\n EbpNotificationModule.forRoot(),\n EbpVisionLayoutModule.forRoot(EBP_LAYOUT_MENUS),\n EbpSettingsModule.forRoot(SETTINGS),\n NgProgressModule.withConfig({\n color: '#00bfa5',\n }),\n NgProgressHttpModule,\n ],\n providers: appProviders,\n bootstrap: [AppComponent],\n})\nexport class AppModule {\n constructor() {\n if (!document.cookie.includes('.Ebp.Culture')) {\n document.cookie = `.Ebp.Culture=c=fr|uic=fr`;\n }\n if (!localStorage.getItem(EBP_FIRST_CONNECTION_KEY)) {\n localStorage.setItem(EBP_FIRST_CONNECTION_KEY, 'true');\n }\n }\n}\n","import { registerLocaleData } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport localeEn from '@angular/common/locales/en';\nimport localeEnExtra from '@angular/common/locales/extra/en';\nimport localeFrExtra from '@angular/common/locales/extra/fr';\nimport localeFr from '@angular/common/locales/fr';\nimport {\n APP_INITIALIZER,\n DEFAULT_CURRENCY_CODE,\n LOCALE_ID,\n} from '@angular/core';\nimport { OAuthStorage } from 'angular-oauth2-oidc';\n\nimport { fr } from 'date-fns/locale';\nimport { fr_FR, NZ_DATE_LOCALE, NZ_I18N } from 'ng-zorro-antd/i18n';\nimport { CredentialsInterceptor } from './core/interceptors/credentials.interceptor';\nimport { AuthenticationService } from './shared/services/authentication.service';\nimport { ApmConfigurationService } from './core/services/apm-configuration.service';\nimport { ConfigurationService } from './shared/services/configuration.service';\nimport { GlobalsService } from './core/services/globals.service';\nimport { ebpLayoutMenus } from './layout_menus_ebp';\nimport { LAYOUT_MENUS } from '@ebp/vision-layout';\nimport {\n initializeTrialPeriodFactory,\n TrialPeriodService,\n} from './shared/services/trial-period.service';\nimport { Router } from '@angular/router';\nimport {\n initializeOneTrustScript,\n OneTrustCookiesConsentService,\n} from './shared/services/one-trust-cookies-consent.service';\nimport {\n initializeIdForRedirectionFromApp,\n RedirectionFromAppService,\n} from './shared/services/redirection-from-app.service';\nimport {\n AcceptInvitationService,\n initializeAcceptInvitationFactory,\n} from './shared/services/accept-invitation.service';\nimport { FooterUrlService } from './core/services/footerUrl.service';\nimport { NOTIFICATION_DATA_OPTIONS } from './shared/injections/notification-data-options.token';\nimport { notificationDataOptions } from './shared/constants/notification.constants';\n\nexport const appProviders = [\n {\n provide: NZ_I18N,\n useValue: fr_FR,\n },\n {\n provide: NZ_DATE_LOCALE,\n useValue: fr,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => {\n let defaultLanguage = 'fr';\n if (document.cookie.includes('.Ebp.Culture=c=en|uic=en')) {\n defaultLanguage = 'en';\n }\n\n switch (defaultLanguage) {\n case 'en':\n registerLocaleData(localeEn, 'en', localeEnExtra);\n break;\n default:\n case 'fr':\n registerLocaleData(localeFr, 'fr', localeFrExtra);\n break;\n }\n return defaultLanguage;\n },\n },\n {\n provide: DEFAULT_CURRENCY_CODE,\n useFactory: () => {\n let defaultLanguage = 'fr';\n // ...si quelqu'un se pointe avec le Cookie en EN on lui sert la version traduite\n if (document.cookie.includes('.Ebp.Culture=c=en|uic=en')) {\n defaultLanguage = 'en';\n }\n\n switch (defaultLanguage) {\n case 'en':\n return 'USD';\n default:\n case 'fr':\n return 'EUR';\n }\n },\n },\n { provide: Window, useValue: window },\n {\n provide: AuthenticationService,\n useClass: AuthenticationService,\n },\n {\n provide: APP_INITIALIZER,\n useFactory:\n (authenticationService: AuthenticationService) => async () =>\n authenticationService.load().toPromise(),\n deps: [AuthenticationService],\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initializeTrialPeriodFactory,\n deps: [Router, TrialPeriodService],\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initializeIdForRedirectionFromApp,\n deps: [Router, RedirectionFromAppService],\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initializeAcceptInvitationFactory,\n deps: [Router, AcceptInvitationService],\n multi: true,\n },\n { provide: OAuthStorage, useFactory: () => sessionStorage },\n {\n provide: APP_INITIALIZER,\n useFactory: (configService: ConfigurationService) => async () =>\n configService.load().toPromise(),\n deps: [ConfigurationService],\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: CredentialsInterceptor,\n multi: true,\n },\n {\n // Connexion à la phase d'amorçage d'Angular en utilisant le jeton APP_INITIALIZER\n // https://juristr.com/blog/2018/01/ng-app-runtime-config/#runtime-configuration\n provide: APP_INITIALIZER,\n useFactory: (apmConfig: ApmConfigurationService) => async () =>\n apmConfig.load().toPromise(),\n deps: [ApmConfigurationService],\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: (globalsService: GlobalsService) => async () =>\n globalsService.load().toPromise(),\n deps: [GlobalsService],\n multi: true,\n },\n {\n provide: LAYOUT_MENUS,\n useFactory: ebpLayoutMenus,\n deps: [GlobalsService],\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initializeOneTrustScript,\n deps: [OneTrustCookiesConsentService, GlobalsService],\n multi: true,\n },\n { provide: FooterUrlService, useClass: FooterUrlService },\n {\n provide: NOTIFICATION_DATA_OPTIONS,\n useFactory: () => ({ ...notificationDataOptions }),\n },\n];\n","import { EbpNotificationModule, EbpPopActionsModule } from '@ebp/notifications';\nimport { httpInterceptorProviders } from './interceptors';\nimport { ErrorHandler, NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\nimport { CommonModule } from '@angular/common';\nimport {\n ApmErrorHandler,\n ApmModule,\n ApmService,\n} from '@elastic/apm-rum-angular';\nimport {\n ERROR_HANDLERS,\n VisionErrorHandler,\n} from './handler/vision-error-handlers';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n SharedModule,\n EbpNotificationModule,\n EbpPopActionsModule,\n ApmModule,\n ],\n providers: [\n {\n provide: ApmService,\n useClass: ApmService,\n },\n {\n provide: ERROR_HANDLERS,\n useClass: ApmErrorHandler,\n multi: true,\n },\n {\n provide: ErrorHandler,\n useClass: VisionErrorHandler,\n },\n httpInterceptorProviders,\n // {provide: ErrorHandler, useClass: AppErrorHandler}\n ],\n exports: [],\n})\nexport class CoreModule {}\n","import {\n ErrorHandler,\n Injectable,\n InjectionToken,\n Injector,\n} from '@angular/core';\n\nexport const ERROR_HANDLERS = new InjectionToken(\n 'ERROR_HANDLERS',\n);\n\n@Injectable({ providedIn: 'root' })\nexport class VisionErrorHandler implements ErrorHandler {\n constructor(private readonly _injector: Injector) {}\n\n public handleError(error: any): any {\n const handlers = this._injector.get(ERROR_HANDLERS, []);\n handlers.forEach((errorHandler: ErrorHandler) => {\n errorHandler.handleError(error);\n });\n }\n}\n","import { HttpBackend, HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n/**\n * HttpClient utilisé pour charger la configuration des APIs\n * Tous les HttpInterceptors sont ignorés avec cet HttpClient\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationHttpClient extends HttpClient {\n constructor(httpBackend: HttpBackend) {\n super(httpBackend);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { catchError, Observable, of, throwError } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { EbpNotificationService } from '@ebp/notifications';\n\n@Injectable()\nexport class AppHttpErrorInterceptor implements HttpInterceptor {\n constructor(\n private _router: Router,\n private _notification: EbpNotificationService,\n ) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler,\n ): Observable> {\n return next.handle(request).pipe(\n catchError((_error: HttpErrorResponse) => {\n switch (_error.status) {\n case 0:\n case 500:\n case 503:\n // this._router.navigateByUrl(ERROR_PAGE_ROUTE_PATH);\n this._notification.error(\n \"Une erreur s'est produite\",\n 'Désolé, nous avons rencontré une erreur.
    ' +\n 'Aucune action n’est nécessaire de votre côté.
    ' +\n 'Nous travaillons à résoudre ce problème.',\n );\n break;\n case 401:\n if (_error.error.hasOwnProperty('title')) {\n if (_error.error.hasOwnProperty('detail')) {\n this.notifyError(\n _error.error.title,\n _error.error.detail,\n );\n } else if (_error.error.hasOwnProperty('message')) {\n this.notifyError(\n _error.error.title,\n _error.error.message,\n );\n } else {\n this.notifyError(\n \"Une erreur s'est produite.\",\n '',\n );\n }\n return of(new HttpResponse());\n }\n break;\n case 403:\n case 406:\n case 409:\n case 412:\n case 415:\n case 417:\n case 429:\n if (_error.error.hasOwnProperty('title')) {\n this.notifyWarning(_error.error.title);\n if (_error.error.hasOwnProperty('detail')) {\n this.notifyWarning(_error.error.detail);\n } else if (_error.error.hasOwnProperty('message')) {\n this.notifyWarning(_error.error.message);\n } else {\n this.notifyWarning(\n \"Une erreur s'est produite.\",\n );\n }\n return of(new HttpResponse());\n }\n break;\n case 404:\n if (_error.error.hasOwnProperty('title')) {\n this.notifyWarning(_error.error.title);\n if (_error.error.hasOwnProperty('detail')) {\n this.notifyWarning(_error.error.detail);\n } else if (_error.error.hasOwnProperty('message')) {\n this.notifyWarning(_error.error.message);\n } else {\n this.notifyWarning(\n 'La ressource demandée est introuvable.',\n );\n }\n return of(new HttpResponse());\n }\n break;\n case 422:\n if (_error.error.hasOwnProperty('title')) {\n this.notifyWarning(_error.error.title);\n if (_error.error.hasOwnProperty('detail')) {\n this.notifyWarning(_error.error.detail);\n } else if (_error.error.hasOwnProperty('message')) {\n this.notifyWarning(_error.error.message);\n }\n return of(new HttpResponse());\n }\n if (_error.error) {\n const keys = Object.keys(_error.error);\n keys.forEach((err: any) => {\n this.notifyWarning(_error.error[err][0]);\n });\n return of(new HttpResponse());\n }\n break;\n default:\n if (_error.error.hasOwnProperty('detail')) {\n return throwError(\n () => new Error(_error.error.detail),\n );\n }\n if (_error.error.hasOwnProperty('message')) {\n return throwError(\n () => new Error(_error.error.message),\n );\n }\n }\n return throwError(() => new Error(_error.error));\n }),\n );\n }\n\n private notifyWarning(message: string) {\n this._notification.warning('', message, {\n duration: 15000,\n });\n }\n\n private notifyError(title: string, message: string) {\n this._notification.error(title, message, {\n duration: 15000,\n });\n }\n}\n","import { AuthenticationService } from '../../shared/services/authentication.service';\nimport {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class CredentialsInterceptor implements HttpInterceptor {\n /**\n * CredentialsInterceptor constructor\n */\n constructor(\n private readonly _authenticationService: AuthenticationService,\n ) {}\n\n /**\n *\n */\n public intercept(\n request: HttpRequest,\n next: HttpHandler,\n ): Observable> {\n const accessToken = this._authenticationService.accessToken;\n if (!accessToken) {\n return next.handle(request);\n }\n const headers = request.headers\n .set('Access-Control-Allow-Credentials', 'true')\n .set('Authorization', `Bearer ${accessToken}`);\n const requestWithCredentials = request.clone({ headers });\n return next.handle(requestWithCredentials);\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AppHttpErrorInterceptor } from './app-http-error.interceptor';\n\nexport const httpInterceptorProviders = [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AppHttpErrorInterceptor,\n multi: true,\n },\n];\n","export interface Configuration {\n urlApiSiVisionV1: string;\n urlApiSiretManagement: string;\n urlApiMsOrder: string;\n urlBusinessManagement: string;\n urlApiCloudManagement: string;\n}\n\nexport const EMPTY_CONFIGURATION: Configuration = {\n urlApiSiVisionV1: '',\n urlApiSiretManagement: '',\n urlApiMsOrder: '',\n urlBusinessManagement: '',\n urlApiCloudManagement: '',\n};\n","export interface ApmConfiguration {\n apmServiceName: string;\n apmServerUrl: string;\n apmServiceVersion: string;\n apmActive: boolean;\n apmEnvironment: string;\n apmInstrument: boolean;\n apmDistributedTracing: boolean;\n apmDistributedTracingOrigins: string;\n}\n\nexport const EMPTY_APM_CONFIGURATION: ApmConfiguration = {\n apmServiceName: '',\n apmServerUrl: '',\n apmServiceVersion: '',\n apmActive: false,\n apmEnvironment: '',\n apmInstrument: false,\n apmDistributedTracing: false,\n apmDistributedTracingOrigins: '',\n};\n","export interface EBPUrl {\n urlMonEspaceEbp: string;\n}\n\nexport const EMPTY_EBP_URL: EBPUrl = {\n urlMonEspaceEbp: '',\n};\n","export interface FooterUrls {\n urlCgv: string;\n urlMentionsLegales: string;\n urlPolitiqueConf: string;\n urlUtilConf: string;\n}\n\nexport const EMPTY_FOOTER_URLS: FooterUrls = {\n urlCgv: '',\n urlMentionsLegales: '',\n urlPolitiqueConf: '',\n urlUtilConf: '',\n};\n","export interface Globals {\n clarityCode: string;\n production: boolean;\n urlFrontShopHubbix: string;\n onTrustTokenId: string;\n decouvrirUrl: string;\n}\n\nexport const EMPTY_GLOBALS: Globals = {\n clarityCode: '',\n production: true,\n urlFrontShopHubbix: '',\n onTrustTokenId: '',\n decouvrirUrl: '',\n};\n","import { Injectable } from '@angular/core';\nimport { EMPTY, Observable } from 'rxjs';\nimport { shareReplay, tap } from 'rxjs/operators';\nimport { ApmConfiguration, EMPTY_APM_CONFIGURATION } from '../models/apms';\nimport { ConfigurationHttpClient } from '../httpclient/configuration.httpclient';\n\n/** Service permettant de récupérer la configuration Apm */\n@Injectable({ providedIn: 'root' })\nexport class ApmConfigurationService {\n private static get _configFile(): string {\n return `assets/config/apms.json`;\n }\n\n private _apmConfiguration$: Observable = EMPTY;\n\n public apmConfiguration: ApmConfiguration = EMPTY_APM_CONFIGURATION;\n\n constructor(\n private readonly _configurationHttpClient: ConfigurationHttpClient,\n ) {}\n\n public get apmServiceName(): string {\n return this.apmConfiguration.apmServiceName;\n }\n\n public get apmServerUrl(): string {\n return this.apmConfiguration.apmServerUrl;\n }\n\n public get apmServiceVersion(): string {\n return this.apmConfiguration.apmServiceVersion;\n }\n\n public get apmActive(): boolean {\n return this.apmConfiguration.apmActive;\n }\n\n public get apmEnvironment(): string {\n return this.apmConfiguration.apmEnvironment;\n }\n\n public get apmInstrument(): boolean {\n return this.apmConfiguration.apmInstrument;\n }\n\n public get apmDistributedTracing(): boolean {\n return this.apmConfiguration.apmDistributedTracing;\n }\n\n public get apmDistributedTracingOrigins(): string {\n return this.apmConfiguration.apmDistributedTracingOrigins;\n }\n\n public get apmDistributedTracingOriginsRegExp(): RegExp {\n return new RegExp(this.apmConfiguration.apmDistributedTracingOrigins);\n }\n\n /**\n * Retourne la configuration Apm propre à l'environnement\n */\n public load(): Observable {\n if (this._apmConfiguration$ === EMPTY) {\n this._apmConfiguration$ = this._configurationHttpClient\n .get(ApmConfigurationService._configFile)\n .pipe(\n shareReplay(1),\n tap((apmConfiguration: ApmConfiguration) => {\n this.apmConfiguration = { ...apmConfiguration };\n }),\n );\n }\n return this._apmConfiguration$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationHttpClient } from '../httpclient/configuration.httpclient';\nimport { Observable, shareReplay, tap } from 'rxjs';\nimport { EBPUrl, EMPTY_EBP_URL } from '../models/ebp-url';\n\n@Injectable({ providedIn: 'root' })\nexport class EbpUrlService {\n private readonly configuration$!: Observable;\n\n private readonly configFile: string = `assets/config/ebp-url.json`;\n\n private configuration: EBPUrl = EMPTY_EBP_URL;\n\n public get urlMonEspaceEbp(): string {\n return this.configuration.urlMonEspaceEbp;\n }\n\n public constructor(\n private readonly configurationHttpClient: ConfigurationHttpClient,\n ) {\n this.configuration$ = this.configurationHttpClient\n .get(this.configFile)\n .pipe(\n shareReplay(1),\n tap((configuration: EBPUrl) => {\n this.configuration = { ...configuration };\n }),\n );\n }\n\n /**\n * Retourne la configuration propre à l'environnement\n */\n public load(): Observable {\n return this.configuration$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { shareReplay, tap } from 'rxjs/operators';\nimport { ConfigurationHttpClient } from '../httpclient/configuration.httpclient';\nimport { EMPTY, Observable } from 'rxjs';\nimport { EMPTY_FOOTER_URLS, FooterUrls } from '../models/footerUrls';\n\n@Injectable({ providedIn: 'root' })\nexport class FooterUrlService {\n private _configuration$: Observable = EMPTY;\n public configuration: FooterUrls = EMPTY_FOOTER_URLS;\n\n constructor(\n private readonly _configurationHttpClient: ConfigurationHttpClient,\n ) {}\n\n public get urlCgv(): string {\n return this.configuration.urlCgv;\n }\n public get urlMentionsLegales(): string {\n return this.configuration.urlMentionsLegales;\n }\n\n public get urlPolitiqueConf(): string {\n return this.configuration.urlPolitiqueConf;\n }\n\n public get urlUtilConf(): string {\n return this.configuration.urlUtilConf;\n }\n\n private get _configFile(): string {\n return `assets/config/footer.json`;\n }\n\n /**\n * Retourne la configuration propre à l'environnement\n */\n public load(): Observable {\n if (this._configuration$ === EMPTY) {\n this._configuration$ = this._configurationHttpClient\n .get(this._configFile)\n .pipe(\n shareReplay(1),\n tap((configuration: FooterUrls) => {\n this.configuration = { ...configuration };\n }),\n );\n }\n return this._configuration$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { shareReplay, tap } from 'rxjs/operators';\nimport { ConfigurationHttpClient } from '../httpclient/configuration.httpclient';\nimport { EMPTY, Observable } from 'rxjs';\nimport { EMPTY_GLOBALS, Globals } from '../models/globals';\n\n@Injectable({ providedIn: 'root' })\nexport class GlobalsService {\n private _configuration$: Observable = EMPTY;\n public configuration: Globals = EMPTY_GLOBALS;\n\n constructor(\n private readonly _configurationHttpClient: ConfigurationHttpClient,\n ) {}\n\n public get urlFrontShopHubbix(): string {\n return this.configuration.urlFrontShopHubbix;\n }\n public get isProduction(): boolean {\n return this.configuration.production;\n }\n\n public get onTrustTokenId(): string {\n return this.configuration.onTrustTokenId;\n }\n\n private get _configFile(): string {\n return `assets/config/globals.json`;\n }\n\n /**\n * Retourne la configuration propre à l'environnement\n */\n public load(): Observable {\n if (this._configuration$ === EMPTY) {\n this._configuration$ = this._configurationHttpClient\n .get(this._configFile)\n .pipe(\n shareReplay(1),\n tap((configuration: Globals) => {\n this.configuration = { ...configuration };\n }),\n );\n }\n return this._configuration$;\n }\n\n public createClarityElements(GlobalsCode: string): void {\n const scriptClarity = document.createElement('script');\n scriptClarity.src = 'https://d.clarity.ms/s/0.6.32/clarity.js';\n\n const scriptTag = document.createElement('script');\n scriptTag.id = 'clarity';\n scriptTag.type = 'text/javascript';\n scriptTag.textContent = `(function(c,l,a,r,i,t,y){\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n t=l.createElement(r);t.async=1;t.src=\"https://www.clarity.ms/tag/\"+i;\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n })(window, document, \"clarity\", \"script\", \"${GlobalsCode}\");`;\n\n document.getElementsByTagName('head')[0].append(scriptClarity);\n document.getElementsByTagName('head')[0].append(scriptTag);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingService {\n private _loading = new BehaviorSubject(false);\n public readonly loading$ = this._loading.asObservable();\n\n constructor() {}\n\n show() {\n this._loading.next(true);\n }\n\n hide() {\n this._loading.next(false);\n }\n}\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core';\nimport { Chart, registerables } from 'chart.js';\n\nconst config = {\n type: 'line', // Graphique de type Line\n data: {\n labels: [], // Données Axe X\n datasets: [\n {\n label: '', // Titre du jeu de données\n fill: true, // Juste un trait pour le tracé de la courbe\n data: [], // Données Axe Y\n borderColor: '#097DEB',\n backgroundColor: '#C1DEFA',\n tension: 1,\n },\n ],\n },\n options: {\n responsive: true,\n plugins: {\n legend: {\n display: false,\n position: 'bottom',\n },\n },\n },\n};\n\n@Component({\n selector: 'app-line-chart',\n templateUrl: './line-chart.component.html',\n styleUrls: ['./line-chart.component.less'],\n})\nexport class LineChartComponent implements AfterViewInit {\n @ViewChild('mychart')\n mychart!: ElementRef;\n canvas: any;\n ctx: any;\n myConfig: any = config;\n myChart?: Chart;\n\n constructor() {\n Chart.register(...registerables);\n }\n\n ngAfterViewInit() {\n this.canvas = this.mychart.nativeElement;\n this.ctx = this.canvas.getContext('2d');\n let i: number = 0;\n this.myChart = new Chart(this.ctx, this.myConfig);\n while (i < 50) {\n // console.log('Block statement execution no.' + i);\n const randoTurnover = (Math.random() * Math.floor(50)).toFixed(2); // Deux chiffres après la virgule\n /* Ajoute la valeur en X */\n this.myConfig.data.labels.push(new Date().toLocaleTimeString());\n\n /* Ajoute la valeur */\n this.myConfig.data.datasets[0].data.push(randoTurnover);\n\n /* Rafraichir le graphique */\n this.myChart.update();\n i++;\n }\n }\n}\n","
    \n

    CA de l’exercice en cours

    \n \n
    \n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core';\nimport { Chart, registerables } from 'chart.js';\n\nconst data = {\n labels: ['Red', 'Blue', 'Yellow'],\n datasets: [\n {\n label: 'My First Dataset',\n data: [300, 50, 100],\n backgroundColor: [\n 'rgb(255, 99, 132)',\n 'rgb(54, 162, 235)',\n 'rgb(255, 205, 86)',\n ],\n hoverOffset: 4,\n },\n ],\n};\nconst config = {\n type: 'doughnut',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'bottom',\n },\n },\n },\n};\n\n@Component({\n selector: 'app-pie-chart',\n templateUrl: './pie-chart.component.html',\n styleUrls: ['./pie-chart.component.less'],\n})\nexport class PieChartComponent implements AfterViewInit {\n @ViewChild('mychart')\n mychart!: ElementRef;\n canvas: any;\n ctx: any;\n myConfig: any = config;\n\n constructor() {\n Chart.register(...registerables);\n }\n\n ngAfterViewInit() {\n this.canvas = this.mychart.nativeElement;\n this.ctx = this.canvas.getContext('2d');\n }\n}\n","
    \n

    Conversion

    \n \n
    \n","import { DomainInterface } from '../../../shared/interfaces/domain-interface';\nimport { DomainsService } from '../../../shared/services/domains.service';\nimport { NzDrawerPlacement } from 'ng-zorro-antd/drawer';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { NzTableQueryParams } from 'ng-zorro-antd/table';\nimport { DomainPaginateInterface } from 'src/app/shared/interfaces/dto/domain-paginate-interface';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport { CompanyResult } from 'src/app/shared/interfaces/company-interface';\n\n@Component({\n selector: 'app-page-header, nz-demo-table-ajax',\n templateUrl: './page-header.component.html',\n styleUrls: ['./page-header.component.less'],\n})\nexport class PageHeaderComponent implements OnInit {\n @Input() public domains!: DomainPaginateInterface;\n // @Input() public currentDomain!: DomainInterface | null | undefined;\n @Input() public currentCompany!: CompanyResult | null | undefined;\n public loading = true;\n public listDomains: DomainInterface[] = [];\n public visible = false;\n public placement: NzDrawerPlacement = 'top';\n public pageSize = 10;\n public pageIndex = 1;\n /**\n * PageHeaderComponent constructor\n */\n constructor(\n private _domainsService: DomainsService,\n private _companyService: CompanyService,\n ) {}\n ngOnInit(): void {\n this.listDomains = this.domains.values;\n this.loading = false;\n }\n public get totalItems(): number {\n return this.domains.paginate.totalDatas ?? 0;\n }\n\n public onQueryParamsChange(params: NzTableQueryParams): void {\n const { pageIndex } = params;\n this.loading = true;\n\n this._domainsService\n .getDomainsPaginate(pageIndex)\n .subscribe((domains: DomainPaginateInterface) => {\n this.loading = false;\n this.listDomains = domains.values;\n });\n }\n /**\n *\n */\n public changeCurrentDomain(domain: DomainInterface) {\n sessionStorage.removeItem('BlockedProducts');\n this._companyService.changeCurrentCompany(domain.code);\n this._domainsService.changeCurrentDomainFromHeaderOrNew(domain.id);\n this.close();\n }\n\n /**\n * Open the entreprises drawer\n */\n public open(): void {\n this.visible = true;\n }\n\n /**\n * Close the enterprises drawer\n */\n public close(): void {\n this.visible = false;\n }\n\n availableUsers(domain: DomainInterface): number {\n return (domain.availableUsers ?? 2) - 1; // On supprime l'expert-comptable\n }\n}\n","\n \n \n expand_more \n \n {{ currentCompany?.name }}\n \n\n\n \n \n \n expand_less \n \n {{ currentCompany?.name }}\n \n 0\"\n [nzFrontPagination]=\"false\"\n [nzLoading]=\"loading\"\n [(nzPageIndex)]=\"pageIndex\"\n [nzTotal]=\"totalItems\"\n [nzPageSize]=\"pageSize\"\n (nzQueryParams)=\"onQueryParamsChange($event)\"\n >\n \n \n Raison sociale\n Nombre d'utilisateur\n \n \n \n \n \n {{ data.customer.name }}\n {{ this.availableUsers(data) }}\n \n \n \n \n \n
      \n
    • \n Ouvrir\n
    • \n
    \n
    \n \n \n \n
    \n
    \n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ProductDto } from 'src/app/shared/interfaces/domain-interface';\nimport { ColumnItemModificationInterface } from 'src/app/shared/interfaces/table-interface';\n\n@Component({\n selector: 'app-confirmation-modification-table',\n templateUrl: './confirmation-modification-table.component.html',\n styleUrls: ['./confirmation-modification-table.component.less'],\n})\nexport class ConfirmationModificationTableComponent implements OnInit {\n @Input() products: Array<{\n product: ProductDto;\n quantity: number;\n originPriceAmount: number | null;\n finalPriceAmount: number | null;\n }> = [];\n @Input() FirstColumnName: string = '';\n @Input() dateRetrait!: Date;\n\n public listOfColumns: ColumnItemModificationInterface[] = [\n {\n name: '',\n nzWidth: '50%',\n },\n {\n name: 'Quantité',\n nzWidth: '10%',\n },\n {\n name: 'Prix unitaire',\n nzWidth: '20%',\n },\n {\n name: 'Montant facturé',\n nzWidth: '20%',\n },\n ];\n\n constructor() {}\n\n ngOnInit(): void {\n this.listOfColumns[0].name = this.FirstColumnName;\n if (this.FirstColumnName == 'Produits') {\n this.listOfColumns[this.listOfColumns.length - 1].name =\n \"Date d'effet\";\n }\n if (this.FirstColumnName != 'Produits') {\n this.listOfColumns.forEach((col) => {\n if (this.FirstColumnName == 'Options') {\n col.name = '';\n }\n });\n this.products.forEach((product) => {\n if (product.quantity <= 0) {\n this.products.splice(\n this.products.findIndex(\n (p) => p.product.id == product.product.id,\n ),\n 1,\n );\n }\n });\n }\n }\n\n public trackByName(\n _: number,\n item: ColumnItemModificationInterface,\n ): string {\n return item.name;\n }\n\n public getQuantity(product: ProductDto, quantity: number): number {\n if (product.categorie == 2 && this.FirstColumnName == 'Options') {\n return quantity - 1;\n }\n return quantity;\n }\n\n public getDate(quantity: number): Date {\n if (quantity > 0) {\n return new Date();\n }\n return this.dateRetrait;\n }\n}\n","\n \n \n \n {{ column.name }}\n \n \n \n \n \n \n {{item.product.name}}\n \n {{item.quantity}}\n {{item.originPriceAmount!/item.quantity | currency}}\n {{item.finalPriceAmount! | currency}}\n {{getDate(item.quantity) | date:'shortDate'}}\n \n \n\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NzModalRef } from 'ng-zorro-antd/modal';\nimport { Router } from '@angular/router';\nimport { SUBSCRIPTIONS_ROUTE_PATH } from '../../../shared/constants/app-routes.constant';\nimport { Observable, Subject, finalize, map, takeUntil } from 'rxjs';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport {\n CompanyProduct,\n CompanyResult,\n} from 'src/app/shared/interfaces/company-interface';\nimport { DomainsService } from 'src/app/shared/services/domains.service';\n\n@Component({\n selector: 'app-end-trial-period',\n templateUrl: './end-trial-period.component.html',\n styleUrls: ['./end-trial-period.component.less'],\n})\nexport class EndTrialPeriodComponent implements OnInit, OnDestroy {\n public company$!: Observable;\n\n private hasPartner!: boolean;\n\n private isExpert!: boolean;\n\n public duration: number = 0;\n\n public partnerLabel: string = 'revendeur';\n\n public display: boolean = false;\n\n public isOwner: boolean = true;\n\n public readonly DAYS: number = 365;\n\n private destroy$: Subject = new Subject();\n\n public constructor(\n private readonly router: Router,\n private readonly modal: NzModalRef,\n private readonly companyService: CompanyService,\n private readonly domainService: DomainsService,\n ) {}\n\n public ngOnInit(): void {\n this.domainService.currentDomain$\n .pipe(takeUntil(this.destroy$))\n .subscribe((domaine) => {\n if (domaine !== null) {\n this.isOwner = domaine.isOwner;\n this.getAndApplyCompany();\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n public goToSubscription(): void {\n this.modal.close({ data: false });\n this.router.navigateByUrl(SUBSCRIPTIONS_ROUTE_PATH);\n this.modal.destroy({ data: false });\n }\n\n private getAndApplyCompany(): void {\n this.company$ = this.companyService.currentCompany$;\n this.company$\n .pipe(\n takeUntil(this.destroy$),\n map((companyResult: CompanyResult | null) => {\n this.hasPartner = companyResult?.products.some(\n (product: CompanyProduct) =>\n product.partnerCode != null,\n )!;\n\n if (this.hasPartner) {\n const partnerCode: string =\n companyResult?.products.filter(\n (product: CompanyProduct) =>\n product.partnerCode !== null,\n )[0].partnerCode!;\n this.companyService\n .getPartnerIsExpert(partnerCode)\n .pipe(\n takeUntil(this.destroy$),\n finalize(() => {\n this.display = true;\n }),\n map((isExpert) => {\n this.isExpert = isExpert;\n this.partnerLabel = this.isExpert\n ? 'expert'\n : 'revendeur';\n }),\n )\n .subscribe();\n } else {\n this.display = true;\n }\n\n this.duration =\n (new Date(\n companyResult?.products[0].dueDate!,\n ).getTime() -\n new Date(\n companyResult?.products[0].subscriptionDate!,\n ).getTime()) /\n (1000 * 60 * 60 * 24);\n }),\n )\n .subscribe();\n }\n}\n","
    \n \n

    \n Votre période d’essai de {{duration}} jours a expiré !\n

    \n

    = DAYS\">\n Votre période d’essai d'1 an a expiré !\n

    \n
    \n

    \n Pour souscrire à un abonnement, rendez-vous dans la rubrique Mes abonnements et sélectionnez-la\n ou les solutions souhaitée(s).\n

    \n

    \n Si vous souhaitez plus d’informations ou récupérer vos données, contactez un conseiller produit au \n 01 34 94 80 20.\n

    \n
    \n \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n

    Si vous souhaitez plus d'informations ou souscrire à un abonnement, contactez votre {{partnerLabel}}.

    \n
    \n","// form-resiliation.component.ts\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-form-resiliation',\n templateUrl: './form-resiliation.component.html',\n styleUrls: ['./form-resiliation.component.scss'],\n})\nexport class FormResiliationComponent {\n selectedMotif: string = '';\n precisions: string = '';\n\n dateDemande!: Date;\n dateEffective!: Date;\n dateSuppression!: Date;\n}\n","\n\n
    \n

    Resilier votre abonnement

    \n \n \n \n \n \n \n \n \n\n\n\n
    \n
    \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n \n
    \n \n \"Image\n \n
    \n\n
    \n
    \n ","import {\n Class,\n Role,\n TableHeader,\n UserProfilesTable,\n} from '../../../shared/interfaces/invitation-role-interface';\nimport {\n Step,\n StepList,\n} from '../../../shared/interfaces/invitation-step-interface';\nimport { InvitationInterface } from '../../../shared/interfaces/invitation-interface';\nimport { RoleInterface } from '../../../shared/interfaces/role-interface';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { finalize, switchMap, take, tap } from 'rxjs/operators';\nimport { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\nimport { NzModalRef } from 'ng-zorro-antd/modal';\nimport { Observable } from 'rxjs';\nimport { EbpValidatorsService } from '@ebp/validation';\nimport { StepperConfigInterface } from '@ebp/common/src/components/stepper/stepper-config.interface';\nimport { DomainsService } from '../../../shared/services/domains.service';\nimport { RoleService } from '../../../shared/services/role.service';\nimport { InvitationService } from '../../../shared/services/invitation.service';\nimport { EbpNotificationService } from '@ebp/notifications';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport {\n CompanyProduct,\n CompanyResult,\n} from 'src/app/shared/interfaces/company-interface';\nimport { ProductCategory } from 'src/app/shared/interfaces/product-interface';\n\n@Component({\n selector: 'app-invitation-dialog',\n templateUrl: './invitation-dialog.component.html',\n styleUrls: ['./invitation-dialog.component.less'],\n})\nexport class InvitationDialogComponent implements OnInit, OnDestroy {\n // private currentDomain$!: Observable;\n private currentCompany$!: Observable;\n public productsV2!: CompanyProduct[];\n INVIT_TEXT_SEND =\n 'Félicitations !
    L\\'invitation a été envoyée. Celle-ci est valable 72 heures.
    Vous pouvez administrer les droits et accès de cette personne à tout moment dans la rubrique \"Mes utilisateurs\".';\n\n public form!: FormGroup;\n\n public role = Role;\n public tableHeader: string[] = [...TableHeader];\n\n public steps: Step[] = StepList;\n public userProfilesTable: ReadonlyArray = UserProfilesTable;\n public profiles!: ReadonlyArray;\n public hGutter = 24;\n public vGutter = 24;\n\n // Utility flag\n public switchValues: Array = [];\n public doneError = false;\n public processing = false;\n\n // Data\n public domainId: string = '';\n public domainName: string = '';\n public disableChartAcc!: boolean;\n public disablePartner!: boolean;\n public disableRoles!: boolean;\n public canInviteRevendeur: boolean = false;\n private softwares: number[] = [];\n\n public profileChoice!: RoleInterface | undefined;\n\n // Destroy observables with Rxjs TakeUntil\n private destroy$ = new EventEmitter();\n\n // Stepper\n public stepperStep: number = 1;\n public stepperConfig: StepperConfigInterface = {\n steps: this.steps,\n };\n\n /**\n * InvitationDialogComponent constructor\n */\n constructor(\n private modal: NzModalRef,\n private _fb: FormBuilder,\n private _validatorsService: EbpValidatorsService,\n private _domainService: DomainsService,\n private _roleService: RoleService,\n private _invitationService: InvitationService,\n private _notification: EbpNotificationService,\n private _companyService: CompanyService,\n ) {}\n\n get emailField() {\n return this.form.get('email');\n }\n\n get profileField() {\n return this.form.get('profile');\n }\n\n get accumulateur() {\n return this.form.get('accumulateur');\n }\n\n get appRoleAdministrator(): RoleInterface | undefined {\n return this.profiles.find((element) => element?.name == Role.ADMIN);\n }\n\n get appRoleUserStandard(): RoleInterface | undefined {\n return this.profiles.find((element) => element?.name == Role.STD_USER);\n }\n\n get appRoleChartAccountant(): RoleInterface | undefined {\n return this.profiles.find(\n (element) => element?.name == Role.CHARTACCOUNTANT,\n );\n }\n\n get appRoleRevendeur(): RoleInterface | undefined {\n return this.profiles.find((element) => element?.name == Role.REVENDEUR);\n }\n\n /**\n * InvitationDialogComponent init\n */\n ngOnInit(): void {\n this.currentCompany$ = this._companyService.getCurrentCompany();\n this.currentCompany$\n .pipe(\n take(1),\n tap((company) => {\n const partnerCode = company?.products.filter(\n (product) => product.partnerCode != null,\n )[0]?.partnerCode;\n if (partnerCode) {\n this._companyService\n .getPartnerIsExpert(partnerCode)\n .subscribe((isExpert) => {\n if (!isExpert) {\n this.canInviteRevendeur = true;\n this.tableHeader.splice(\n 3,\n 0,\n Role.REVENDEUR,\n );\n }\n });\n }\n this.productsV2 = company?.products?.filter(\n (product) =>\n product.categorie == ProductCategory.Software,\n )!;\n }),\n )\n .subscribe();\n\n this.profiles = this._roleService.roles!;\n this.buildForm();\n }\n\n /**\n * @inheritDoc\n */\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.unsubscribe();\n }\n\n /**\n * Submit form value and close modal\n */\n public closeAndDestroyModal() {\n this.modal.close();\n this.modal.destroy();\n }\n\n /**\n * Close dialog\n */\n public closeDialog(): void {\n this.modal.destroy();\n }\n\n /**\n * Patch profile value in form\n */\n onProfileChange() {\n this.form.get('profile')?.patchValue(this.profileChoice);\n }\n\n /**\n * Manage user access selection\n */\n public clickSwitch(code: number) {\n const productCode = this.accumulateur?.value;\n\n if (this.switchValues[code]) {\n this.accumulateur?.setValue(productCode + code);\n this.softwares.push(code);\n } else {\n this.accumulateur?.setValue(\n productCode - code > 0 ? productCode - code : 0,\n );\n this.softwares = this.softwares.filter(\n (software) => software !== code,\n );\n }\n }\n\n /**\n * Previous Step button\n */\n public previousStep(): void {\n if (this.stepperStep === 3) {\n if (this.profileField?.value === this.appRoleRevendeur?.id) {\n this.stepperStep -= 1;\n }\n }\n this.stepperStep -= 1;\n }\n\n /**\n * Next Step button\n */\n public nextStep(): void {\n this.form.validate();\n\n if (this.stepperStep <= this.steps.length) {\n const step = this.steps[this.stepperStep - 1];\n\n if (step.async) {\n this.processing = true;\n }\n if (this.stepperStep === 1) {\n if (this.profileField?.valid) {\n this.stepperStep += 1;\n if (\n this.profileField?.value === this.appRoleRevendeur?.id\n ) {\n this.emailField?.setErrors(null);\n this.stepperStep += 1;\n }\n }\n } else if (this.stepperStep === 2) {\n if (this.emailField?.valid) {\n this.stepperStep += 1;\n }\n } else if (this.stepperStep === 3) {\n if (this.form.valid) {\n this.stepperStep += 1;\n }\n }\n }\n }\n\n /**\n * Send the invitation when all the steps have been completed\n */\n public sendInvitation(): void {\n this.processing = true;\n if (this.stepperStep <= this.steps.length) {\n const step = this.steps[this.stepperStep - 1];\n\n const invitation: InvitationInterface = {\n email: this.form.value.email,\n roleId: this.form.value.profile,\n softwares: this.softwares,\n };\n let codePartner!: string | null;\n\n if (\n invitation.roleId ===\n this._roleService.roles?.find(\n (role) => role.name === Role.REVENDEUR,\n )!.id\n ) {\n codePartner = sessionStorage.getItem('PartnerCode');\n }\n\n this._invitationService\n .sendInvitationToUser(this.domainId, invitation, codePartner)\n .pipe(\n switchMap(() => {\n return this._invitationService.getInvitationsDomain(\n this.domainId,\n );\n }),\n switchMap(() => {\n return this._domainService.getDomains();\n }),\n finalize(() => {\n step.percentage = 0;\n this.processing = false;\n this.stepperStep += 1;\n }),\n )\n .subscribe(() => {\n step.percentage = 1;\n this.processing = false;\n this._notification.info(\n 'Invitation envoyée',\n this.INVIT_TEXT_SEND,\n { duration: 5000 },\n );\n this._notification.success(\n '',\n `Votre invitation a été envoyée avec succès à l'adresse email ${invitation.email ? invitation.email : 'de votre partenaire.'}`,\n );\n });\n setTimeout(() => {\n this.closeAndDestroyModal();\n }, 4000);\n }\n }\n\n /**\n * Build form\n */\n public buildForm() {\n this.form = this._fb.group({\n email: [\n null,\n [\n this._validatorsService.required,\n this._validatorsService.email,\n ],\n ],\n profile: [null, this._validatorsService.required],\n accumulateur: [0, Validators.min(1)],\n });\n }\n}\n","
    \n
    \n Inviter un utilisateur à rejoindre {{ domainName }}\n
    \n \n \n
    \n\n
    \n \n
    \n
    \n \n Email\n \n \n \n \n \n \n
    \n \n
    \n \n \n \n {{ header }}\n \n \n \n \n \n {{ class.name }}\n \n \n \n \n \n \n \n {{ line.name }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n * Sélectionner les accès de cet utilisateur.\n
    \n\n
    \n \n {{ product.name }}\n \n \n\n \n \n
    \n
    \n \n
    \n

    Vérifier les données avant envoi :

    \n
    \n \n

    {{ form.value.email }}

    \n
    \n
    \n \n

    {{ form.value.profile | profilLabel: profiles }}

    \n
    \n
    \n \n

    {{ form.value.accumulateur | accesLabel }}

    \n
    \n
    \n \n \n >\n \n \n \n
    \n\n
    \n \n \n \n \n
    \n\n\n\n \n \n \n\n","import { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\nimport { StepperConfigInterface } from '@ebp/common/src/components/stepper/stepper-config.interface';\nimport { EbpNotificationService } from '@ebp/notifications';\nimport { NzModalRef, NzModalService } from 'ng-zorro-antd/modal';\nimport {\n catchError,\n finalize,\n lastValueFrom,\n Observable,\n of,\n switchMap,\n takeUntil,\n} from 'rxjs';\nimport { GlobalsService } from 'src/app/core/services/globals.service';\nimport {\n PaymentModEnum,\n PeriodicityEnum,\n ProductCodeHubbixEnum,\n} from 'src/app/shared/enums/enumerations';\nimport {\n DomainInterface,\n ProductDto,\n} from 'src/app/shared/interfaces/domain-interface';\nimport {\n DomainUpdateEventResultInterface,\n DomainUpdateProductEventResult,\n PlatformOrigin,\n ProvisionalDatesRetraitDto,\n} from 'src/app/shared/interfaces/domainUpdateEventResult-interface';\nimport {\n Step,\n StepList,\n} from 'src/app/shared/interfaces/domainupdate-step-interface';\nimport { DomainUpdateService } from 'src/app/shared/services/domain-update.service';\nimport { DomainsService } from 'src/app/shared/services/domains.service';\nimport { OrderService } from 'src/app/shared/services/order.service';\nimport {\n ProductCommand,\n ProductService,\n ReasonForCancellation,\n} from 'src/app/shared/services/product.service';\nimport { ResiliationDomainComponent } from '../resiliation-domain/resiliation-domain.component';\nimport { FormResiliationComponent } from '../form-resiliation/form-resiliation.component';\n\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { OptionsInterface } from 'src/app/shared/interfaces/options-interface';\nimport {\n EstimatePricesResult,\n ProductForEstimation,\n} from 'src/app/shared/interfaces/product-interface';\n\n@Component({\n selector: 'app-modification-dialog',\n templateUrl: './modification-dialog.component.html',\n styleUrls: ['./modification-dialog.component.less'],\n})\nexport class ModificationDialogComponent implements OnInit, OnDestroy {\n public event: DomainUpdateEventResultInterface | null = null;\n public stepperStep: number = 1;\n public paymentCode: number = PaymentModEnum.SEPA;\n\n private currentDomain$!: Observable;\n public domain!: DomainInterface;\n public domainName: string = '';\n public optionsMinValues!: OptionsInterface[];\n\n public doneError = false;\n public processing = false;\n public basketLoader = false;\n public previousButtonLabel: string = '';\n public nextButtonLabel: string = '';\n public disableValidationButton: boolean = true;\n public pageProcessing = false;\n\n public steps: Step[] = StepList;\n public stepperConfig: StepperConfigInterface = {\n steps: this.steps,\n };\n\n public products: ProductDto[] = [];\n public productsWithPrices: ProductCommand[] = [];\n public applicationsFilter!: { product: ProductDto; checked: boolean }[];\n public optionsFilter!: { product: ProductDto; quantity: number }[];\n public applications!: Array<{\n product: ProductDto;\n quantity: number;\n originPriceAmount: number | null;\n finalPriceAmount: number | null;\n }>;\n public options!: {\n product: ProductDto;\n quantity: number;\n originPriceAmount: number | null;\n finalPriceAmount: number | null;\n }[];\n public productsFromEvent!: {\n product: ProductDto;\n quantity: number;\n originPriceAmount: number | null;\n finalPriceAmount: number | null;\n }[];\n\n public motifGC: ReasonForCancellation | null = null;\n public motifCompta: ReasonForCancellation | null = null;\n public removedProductName: string[] = [];\n public motifLoading: boolean = true;\n public reasonsForCompta: Array = [];\n public reasonsForGC: Array = [];\n public clickButton: boolean = false;\n\n public periodicity: any = '1';\n public paiement: any = '1';\n\n public estimatedPrices$: Observable =\n this._domainUpdateService.estimatedPrices$;\n\n public provisionalDatesRetrait!: ProvisionalDatesRetraitDto;\n public applyDiscount: boolean = false;\n private codePromo!: string | null;\n\n constructor(\n private modal: NzModalRef,\n private modalService: NzModalService,\n private _domainService: DomainsService,\n private _productService: ProductService,\n private _domainUpdateService: DomainUpdateService,\n private notification: EbpNotificationService,\n private _orderService: OrderService,\n private _globalService: GlobalsService,\n ) {}\n\n private destroy$ = new EventEmitter();\n public hasModificationsToApply: boolean = false;\n public dateApply!: Date;\n public modificationInMore: boolean = false;\n\n async ngOnInit(): Promise {\n this.pageProcessing = true;\n this.processing = true;\n this.currentDomain$ = this._domainService.getCurrentDomain();\n // TODO A cabler sur ProductV2\n this.products = []; // await lastValueFrom(this._productService.getProducts())\n\n this.currentDomain$.subscribe((domain) => {\n if (domain) {\n this.domain = domain;\n this.domainName = domain?.customer.name;\n this.periodicity = domain.subscriptionPeriodicity.toString();\n this._domainService\n .optionsMinValues(domain.id)\n .subscribe((optionsMinValues) => {\n this.optionsMinValues = optionsMinValues;\n });\n\n this.hasModificationsToApply =\n this.domain.domainProduct?.some(\n (dp) =>\n new Date(dp.dateEffectiveRetrait!) >= new Date(),\n ) ||\n this.domain.domainOption?.some(\n (dopt) => new Date(dopt.endDate!) >= new Date(),\n )!;\n this.dateApply =\n this.domain.domainProduct?.find(\n (p) => p.dateEffectiveRetrait != null,\n )?.dateEffectiveRetrait ??\n this.domain.domainOption?.find(\n (o) => new Date(o.startDate!) > new Date(),\n )?.startDate!;\n\n this.applications = [];\n this.options = [];\n\n domain.products.forEach((produit) => {\n this.applications.push({\n product: produit,\n quantity: 1,\n originPriceAmount: null,\n finalPriceAmount: null,\n });\n });\n\n domain.domainOption?.forEach((opt) => {\n const product = this.products.find(\n (p) => p.id == opt.productId,\n );\n if (\n product?.code != 97 &&\n new Date(opt.startDate!) <= new Date() &&\n (new Date(opt.endDate!) >= new Date() ||\n opt.endDate == null)\n ) {\n this.options.push({\n product: product!,\n quantity:\n opt.quantity! -\n (product?.code ==\n ProductCodeHubbixEnum.OPTION_BANQUE\n ? 1\n : product?.code ==\n ProductCodeHubbixEnum.OPTION_UTILISATEUR\n ? 2\n : 0),\n originPriceAmount: null,\n finalPriceAmount: null,\n });\n }\n });\n\n if (domain.currentSbDocumentId != '') {\n this._domainUpdateService\n .getProvisionalDatesAndInformationsSB(domain.id)\n .subscribe((dates) => {\n if (dates) {\n this.provisionalDatesRetrait = dates;\n if (\n new Date(\n this.provisionalDatesRetrait.nextScheduledBillingDate,\n ) <=\n new Date(\n this.provisionalDatesRetrait.dateFinPromo,\n )\n ) {\n this.applyDiscount = true;\n }\n\n this.productsFromEvent = [];\n if (this.event) {\n this.modificationInMore =\n this.event.domainUpdateProductEvents.some(\n (dupe) => dupe.quantity > 0,\n );\n this.applyEvent(this.event);\n } else {\n this.event = {\n domainId: domain.id,\n platformOrigin: PlatformOrigin.Client,\n originUser: domain.customer.email,\n periodicity: null,\n domainUpdateProductEvents: [],\n };\n }\n }\n });\n }\n }\n });\n\n this.applicationsFilter = this.products\n .filter((item) => item.categorie == 1 && item.level == 1)\n ?.map((item: ProductDto) => {\n return {\n product: item,\n checked: this.applications.some(\n (app) => app.product.id == item.id,\n ),\n };\n });\n this.optionsFilter = this.products\n .filter(\n (item) =>\n item.categorie == 2 && item.level == 2 && item.code != 97,\n )\n ?.map((item: ProductDto) => {\n const quantity = this.options.find(\n (opt) => opt.product.id == item.id,\n )?.quantity!;\n return {\n product: item,\n quantity: quantity + 1,\n };\n });\n this.applicationsFilter\n .filter((app) => app.product.code == 1 || app.product.code == 2)\n .forEach((app) => {\n this._productService\n .getReasonForCancellation(app.product.id!)\n .pipe(\n finalize(() => {\n this.motifLoading = false;\n }),\n )\n .subscribe((reasons) => {\n if (app.product.code == 1) {\n this.reasonsForGC = reasons;\n }\n if (app.product.code == 2) {\n this.reasonsForCompta = reasons;\n }\n });\n });\n\n this.processing = false;\n\n this.productsWithPrices = await lastValueFrom(\n this._productService.getProductsWithPrices(this.periodicity),\n );\n\n // A desactiver pour prise en compte de la résiliation complète d'un domain + template L193 / L194\n this.haveApp();\n this.pageProcessing = false;\n }\n\n private applyEvent(event: DomainUpdateEventResultInterface) {\n this.periodicity =\n event.periodicity != undefined\n ? event.periodicity!.toString()\n : this.domain.subscriptionPeriodicity.toString();\n this.paiement = '1';\n this.codePromo =\n this.event?.domainUpdateProductEvents.find(\n (dupe) => dupe.codePromo != null,\n )?.codePromo ?? null;\n\n event.domainUpdateProductEvents.forEach(\n (product: DomainUpdateProductEventResult) => {\n if (\n this.products.find((p) => p.id == product.productId)\n ?.categorie == 1\n ) {\n if (\n this.applications.some(\n (app) =>\n app.product.id == product.productId &&\n product.quantity < 0,\n )\n ) {\n const app = this.applications.find(\n (app) => app.product.id == product.productId,\n )!;\n const index = this.applications.indexOf(app);\n this.applications.splice(index, 1);\n this.removedProductName.push(app.product.name);\n } else {\n const app = this.products.find(\n (app) => app.id == product.productId,\n )!;\n this.applications.push({\n product: app,\n quantity: 1,\n originPriceAmount: null,\n finalPriceAmount: null,\n });\n }\n } else if (\n this.products.find((p) => p.id == product.productId)\n ?.categorie == 2\n ) {\n const option = this.options.find(\n (opt) => opt.product.id == product.productId,\n )!;\n option.quantity += product.quantity;\n }\n\n const produit = this.products.find(\n (p) => p.id == product.productId,\n );\n this.productsFromEvent.push({\n product: produit!,\n quantity: product.quantity!,\n originPriceAmount: null,\n finalPriceAmount: null,\n });\n },\n );\n\n this.updatePricesAndTvaAmount();\n\n this.options.forEach((opt) => {\n if (opt.quantity == 0) {\n this.options.splice(this.options.findIndex((o) => o == opt, 1));\n }\n });\n\n this.disableValidationButton = false;\n this.stepperStep = 4;\n }\n\n public haveApp(): boolean {\n if (\n this.applicationsFilter &&\n this.applicationsFilter.filter((app) => app.checked).length == 0\n ) {\n this.nextButtonLabel = 'Resilier le domaine';\n return false;\n }\n this.nextButtonLabel = 'Suivant';\n return true;\n }\n\n public previousStep(): void {\n if (this.stepperStep == 2) {\n this.event = {\n domainId: this.domain.id,\n platformOrigin: PlatformOrigin.Client,\n originUser: this.domain.customer.email,\n periodicity: null,\n domainUpdateProductEvents: [],\n };\n }\n this.stepperStep -= 1;\n this.processing = false;\n }\n\n public async nextStep(): Promise {\n this.pageProcessing = true;\n if (this.stepperStep <= this.steps.length) {\n const step = this.steps[this.stepperStep - 1];\n\n if (step.async) {\n this.processing = true;\n }\n\n if (this.stepperStep === 1) {\n const basket: {\n product: ProductDto;\n quantity: number;\n originPriceAmount: number;\n finalPriceAmount: number;\n }[] = [];\n let warning = 0;\n this.applicationsFilter.forEach((app) => {\n if (!app.checked) {\n if (this.isInDomainProducts(app.product.id!)) {\n if (\n (app.product.code == 1 && !this.motifGC) ||\n (app.product.code == 2 && !this.motifCompta)\n ) {\n warning++;\n this.notification.warning(\n '',\n `Vous devez indiquer un motif de suppression pour l'application ${app.product.name}`,\n );\n this.processing = false;\n this.pageProcessing = false;\n return;\n }\n if (\n (app.product.code == 1 && this.motifGC) ||\n (app.product.code == 2 && this.motifCompta)\n ) {\n this.event?.domainUpdateProductEvents.push({\n productId: app.product.id!,\n quantity: -1,\n motifRetraitProductId:\n app.product.code == 1\n ? this.motifGC?.id!\n : app.product.code == 2\n ? this.motifCompta?.id!\n : null,\n });\n this.removedProductName.push(app.product.name);\n }\n }\n } else {\n if (!this.isInDomainProducts(app.product.id!)) {\n this.event?.domainUpdateProductEvents.push({\n productId: app.product.id!,\n quantity: 1,\n });\n } else {\n switch (app.product.code) {\n case 1:\n this.motifGC = null;\n break;\n case 2:\n this.motifCompta = null;\n break;\n default:\n }\n }\n const basketItem = {\n product: app.product,\n quantity: 1,\n originPriceAmount: this.productsWithPrices.find(\n (pp) => pp.codeHubbix == app.product.code,\n )?.originPriceAmount!,\n finalPriceAmount: this.productsWithPrices.find(\n (pp) => pp.codeHubbix == app.product.code,\n )?.finalPriceAmount!,\n };\n basket.push(basketItem);\n }\n });\n\n if (warning == 0) {\n this.applications = basket;\n if (this.applications.length > 0) {\n if (\n !this.applications.some(\n (app) => app.product.code == 2,\n )\n ) {\n const index = this.optionsFilter.findIndex(\n (opt) => opt.product.code == 98,\n );\n if (index >= 0) {\n this.optionsFilter.splice(index, 1);\n }\n } else {\n this.optionsFilter = this.products\n .filter(\n (item) =>\n item.categorie == 2 &&\n item.level == 2 &&\n item.code != 97,\n )\n ?.map((item: ProductDto) => {\n const quantity = this.options.find(\n (opt) => opt.product.id == item.id,\n )?.quantity!;\n return {\n product: item,\n quantity: quantity + 1,\n };\n });\n }\n this.previousButtonLabel = 'Précédent';\n this.processing = false;\n this.pageProcessing = false;\n this.stepperStep += 1;\n } else {\n this.notification.warning(\n '',\n `Vous devez conserver au moins une application`,\n );\n this.processing = false;\n this.pageProcessing = false;\n // resiliation du domaine\n }\n }\n } else if (this.stepperStep === 2) {\n this.pageProcessing = true;\n this.processing = true;\n const basket: {\n product: ProductDto;\n quantity: number;\n originPriceAmount: number;\n finalPriceAmount: number;\n }[] = [];\n this.optionsFilter.forEach((opt) => {\n const option = this.options.find(\n (option) => option.product.id == opt.product.id,\n );\n const quantity = opt.quantity - 1 - option?.quantity!;\n if (quantity != 0) {\n this.event?.domainUpdateProductEvents.push({\n productId: opt.product.id!,\n quantity: quantity,\n });\n }\n if (opt.quantity > 0 && opt.quantity - 1 != 0) {\n const basketItem = {\n product: opt.product,\n quantity: opt.quantity - 1,\n originPriceAmount: this.productsWithPrices.find(\n (pp) => pp.codeHubbix == opt.product.code,\n )?.originPriceAmount!,\n finalPriceAmount: this.productsWithPrices.find(\n (pp) => pp.codeHubbix == opt.product.code,\n )?.finalPriceAmount!,\n };\n basket.push(basketItem);\n }\n });\n\n this.options = basket;\n this.processing = false;\n this.nextButtonLabel = 'Enregistrer';\n this.pageProcessing = false;\n this.stepperStep += 1;\n } else if (this.stepperStep === 3) {\n this.pageProcessing = true;\n this.clickButton = true;\n const periodicity = Number(this.periodicity);\n if (periodicity != this.domain.subscriptionPeriodicity) {\n this.event = {\n ...this.event!,\n periodicity: periodicity,\n };\n }\n\n this._productService\n .getProductsWithPrices(periodicity.toString())\n .subscribe((products) => {\n this.applications.forEach((app) => {\n app.originPriceAmount = products.find(\n (pp) => pp.codeHubbix == app.product.code,\n )?.originPriceAmount!;\n app.finalPriceAmount = this.applyDiscount\n ? products.find(\n (pp) => pp.codeHubbix == app.product.code,\n )?.finalPriceAmount!\n : products.find(\n (pp) => pp.codeHubbix == app.product.code,\n )?.originPriceAmount!;\n });\n this.options.forEach((opt) => {\n opt.originPriceAmount = products.find(\n (pp) => pp.codeHubbix == opt.product.code,\n )?.originPriceAmount!;\n opt.finalPriceAmount = products.find(\n (pp) => pp.codeHubbix == opt.product.code,\n )?.finalPriceAmount!;\n });\n });\n\n if (this.event!.domainUpdateProductEvents.length > 0) {\n const result = await lastValueFrom(\n this._domainUpdateService.submitDomainUpdateEvent(\n this.domain.id!,\n this.event!,\n ),\n );\n if (result) {\n this.updatePricesAndTvaAmount();\n this.event = result;\n this.disableValidationButton = false;\n this.modificationInMore =\n result.domainUpdateProductEvents.some(\n (dupe) => dupe.quantity > 0,\n );\n result.domainUpdateProductEvents.forEach(\n (product: DomainUpdateProductEventResult) => {\n const produit = this.products.find(\n (p) => p.id == product.productId,\n );\n this.productsFromEvent.push({\n product: produit!,\n quantity: product.quantity!,\n originPriceAmount: null,\n finalPriceAmount: null,\n });\n },\n );\n this._productService\n .getProductsWithPrices(periodicity.toString())\n .subscribe((products) => {\n this.productsFromEvent.forEach((pfe) => {\n pfe.originPriceAmount = products.find(\n (pp) =>\n pp.codeHubbix == pfe.product.code,\n )?.originPriceAmount!;\n pfe.finalPriceAmount = products.find(\n (pp) =>\n pp.codeHubbix == pfe.product.code,\n )?.finalPriceAmount!;\n });\n });\n this.stepperStep += 1;\n }\n } else {\n this.notification.warning(\n '',\n \"Aucune modification n'est à enregistrer\",\n {\n duration: 3000,\n },\n );\n setTimeout(() => {\n this.pageProcessing = false;\n this.closeAndDestroyModal();\n }, 3000);\n }\n }\n }\n }\n\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.unsubscribe();\n this._domainUpdateService.resetAllDomainUpdateSubjects();\n }\n\n private firstModalRef!: NzModalRef;\n public closeAndDestroyModal() {\n if (this.firstModalRef) {\n this.firstModalRef.close();\n this.firstModalRef.destroy();\n }\n this.modal.close();\n this.modal.destroy();\n }\n\n public submitDomainResiliation(): void {\n this.firstModalRef = this.modalService.create({\n nzContent: ResiliationDomainComponent,\n nzClosable: false,\n nzMaskClosable: false,\n nzOkText: 'OK',\n nzCancelText: 'Annuler',\n nzWidth: '600px',\n nzClassName: 'resiliation-domain-modal',\n nzFooter: [\n {\n label: 'Resilier',\n onClick: () => {\n this.closeAndDestroyModal();\n this.openCheckDeleteModal(this.firstModalRef);\n },\n class: 'resiliation-button',\n },\n {\n label: 'Modifier mon abonnement',\n onClick: () => this.firstModalRef.close(),\n class: 'modify-button',\n },\n ],\n });\n }\n\n public openCheckDeleteModal(firstModalRef: NzModalRef): void {\n const modalRef: NzModalRef = this.modalService.create({\n nzContent: FormResiliationComponent,\n nzClassName: 'resiliationDomainModal',\n nzWidth: '575px',\n nzFooter: [\n {\n label: 'Annuler',\n onClick: () => modalRef.close(),\n },\n {\n label: 'Enregistrer',\n onClick: () => {\n modalRef.close();\n },\n },\n ],\n });\n firstModalRef.close();\n }\n\n public validateEvent() {\n this.processing = true;\n this._domainUpdateService\n .validateDomainUpdateEvent(this.event?.domainId!, this.event?.id!)\n .pipe(\n switchMap((validateEvent) => {\n if (!validateEvent) return of({});\n return this.onPurchase(validateEvent);\n }),\n switchMap((order) => {\n if (order instanceof HttpErrorResponse) return of(order);\n if (Object.keys(order).length === 0) return of(order);\n return this._domainUpdateService.domainUpdateEventOrder(\n this.event?.domainId!,\n this.event?.id!,\n order.id!,\n );\n }),\n )\n .subscribe((event) => {\n if (event.hasOwnProperty('orderId')) {\n this.notification.info(\n '',\n 'Vous allez être redirigé vers la boutique pour finaliser les modifications',\n );\n }\n\n this._domainService.getDomains().subscribe();\n\n setTimeout(() => {\n if (Object.keys(event).length > 0)\n window.location.href = `${this._globalService.urlFrontShopHubbix}/paiement/redirect/${event.orderId}`;\n if (Object.keys(event).length === 0)\n this.notification.info(\n '',\n 'Les modifications ont bien été appliquées',\n );\n\n this.closeAndDestroyModal();\n this.processing = false;\n }, 3000);\n });\n }\n\n private onPurchase(validateMessageResult: any) {\n const setOrderDto = this._orderService.createSetOrderDto(\n validateMessageResult,\n this.domain,\n );\n\n if (validateMessageResult) {\n this.notification.info(\n '',\n 'Les modifications ont bien été appliquées',\n );\n sessionStorage.removeItem('LastEvent');\n }\n return this._orderService.setOrder(setOrderDto).pipe(\n catchError((err) => {\n this.notification.error(\"Une erreur s'est produite\", '');\n return of(err);\n }),\n );\n }\n\n public deleteEvent() {\n this._domainUpdateService\n .deleteDomainUpdateEvent(this.domain.id!, this.event?.id!)\n .subscribe();\n sessionStorage.removeItem('LastEvent');\n this.closeAndDestroyModal();\n }\n\n public isInDomainProducts(id: string): boolean {\n return this.domain.products.some((app) => app.id == id);\n }\n\n changeOptionQuantity(quantity: number, product: ProductDto): void {\n let option = this.optionsFilter.find(\n (opt) => opt.product.id == product.id,\n )!;\n const index = this.optionsFilter.indexOf(option);\n option = { ...option, quantity: quantity };\n this.optionsFilter.splice(index, 1, option);\n }\n\n public getPeriodicity(): string {\n return PeriodicityEnum[this.periodicity];\n }\n\n public getPaymentMod(): string {\n return PaymentModEnum[this.paiement];\n }\n\n private updatePricesAndTvaAmount() {\n this.basketLoader = true;\n const products: ProductForEstimation[] = [];\n [...this.applications, ...this.options].forEach((product) => {\n const codeECC = this.productsWithPrices.find(\n (p) => p.codeHubbix == product.product.code,\n )?.codeEcc!;\n products.push({\n codeECC: codeECC,\n quantity: product.quantity,\n });\n });\n this._domainUpdateService\n .getEstimatedPrices({\n codeDomaine: this.domain.code.toString(),\n platformOrigin: this.event?.platformOrigin!,\n periodicity: this.periodicity,\n codePromo: this.codePromo,\n products: products,\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n if (result) {\n this.applications.forEach((app) => {\n const estimatedProduct = result.products?.find(\n (ep) => ep.codeHubbix == app.product.code,\n )!;\n app.originPriceAmount =\n estimatedProduct.originPriceAmount!;\n app.finalPriceAmount =\n estimatedProduct.finalPriceAmount!;\n });\n\n this.options.forEach((opt) => {\n const estimatedProduct = result.products?.find(\n (ep) => ep.codeHubbix == opt.product.code,\n )!;\n opt.originPriceAmount =\n estimatedProduct.originPriceAmount!;\n opt.finalPriceAmount =\n estimatedProduct.finalPriceAmount!;\n });\n\n this.productsFromEvent.forEach((pfe) => {\n const estimatedProduct = result.products?.find(\n (ep) => ep.codeHubbix == pfe.product.code,\n )!;\n pfe.originPriceAmount =\n estimatedProduct.originPriceAmount!;\n pfe.finalPriceAmount =\n estimatedProduct.finalPriceAmount!;\n });\n\n this.basketLoader = false;\n this.pageProcessing = false;\n }\n });\n }\n}\n","
    \n
    \n Modification de l'abonnement de {{ domainName }}\n
    \n \n \n
    \n\n
    \n
    \n
    \n \n Attention, certaines modifications apportées à votre abonnement prennent effet le {{provisionalDatesRetrait.dateEffectiveRetrait | date: 'shortDate'}}.\n Toutes nouvelles modifications se substitueront à celles en cours.\n
    \n
    \n
    \n
    * En cas d’ajout de logiciels / options : je bénéficie de mes nouveaux logiciels / options dès leur achat dans la boutique après confirmation des modifications (redirection automatique). Je bénéficie d’une facturation au prorata temporis jusqu’à la prochaine échéance de mon abonnement.
    \n
    ** En cas de retrait de logiciels / options : je continue de bénéficier de mes logiciels / options jusqu’à la prochaine échéance de mon abonnement. Ma facturation sera ajustée en fonction des modifications le mois suivant.
    \n
    \n \n
    \n

    Mes applications

    \n
    \n \n \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n\n \n
    \n

    Mes options

    \n
    \n \n \n
    \n
    \n\n \n
    \n

    Détails

    \n
    \n \n

    * Type d'abonnement

    \n \n \n \n \n
    \n \n

    * Mode de paiement

    \n \n \n \n \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n \n

    Mes modifications

    \n \n \n
    \n \n

    Mon abonnement à compter du {{provisionalDatesRetrait.dateEffectiveRetrait | date: 'shortDate'}}

    \n \n \n\n
    0\">\n \n \n
    \n
    \n 0\">\n
    \n

    Produit1\">s retiré1\">s de votre abonnement :

    \n
    \n {{ProductName}}1\">, \n
    \n
    \n
    \n
    \n

    Date de retrait effectif :

    \n \n \n {{provisionalDatesRetrait.dateEffectiveRetrait | date: 'shortDate'}}\n \n
    \n
    \n

    Date d'anonymisation des données :

    \n \n \n {{provisionalDatesRetrait.dateSuppressionDonnees | date: 'shortDate'}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    Mon échéance à compter du {{provisionalDatesRetrait.dateEffectiveRetrait | date: 'shortDate'}}

    \n \n \n
    \n Total HT\n \n {{ amount.totalOriginPriceAmount | currency }}\n {{ amount.totalFinalPriceAmount | currency }}\n \n \n {{ amount.totalFinalPriceAmount | currency }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    Détails

    \n
    \n
    Type d'abonnement
    \n
    {{getPeriodicity()}}
    \n
    \n
    \n
    Moyen de paiement
    \n
    {{getPaymentMod()}}
    \n
    \n
    \n
    Raison sociale
    \n
    {{domainName}}
    \n
    \n
    \n
    Domaine
    \n
    {{domain.code}}
    \n
    \n
    \n
    \n
    \n \n \n \n En cas d’ajout de logiciels / options : je bénéficie de mes nouveaux logiciels / options dès leur achat dans la boutique après confirmation des modifications (redirection automatique). Je bénéficie d’une facturation au prorata temporis jusqu’à la prochaine échéance de mon abonnement.\n \n \n \n \n En cas de retrait de logiciels / options : je continue de bénéficier de mes logiciels / options jusqu’à la prochaine échéance de mon abonnement. Ma facturation sera ajustée en fonction des modifications le mois suivant.\n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n\n \n\n \n\n \n \n
    \n\n\n\n \n\n\n\n
    \n \n
    \n
    \n\n
    \n \n
    \n
    \n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { EbpNotificationService } from '@ebp/notifications';\nimport { DomainInterface } from 'src/app/shared/interfaces/domain-interface';\nimport { OptionsInterface } from 'src/app/shared/interfaces/options-interface';\nimport { DomainsService } from 'src/app/shared/services/domains.service';\nimport { ProductCommand } from 'src/app/shared/services/product.service';\n\n@Component({\n selector: 'app-modification-option-card',\n templateUrl: './modification-option-card.component.html',\n styleUrls: ['./modification-option-card.component.less'],\n})\nexport class ModificationOptionCardComponent implements OnInit {\n @Input() public code!: number;\n @Input() public currentValue!: number;\n @Input() public domain!: DomainInterface;\n @Input() public prices!: ProductCommand[];\n @Input() public optionsMinValues!: OptionsInterface[];\n @Output() changeQuantity = new EventEmitter();\n public sizeUsed!: number;\n\n public title!: string;\n public iconName!: string;\n public price!: number;\n // public baseValue:number = 1;\n private minValue: number = 1;\n private step: number = 1;\n\n constructor(\n private _domainsService: DomainsService,\n private notification: EbpNotificationService,\n ) {}\n\n ngOnInit(): void {\n /* this._domainsService.getDomainStorage(this.domain?.id!)\n .subscribe(storage=>this.sizeUsed=storage.sizeUsed);*/\n switch (this.code) {\n case 97:\n this.title = 'Stockage';\n this.iconName = 'cloud';\n // this.baseValue = 50;\n this.step = 5;\n break;\n case 98:\n this.title = 'Banque';\n this.iconName = 'account_balance';\n break;\n case 99:\n this.title = 'Utilisateur';\n this.iconName = 'people';\n break;\n default:\n this.title = '';\n this.iconName = '';\n }\n\n this.price = this.prices.find(\n (p) => p.codeHubbix == this.code,\n )?.originPriceAmount!;\n this.minValue = this.optionsMinValues.find(\n (o) => o.productCode == this.code,\n )?.minQuantity!;\n }\n\n clickMore() {\n this.currentValue += this.step;\n this.changeQuantity.emit(this.currentValue);\n }\n\n clickLess() {\n if (this.currentValue > this.minValue) {\n this.currentValue -= this.step;\n this.changeQuantity.emit(this.currentValue);\n } else {\n this.notification.warning(\n '',\n `Vous devez retirer l'accès à certain${this.code == 98 ? 'e' : ''}s de vos ${this.title.toLowerCase()}s avant de reduire cette option.`,\n );\n }\n }\n\n public convertBytetoGiB(byte: number) {\n if (byte <= 0) return 0;\n const res = byte / (1024 * 1024 * 1024);\n return parseFloat(res.toFixed(1));\n }\n}\n","\n
    \n
    \n {{ iconName }}\n {{ title }}s\n
    \n
    \n dont 1 {{ title.toLowerCase() }} incluse dans mon abonnement\n
    \n
    \n
    \n
    -
    \n
    \n {{currentValue}} Go\n
    \n
    +
    \n
    \n\n
    \n
    \n
    \n\n \n \n
    \n
    \n {{ sizeUsed }}Go/ {{currentValue}} Go\n
    \n
    \n
    \n\n
    \n {{(price*(currentValue-1))|currency}} / mois \n {{price | currency}} / mois / {{title.toLowerCase()}} supplémentaire\n {{currentValue<=50 ? 'Adapté à une petite entreprise': currentValue<=200 ? 'Adapté à une entreprise moyenne':'Adapté à une grande entreprise'}}\n
    \n\n
    \n\n\n
    \n \n
    \n\n\n
    \n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-resiliation-domain',\n templateUrl: './resiliation-domain.component.html',\n styleUrls: ['./resiliation-domain.component.scss'],\n})\nexport class ResiliationDomainComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
    \n \n
    \n \n
    \n
    \n \"Image\n

    Vous souhaitez résilier ?

    \n
    \n \n

    Il semble que vous n’ayez sélectionné aucun logiciel. Il est nécessaire de sélectionner au moins une application\n dans un abonnement.

    Si vous souhaitez résilier, un processus dédié est à votre disposition.

    \n

    Quelle opération souhaitez-vous réaliser ?

    \n
    \n
    \n
    \n ","import { Component, OnInit } from '@angular/core';\nimport { NzModalRef } from 'ng-zorro-antd/modal';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { UserInterfaceDto } from '../../../shared/interfaces/user-interface';\nimport { EbpValidatorsService } from '@ebp/validation';\nimport { RoleInterface } from 'src/app/shared/interfaces/role-interface';\nimport { DomainInterface } from 'src/app/shared/interfaces/domain-interface';\nimport { combineLatestWith, map, Observable, of, take } from 'rxjs';\nimport { DomainsService } from 'src/app/shared/services/domains.service';\nimport { RoleService } from '../../../shared/services/role.service';\nimport { ProductCodeHubbixEnum } from 'src/app/shared/enums/enumerations';\nimport { ProductService } from 'src/app/shared/services/product.service';\nimport { ProductV2Dto } from 'src/app/shared/interfaces/product-interface';\n\n@Component({\n selector: 'app-user-edit-dialog',\n templateUrl: './user-edit-dialog.component.html',\n styleUrls: ['./user-edit-dialog.component.less'],\n})\nexport class UserEditDialogComponent implements OnInit {\n public data!: UserInterfaceDto;\n public adminNb!: number;\n public connectedUser!: UserInterfaceDto;\n public hasChartAcc!: boolean;\n public canHaveMoreUser!: boolean;\n\n public form!: FormGroup;\n\n public roles$!: Observable | null>;\n public currentDomain$!: Observable;\n\n public products$!: Observable;\n public products!: ReadonlyArray | undefined;\n public rolesList!: ReadonlyArray;\n public isAuthorized = false;\n private role!: any;\n public dynamicMaxTagCount!: number;\n\n /**\n * UserEditDialogComponent constructor\n */\n constructor(\n private _fb: FormBuilder,\n private modal: NzModalRef,\n private _validatorsService: EbpValidatorsService,\n private _domainsService: DomainsService,\n private _roleService: RoleService,\n private _productService: ProductService,\n ) {}\n\n /**\n * UserEditDialogComponent init\n */\n ngOnInit(): void {\n this.products$ = this._productService.products$;\n\n this.currentDomain$ = this._domainsService.getCurrentDomain();\n // Vérifiacation doublon roles\n const uniqueRoles: RoleInterface[] = [];\n const valeursUniques: Set = new Set();\n this.roles$ = this._roleService.roles$;\n this.roles$.forEach((roles) => {\n roles?.forEach((role) => {\n if (!valeursUniques.has(role.name)) {\n valeursUniques.add(role.name);\n uniqueRoles.push(role);\n }\n });\n });\n this.roles$ = of(uniqueRoles);\n /// //////////////////////////////\n\n this.products$\n .pipe(combineLatestWith(this.currentDomain$), take(1))\n .subscribe(([products, domain]) => {\n if (products && domain) {\n const productsList: ProductV2Dto[] = [];\n domain?.products.forEach((dp) => {\n if (\n dp.code ==\n ProductCodeHubbixEnum.COMPTABILITE_SILVER ||\n dp.code == ProductCodeHubbixEnum.COMPTABILITE\n ) {\n productsList.push(\n products.find(\n (p) =>\n p.codeHubbix ==\n ProductCodeHubbixEnum.COMPTABILITE,\n )!,\n );\n }\n if (\n dp.code ==\n ProductCodeHubbixEnum.GESTION_COMMERCIALE ||\n dp.code ==\n ProductCodeHubbixEnum.GESTION_COMMERCIALE_SILVER\n ) {\n productsList.push(\n products.find(\n (p) =>\n p.codeHubbix ==\n ProductCodeHubbixEnum.GESTION_COMMERCIALE,\n )!,\n );\n }\n if (\n dp.code == ProductCodeHubbixEnum.BATIMENT ||\n dp.code == ProductCodeHubbixEnum.BATIMENT_SILVER\n ) {\n productsList.push(\n products.find(\n (p) =>\n p.codeHubbix ==\n ProductCodeHubbixEnum.BATIMENT,\n )!,\n );\n }\n });\n\n this.products = productsList;\n }\n });\n\n this._domainsService.connectedUser$.pipe(take(1)).subscribe((user) => {\n if (user) {\n Object.values(user.roles).map((role) => {\n this.isAuthorized = role === 'Administrator';\n });\n }\n });\n\n this.roles$\n .pipe(\n take(1),\n map((roles) => {\n const expert: string = 'ChartAccountant';\n if (\n this.hasChartAcc &&\n Object.values(this.data.roles).toString() != expert\n ) {\n return roles?.filter((role) => role.name != expert);\n } else if (\n Object.values(this.data.roles).toString() === expert &&\n !this.canHaveMoreUser\n ) {\n return roles?.filter((role) => role.name === expert);\n } else {\n return roles;\n }\n }),\n )\n .subscribe((roles) => {\n this.rolesList = roles!;\n });\n\n this.buildForm();\n this.patchValues();\n\n this.form\n .get('softwareAccess')\n ?.valueChanges.subscribe((selectedValues: any[]) => {\n this.dynamicMaxTagCount = this.manageMaxTagCount(\n selectedValues.length,\n );\n });\n }\n\n /**\n * Submit form value and close modal\n */\n public submit() {\n this.roles$\n .pipe(\n take(1),\n map(\n (roles) =>\n roles?.filter(\n (role) => role.id === this.form.get('roles')?.value,\n )[0],\n ),\n )\n .subscribe((e) => (this.role = { [e!.id]: e!.name }));\n\n const user: UserInterfaceDto = {\n ...this.form.value,\n roles: this.role,\n };\n\n this.modal.close(user);\n this.modal.destroy();\n }\n\n /**\n * Close dialog\n */\n public closeDialog(): void {\n this.modal.destroy();\n }\n\n /**\n * Build form\n */\n private buildForm() {\n this.form = this._fb.group({\n firstName: [null, this._validatorsService.required],\n lastName: [null, this._validatorsService.required],\n email: [\n null,\n [\n this._validatorsService.required,\n this._validatorsService.email,\n ],\n ],\n roles: [null, this._validatorsService.required],\n softwareAccess: [null, this._validatorsService.required],\n });\n }\n\n /**\n * Patch init values in form\n */\n private patchValues() {\n this.form.patchValue(this.data);\n this.form\n .get('roles')\n ?.patchValue(Object.keys(this.data.roles).toString());\n this.form\n .get('softwareAccess')\n ?.patchValue(\n Object.keys(this.data.softwareAccess).map((keys) => +keys),\n );\n this.form.updateValueAndValidity();\n this.dynamicMaxTagCount = this.manageMaxTagCount(\n Object.entries(this.data.softwareAccess).length,\n );\n }\n\n private manageMaxTagCount(elt: number): number {\n const minElement: number = 1;\n const maxElement: number = 2;\n return elt > 2 ? minElement : maxElement;\n }\n}\n","
    \n
    \n Modifier un utilisateur\n
    \n
    \n
    \n \n Prénom\n \n \n \n \n \n Nom\n \n \n \n \n \n Email\n \n \n \n \n \n Profil\n \n \n \n \n \n \n \n Accès\n \n \n \n \n \n et {{ omittedValues.length }} autres produits\n \n \n \n
    \n
    \n Les champs avec * sont obligatoires\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LineChartComponent } from './components/charts/line-chart/line-chart.component';\nimport { PieChartComponent } from './components/charts/pie-chart/pie-chart.component';\nimport { PageHeaderComponent } from './components/page-header/page-header.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { UserEditDialogComponent } from './dialogs/user-edit-dialog/user-edit-dialog.component';\nimport { InvitationDialogComponent } from './dialogs/invitation-dialog/invitation-dialog.component';\nimport { AntDesignModule } from '../shared/modules/ant-design/ant-design.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EbpCommonModule } from '@ebp/common';\nimport { EndTrialPeriodComponent } from './dialogs/end-trial-period/end-trial-period.component';\nimport { NotificationsOptionComponent } from './options/notifications-option/notifications-option.component';\nimport { NzSliderModule } from 'ng-zorro-antd/slider';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { ModificationDialogComponent } from './dialogs/modification-dialog/modification-dialog.component';\nimport { ConfirmationModificationTableComponent } from './components/tables/confirmation-modification-table/confirmation-modification-table.component';\nimport { ModificationOptionCardComponent } from './dialogs/modification-dialog/modification-option-card/modification-option-card.component';\nimport { ResiliationDomainComponent } from './dialogs/resiliation-domain/resiliation-domain.component';\nimport { FormResiliationComponent } from './dialogs/form-resiliation/form-resiliation.component';\nimport { DataSourceComponent } from './migration/data-source/data-source.component';\nimport { LoginComponent } from './migration/login/login.component';\nimport { MigrationComponent } from './migration/migration.component';\nimport { DataImportFinishComponent } from './migration/data-import-finish/data-import-finish.component';\nimport { DataImportComptaComponent } from './migration/data-import-compta/data-import-compta.component';\nimport { DataImportBeforeStartComponent } from './migration/data-import-before-start/data-import-before-start.component';\nimport { DataImportProgressComponent } from './migration/data-import-progress/data-import-progress.component';\nimport { ResiliationComponent } from './migration/resiliation/resiliation.component';\nimport { ProductPanelComponent } from './migration/resiliation/product-panel/product-panel.component';\n\n@NgModule({\n declarations: [\n PageHeaderComponent,\n LineChartComponent,\n PieChartComponent,\n // Dialogs\n UserEditDialogComponent,\n InvitationDialogComponent,\n EndTrialPeriodComponent,\n NotificationsOptionComponent,\n ModificationDialogComponent,\n ConfirmationModificationTableComponent,\n ModificationOptionCardComponent,\n ResiliationDomainComponent,\n FormResiliationComponent,\n DataSourceComponent,\n LoginComponent,\n MigrationComponent,\n DataImportFinishComponent,\n DataImportComptaComponent,\n DataImportBeforeStartComponent,\n DataImportProgressComponent,\n ResiliationComponent,\n ProductPanelComponent,\n ],\n imports: [\n // Angular Modules\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n SharedModule,\n // Ant Design\n AntDesignModule,\n // EBP\n EbpCommonModule,\n NzSliderModule,\n NzCheckboxModule,\n ],\n exports: [\n PageHeaderComponent,\n // Dialogs\n UserEditDialogComponent,\n InvitationDialogComponent,\n ModificationDialogComponent,\n ],\n})\nexport class FeaturesModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SoftwareSource } from 'src/app/shared/interfaces/migration.inferface';\n\n@Component({\n selector: 'app-data-import-before-start',\n templateUrl: './data-import-before-start.component.html',\n styleUrls: ['./data-import-before-start.component.less'],\n})\nexport class DataImportBeforeStartComponent {\n @Output()\n public readonly resetTrialData: EventEmitter =\n new EventEmitter();\n\n @Input()\n public dataSource: SoftwareSource | undefined;\n\n @Input()\n public dataBaseNotReady!: boolean;\n\n @Input()\n public isCheckControlProgress!: boolean;\n\n @Input()\n public isResetProductDataLoading!: boolean;\n\n public disableResetData: boolean = false;\n\n public confirmDeleteData(): void {\n this.disableResetData = true;\n this.resetTrialData.emit();\n }\n}\n","
    \n

    Importez vos données

    \n \"logo\n

    Les données suivantes seront récupérées :

    \n
      \n
    • Articles et familles d'articles
    • \n
    • Clients et familles de clients
    • \n
    • Conditions de règlements (ou modes de règlements)
    • \n
    • Les 1000 derniers documents de vente validés en PDF (hors devis)
    • \n
    \n \n \n \n \n

    \n Votre base de données Hubbix doit être vierge pour que l'import soit exécutable.\n
    \n Il est nécessaire de réinitialiser votre domaine avant de procéder à l'importation.\n

    \n

    Les données de l'ensemble de vos produits Hubbix seront définitivement supprimées.

    \n
    \n \n Réinitialiser les données\n \n \n \n
    \n Les données de tous vos produits Hubbix seront définitivement supprimées.

    Souhaitez-vous continuer ?
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n

    \n L'espace Hubbix est en cours de création ou la base de données n'est pas encore prête.
    \n Veuillez réessayer plus tard.\n

    \n
    \n
    \n
    \n \n
    \n
    \n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-data-import-compta',\n templateUrl: './data-import-compta.component.html',\n styleUrls: ['./data-import-compta.component.less'],\n})\nexport class DataImportComptaComponent {}\n","

    Importez vos données comptables

    \n

    Vous allez être redirigé vers l’assistant de récupération de vos données comptables.

    \n\"logo\n

    Cet assistant vous permettra de :

    \n
      \n
    • Déposer votre fichier FEC
    • \n
    • Créer vos exercices
    • \n
    • Importer votre Plan Comptable Général
    • \n
    • Importer vos comptes de tiers
    • \n
    • Importer vos journaux
    • \n
    • Importer vos écritures
    • \n
    \n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {\n MigrationResult,\n SoftwareSource,\n} from 'src/app/shared/interfaces/migration.inferface';\nimport { MigrationService } from 'src/app/shared/services/migration.service';\nimport { catchError, filter, of, Subject } from 'rxjs';\nimport { map, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { downloadFile } from '../../../shared/helpers/download-file.helper';\n\n@Component({\n selector: 'app-data-import-finish',\n templateUrl: './data-import-finish.component.html',\n styleUrls: ['./data-import-finish.component.less'],\n})\nexport class DataImportFinishComponent implements OnInit, OnDestroy {\n @Output()\n public readonly retryMigrationClick: EventEmitter =\n new EventEmitter();\n\n @Input()\n public migrationState!: MigrationResult | null;\n\n @Input()\n public dataSourceSelected: SoftwareSource | undefined;\n\n public softwareSelected: string = '';\n\n public isDownloadingReport: boolean = false;\n\n private readonly reportFileName: string = 'rapport_migration.txt';\n\n private readonly reportDownloadSubject: Subject = new Subject();\n\n private readonly destroy$: Subject = new Subject();\n\n private lastDownloadedReportUrl: string | undefined;\n\n public constructor(private readonly migrationService: MigrationService) {}\n\n public ngOnInit(): void {\n if (this.migrationState) {\n this.softwareSelected = this.getProductName();\n }\n\n this.observeReportDownload();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.revokeLastDownloadedReportUrl();\n }\n\n public retryMigration(): void {\n this.retryMigrationClick.emit();\n }\n\n public downloadReport(): void {\n this.reportDownloadSubject.next();\n }\n\n private getProductName(): string {\n if (!this.migrationState) {\n return '';\n }\n\n if (this.dataSourceSelected !== undefined) {\n return this.dataSourceSelected.product.name;\n }\n\n return this.migrationService.getNameAndPathByProduct(\n this.migrationState.typeMigration,\n ).name;\n }\n\n private observeReportDownload(): void {\n this.reportDownloadSubject\n .pipe(\n filter(() => !!this.migrationState),\n map(() => this.migrationState!.domainId),\n tap(() => (this.isDownloadingReport = true)),\n switchMap((domainId: string) =>\n this.migrationService.downloadMigrationReportFile(domainId),\n ),\n catchError(() => of(undefined)),\n tap(() => (this.isDownloadingReport = false)),\n takeUntil(this.destroy$),\n )\n .subscribe((report: Blob | undefined) => {\n if (report) {\n this.revokeLastDownloadedReportUrl();\n this.lastDownloadedReportUrl = downloadFile(\n report,\n this.reportFileName,\n );\n }\n });\n }\n\n private revokeLastDownloadedReportUrl(): void {\n if (this.lastDownloadedReportUrl) {\n URL.revokeObjectURL(this.lastDownloadedReportUrl);\n }\n }\n}\n","
    \n
    \n \"logo\n \"Chargement\n

    \n L’import de vos données {{softwareSelected}} commencé le {{migrationState!.startDate|date:'d MMMM yyyy à H:mm'}} a réussi.\n

    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { catchError, map, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\nimport { MigrationStatus } from 'src/app/shared/enums/migration.enum';\nimport { downloadFile } from 'src/app/shared/helpers/download-file.helper';\nimport { MigrationService } from 'src/app/shared/services/migration.service';\n\n@Component({\n selector: 'app-data-import-progress',\n templateUrl: './data-import-progress.component.html',\n styleUrls: ['./data-import-progress.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataImportProgressComponent implements OnInit, OnDestroy {\n @Output()\n public readonly retryMigrationClick: EventEmitter =\n new EventEmitter();\n\n public readonly MigrationStatus: typeof MigrationStatus = MigrationStatus;\n\n @Input()\n public migrationStatus!: MigrationStatus;\n\n @Input()\n public canDisplayedReportFile: boolean = false;\n\n @Input()\n public domainId!: string;\n\n public isDownloadingReport: boolean = false;\n\n private readonly reportDownloadSubject: Subject = new Subject();\n\n private readonly destroy$: Subject = new Subject();\n\n private readonly reportFileName: string = 'rapport_migration.txt';\n\n private lastDownloadedReportUrl: string | undefined;\n\n public constructor(private readonly migrationService: MigrationService) {}\n\n public ngOnInit(): void {\n this.observeReportDownload();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.revokeLastDownloadedReportUrl();\n }\n\n public retryMigration(): void {\n this.retryMigrationClick.emit();\n }\n\n public downloadReport(): void {\n this.reportDownloadSubject.next();\n }\n\n private observeReportDownload(): void {\n this.reportDownloadSubject\n .pipe(\n map(() => this.domainId),\n tap(() => (this.isDownloadingReport = true)),\n switchMap((domainId: string) =>\n this.migrationService.downloadMigrationReportFile(domainId),\n ),\n catchError(() => of(undefined)),\n tap(() => (this.isDownloadingReport = false)),\n takeUntil(this.destroy$),\n )\n .subscribe((report: Blob | undefined) => {\n if (report) {\n this.revokeLastDownloadedReportUrl();\n this.lastDownloadedReportUrl = downloadFile(\n report,\n this.reportFileName,\n );\n }\n });\n }\n\n private revokeLastDownloadedReportUrl(): void {\n if (this.lastDownloadedReportUrl) {\n URL.revokeObjectURL(this.lastDownloadedReportUrl);\n }\n }\n}\n","
    \n \"import\n
    \n
    \n \n

    \n Encore un peu de patience !
    \n Votre produit Hubbix est inaccessible le temps de l’import de vos données.\n

    \n \n \n
    \n\n \n

    \n Une erreur est survenue, veuillez réessayer.\n

    \n \n
    \n\n \n

    \n Une erreur est survenue, veuillez contacter le support technique.\n

    \n \n {{ isDownloadingReport ? \"Téléchargement en cours...\" : \"Télécharger le rapport d'erreur\" }}\n \n
    \n
    ","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { MigrationType } from 'src/app/shared/enums/migration.enum';\nimport { SoftwareSource } from 'src/app/shared/interfaces/migration.inferface';\n\n@Component({\n selector: 'app-data-source',\n templateUrl: './data-source.component.html',\n styleUrls: ['./data-source.component.less'],\n})\nexport class DataSourceComponent {\n @Output()\n public readonly productCompta: EventEmitter =\n new EventEmitter();\n\n @Input()\n public domainId!: string;\n\n @Input()\n public dataSourceSoftware: Array = [];\n\n public displayButton: boolean = false;\n\n public dataSourceSelected: SoftwareSource | undefined;\n\n public constructor(private readonly changeDetectorRef: ChangeDetectorRef) {}\n\n public onSelectSoftwareProduct(selectedProduct: SoftwareSource): void {\n if (!selectedProduct.isAvailable) {\n return;\n }\n\n if (selectedProduct.migrationType === MigrationType.ComptatActiv) {\n this.productCompta.emit();\n }\n\n this.updateSelectedState(selectedProduct, true);\n\n this.displayButton = true;\n this.dataSourceSelected = selectedProduct;\n\n this.changeDetectorRef.detectChanges();\n }\n\n private updateSelectedState(\n selectedSoftwareSource: SoftwareSource,\n state: boolean,\n ): void {\n selectedSoftwareSource.selected = state;\n\n this.dataSourceSoftware.forEach((softwareSource: SoftwareSource) => {\n if (softwareSource !== selectedSoftwareSource) {\n softwareSource.selected = false;\n }\n });\n }\n}\n","

    Choisissez la source de vos données

    \n
    \n

    \n {{ softwareSource.name }}\n \n

    \n
    \n

    \n Cet assistant va vous guider lors des différentes étapes qui seront nécessaires à la reprise de vos données.\n

    \n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport {\n BehaviorSubject,\n Observable,\n Subject,\n map,\n merge,\n takeUntil,\n} from 'rxjs';\nimport { EbpUrlService } from 'src/app/core/services/ebp-url.service';\nimport { MigrationType } from 'src/app/shared/enums/migration.enum';\nimport {\n ProductMigrationAccess,\n SoftwareSource,\n VerificationState,\n} from 'src/app/shared/interfaces/migration.inferface';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.less'],\n})\nexport class LoginComponent implements OnChanges, OnInit, OnDestroy {\n @Output()\n public readonly loginEvent: EventEmitter =\n new EventEmitter();\n\n @Input()\n public isErrorIdentification: VerificationState | undefined;\n\n @Input()\n public loading: boolean = false;\n\n @Input()\n public dataSource: SoftwareSource | undefined;\n\n @Input()\n public inProduction!: boolean;\n\n public readonly companyIdForm!: FormGroup;\n public readonly licenceForm!: FormGroup;\n public readonly MigrationType = MigrationType;\n\n public isInvalid$!: Observable;\n public isErrorIdentificationInvalidSubject$: BehaviorSubject =\n new BehaviorSubject(true);\n\n public urlMonEspaceEbp: string = '';\n\n private readonly destroy$: Subject = new Subject();\n\n public constructor(\n private readonly formBuilder: FormBuilder,\n private readonly ebpUrlService: EbpUrlService,\n ) {\n this.licenceForm = this.formBuilder.group({\n licenceNumber: this.formBuilder.control(null, Validators.required),\n webKey: this.formBuilder.control(null, Validators.required),\n });\n\n this.companyIdForm = this.formBuilder.group({\n companyId: this.formBuilder.control(null, Validators.required),\n });\n\n this.loadEbpUrl();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\n changes['isErrorIdentification'] &&\n !changes['isErrorIdentification'].firstChange\n ) {\n const isInvalid: boolean =\n !changes['isErrorIdentification'].currentValue?.isValid;\n\n this.isErrorIdentificationInvalidSubject$.next(isInvalid);\n\n if (isInvalid) {\n this.markFormAsDirty(this.licenceForm);\n }\n }\n }\n\n public ngOnInit(): void {\n this.isInvalid$ = merge(\n this.isErrorIdentificationInvalidSubject$,\n this.licenceForm.valueChanges.pipe(map(() => false)),\n );\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n public login(): void {\n if (this.licenceForm.invalid) {\n this.markFormAsDirty(this.licenceForm);\n return;\n }\n\n this.loginEvent.emit(this.licenceForm.value);\n }\n\n private markFormAsDirty(formGroup: FormGroup): void {\n Object.values(formGroup.controls).forEach(\n (control: AbstractControl) => {\n if (control.invalid) {\n control.markAsDirty();\n control.updateValueAndValidity({ onlySelf: true });\n }\n },\n );\n }\n\n private loadEbpUrl(): void {\n this.ebpUrlService\n .load()\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: () => {\n this.urlMonEspaceEbp = this.ebpUrlService.urlMonEspaceEbp;\n },\n error: (err: unknown) => {\n console.error('Failed to load EBP URL:', err);\n },\n });\n }\n}\n","

    Identifiez-vous

    \n
    \n

    \n La procédure prend quelques instants.\n Vous serez guidé tout au long de ce processus.
    \n Munissez vous de :\n

    \n
      \n
    • \n Votre numéro de licence {{dataSource!.name}}\n
    • \n
    • \n Votre clé web {{dataSource!.name}}\n
    • \n
    \n \n Ces informations sont disponibles dans mon espace EBP > logiciels et services\n \n\n
    \n \n Numéro de licence\n \n \n \n \n \n \n \n Clé Web\n \n \n \n \n \n \n\n \n\n
    \n \n
    \n
    \n
    \n","import {\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { DataSourceComponent } from './data-source/data-source.component';\nimport { MigrationService } from '../../shared/services/migration.service';\nimport {\n delay,\n exhaustMap,\n finalize,\n firstValueFrom,\n forkJoin,\n interval,\n lastValueFrom,\n map,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\nimport { NzModalRef } from 'ng-zorro-antd/modal';\nimport { EbpNotificationService } from '@ebp/notifications';\nimport { ProductV2Dto } from 'src/app/shared/interfaces/product-interface';\nimport {\n MigrationResult,\n MigrationResultLogin,\n MigrationSource,\n ProductMigrationAccess,\n SoftwareSource,\n VerificationState,\n} from 'src/app/shared/interfaces/migration.inferface';\nimport {\n MigrationStatus,\n MigrationType,\n StepMigration,\n} from 'src/app/shared/enums/migration.enum';\nimport { GlobalsService } from 'src/app/core/services/globals.service';\nimport { DomainsService } from 'src/app/shared/services/domains.service';\nimport { DomainInterface } from 'src/app/shared/interfaces/domain-interface';\nimport { Role } from 'src/app/shared/interfaces/invitation-role-interface';\nimport { LocationService } from 'src/app/shared/services/location.service';\n\n@Component({\n selector: 'app-migration',\n templateUrl: './migration.component.html',\n styleUrls: ['./migration.component.less'],\n})\nexport class MigrationComponent implements OnInit, OnDestroy {\n @ViewChild('dataSourceComponent')\n public readonly dataSourceComponent!: DataSourceComponent;\n\n public domainId: string = '';\n\n public rolesUser: Array = [];\n\n public productGesCom!: ProductV2Dto;\n\n public productCompta!: ProductV2Dto;\n\n public isNotInTrial!: boolean;\n\n public resultLogin!: MigrationResultLogin;\n\n public isTargetProductEmpty: boolean = false;\n\n public hubbixDataBaseNotReady: boolean = false;\n\n public dataSourceSelected: SoftwareSource | undefined;\n\n public migrationState: MigrationResult | null = null;\n\n public waitRequest: boolean = true;\n\n public isErrorIdentification: VerificationState | undefined;\n\n public waitRequestBeforeStartingCheck = true;\n\n public waitRequestResetProductData = false;\n\n public waitRequestLicenceCleWeb = false;\n\n public currentStep: number = StepMigration.DataSource;\n\n public stepMigration = StepMigration;\n\n public dataSourceSoftware: Array = [];\n\n public productName!: string;\n\n public canPerformDataImport: boolean = false;\n\n public migrationStatus: MigrationStatus = MigrationStatus.Pending;\n\n public canShowResiliationButton: boolean = false;\n\n public canShowInformPartner: boolean = false;\n\n public canDisplayedReportFile: boolean = false;\n\n public get isProduction(): boolean {\n return this.variableGlobal?.configuration.production ?? false;\n }\n\n private readonly destroy$: Subject = new Subject();\n\n private subscriptionInterval$: Subscription = new Subscription();\n\n private subscriptionIntervalDeletionFinished$: Subscription =\n new Subscription();\n\n public constructor(\n private readonly migrationService: MigrationService,\n private readonly notification: EbpNotificationService,\n private readonly domainsService: DomainsService,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly modal: NzModalRef,\n private readonly variableGlobal: GlobalsService,\n private readonly locationService: LocationService,\n ) {}\n\n public ngOnInit(): void {\n this.setupResiliationButtonVisibility();\n\n if (this.shouldImportComptaView()) {\n this.setupImportComptaView();\n return;\n }\n\n this.initMigrationState().then(() => this.getProductsForMigration());\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.subscriptionInterval$.unsubscribe();\n }\n\n public goToImportComptaView(): void {\n this.currentStep = StepMigration.ImportComptaView;\n }\n\n public goToResiliationView(): void {\n this.productName = 'Résiliation';\n this.currentStep = StepMigration.Resiliation;\n }\n\n public nextStep(): void {\n this.currentStep++;\n this.changeDetectorRef.detectChanges();\n this.beforeStartingCheck();\n\n if (this.currentStep === StepMigration.ImportComptaView) {\n this.productName = this.migrationService.getNameAndPathByProduct(\n MigrationType.ComptatActiv,\n ).name;\n }\n this.checkIsCompletedMigration();\n }\n\n public onChoiceDataSource(): void {\n this.dataSourceSelected = this.dataSourceComponent.dataSourceSelected!;\n this.productName = this.dataSourceSelected?.name;\n\n if (\n this.dataSourceSelected.migrationType === MigrationType.ComptatActiv\n ) {\n this.goToImportComptaView();\n } else {\n this.nextStep();\n }\n }\n\n public login($event: ProductMigrationAccess): void {\n this.identifyMigration(this.dataSourceSelected!.migrationType, $event);\n }\n\n public onPerformImportData(): void {\n if (this.resultLogin.result.length < 1) {\n console.warn(this.resultLogin.validity.message);\n }\n\n if (this.isMigrationOL(this.dataSourceSelected!.migrationType)) {\n this.performMigrationOL();\n }\n }\n\n public resetProductsData(): void {\n this.waitRequestResetProductData = true;\n\n if (this.hubbixDataBaseNotReady) {\n this.waitRequestResetProductData = false;\n this.notification.warning(\n '',\n \"L'espace Hubbix est en cours de création ou la base de données n'est pas encore prête.\",\n );\n return;\n }\n\n forkJoin({\n sizeUsed: this.migrationService.checkSizeUsedByApplicationHubbix(\n this.domainId,\n ),\n productReset: this.domainsService.resetProductsData(this.domainId),\n })\n .pipe(\n takeUntil(this.destroy$),\n finalize(() => {\n this.waitRequestResetProductData = false;\n }),\n )\n .subscribe({\n next: ({ sizeUsed }: { sizeUsed: number }) => {\n if (sizeUsed === 0) {\n this.checkIsDataDeletionFinished();\n }\n },\n error: (error: unknown) => {\n console.error('Erreur dans les appels:', error);\n this.waitRequestResetProductData = false;\n this.notification.error(\n 'Erreur',\n \"Une erreur s'est produite lors de la réinitialisation des données.\",\n );\n },\n });\n }\n\n public closeModal(): void {\n this.dataSourceSelected = {} as SoftwareSource;\n this.modal.close();\n this.modal.destroy();\n }\n\n public goToProductCompta(): void {\n if (this.productCompta) {\n this.locationService.open(\n `${this.productCompta.url}${this.domainId}`,\n );\n }\n }\n\n public retryMigration(): void {\n this.migrationStatus = MigrationStatus.Pending;\n this.currentStep = StepMigration.DataSource;\n this.canPerformDataImport = false;\n this.waitRequestBeforeStartingCheck = false;\n this.waitRequestResetProductData = false;\n\n MigrationService.clearMigrationStateLocalStorage();\n this.getProductsForMigration();\n\n this.changeDetectorRef.detectChanges();\n }\n\n public async beforeStartingCheck(isNext: boolean = false): Promise {\n if (this.currentStep == StepMigration.ImportBeforeStart) {\n this.waitRequestBeforeStartingCheck = true;\n if (!isNext) {\n this.isTargetProductEmpty = await firstValueFrom(\n this.migrationService\n .migrationCheckDomainEmpty(this.domainId)\n .pipe(\n takeUntil(this.destroy$),\n tap({\n error: (error: unknown) => {\n if (error) {\n this.notification.warning(\n '',\n \"L'espace Hubbix est en cours de création ou la base de données n'est pas encore prête.\",\n );\n this.hubbixDataBaseNotReady = true;\n }\n\n return of(error);\n },\n }),\n ),\n );\n }\n\n this.waitRequestBeforeStartingCheck = false;\n\n if (this.isTargetProductEmpty && isNext) {\n this.nextStep();\n }\n }\n }\n\n public isProductForMigration(migrationType: MigrationType): boolean {\n return (\n migrationType === MigrationType.DevisFact ||\n migrationType === MigrationType.ComptatActiv\n );\n }\n\n public displayButtonCancel(): boolean {\n return (\n this.currentStep === this.stepMigration.DataSource ||\n this.currentStep === this.stepMigration.ImportBeforeStart ||\n this.currentStep === this.stepMigration.ImportComptaView\n );\n }\n\n public informMyPartner(): void {\n let migrationType: MigrationType;\n\n if (this.currentStep === StepMigration.ImportComptaView) {\n migrationType = MigrationType.ComptatActiv;\n } else if (this.migrationState?.typeMigration) {\n migrationType = this.migrationState.typeMigration;\n } else if (this.dataSourceSelected?.migrationType) {\n migrationType = this.dataSourceSelected.migrationType;\n } else {\n this.notification.error(\n '',\n \"Une erreur est survenue. Votre partenaire n'a pas pu être informé par email.\",\n );\n\n return;\n }\n \n this.migrationService\n .informPartnerByEmail(this.domainId, migrationType)\n .pipe(\n takeUntil(this.destroy$),\n delay(1000),\n tap(() => {\n this.notification.success(\n '',\n 'Votre partenaire a été informé par email.',\n );\n }),\n )\n .subscribe({\n next: () => this.closeModal(),\n error: (error: unknown) => this.handleError(error),\n });\n \n }\n\n private shouldImportComptaView(): boolean {\n return this.productCompta && !this.productGesCom;\n }\n\n private setupImportComptaView(): void {\n this.currentStep = StepMigration.ImportComptaView;\n this.productName = this.migrationService.getNameAndPathByProduct(\n MigrationType.ComptatActiv,\n ).name;\n this.waitRequest = false;\n }\n\n private setupResiliationButtonVisibility(): void {\n const isOwner$: Observable = this.domainsService\n .getCurrentDomain()\n .pipe(\n map((domain: DomainInterface | null) =>\n domain ? domain.isOwner : false,\n ),\n );\n\n isOwner$\n .pipe(\n map((isOwner: boolean) => {\n const canShowResiliationButton: boolean =\n this.isNotInTrial && this.isOwnerContrat(isOwner);\n const isAdmin: boolean = !!this.rolesUser.find(\n (role: string) => role === Role.ADMIN,\n );\n const canShowInformPartnerButton: boolean =\n !isOwner && isAdmin; \n\n return {\n canShowResiliationButton,\n canShowInformPartnerButton,\n };\n }),\n takeUntil(this.destroy$),\n )\n .subscribe(\n ({ canShowResiliationButton, canShowInformPartnerButton }) => {\n this.canShowResiliationButton = canShowResiliationButton;\n this.canShowInformPartner = canShowInformPartnerButton;\n },\n );\n }\n\n private isOwnerContrat(isOwner: boolean): boolean {\n const roles: Set = new Set(this.rolesUser);\n\n const hasRole: (role: string) => boolean = (role: string) =>\n roles.has(role);\n\n return (\n (isOwner && hasRole(Role.ADMIN)) ||\n (!isOwner &&\n (hasRole(Role.CHARTACCOUNTANT) ||\n hasRole(Role.REVENDEUR) ||\n hasRole(Role.COLLABORATOR)))\n );\n }\n\n private checkIsDataDeletionFinished(): void {\n if (this.currentStep === this.stepMigration.ImportBeforeStart) {\n this.startCheckingDomainEmpty();\n } else {\n this.stopCheckingDomainEmpty();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n private startCheckingDomainEmpty(): void {\n this.changeDetectorRef.detach();\n this.unsubscribeFromInterval();\n\n this.subscriptionIntervalDeletionFinished$ = interval(6000)\n .pipe(\n takeUntil(this.destroy$),\n exhaustMap(() => {\n this.waitRequestBeforeStartingCheck = true;\n this.waitRequestResetProductData = true;\n this.changeDetectorRef.detectChanges();\n\n return this.migrationService.migrationCheckDomainEmpty(\n this.domainId,\n );\n }),\n )\n .subscribe((isDomainEmpty: boolean) => {\n this.isTargetProductEmpty = isDomainEmpty;\n this.waitRequestResetProductData = true;\n this.waitRequestBeforeStartingCheck = true;\n this.canPerformDataImport = isDomainEmpty;\n\n if (isDomainEmpty) {\n this.stopCheckingDomainEmpty();\n }\n\n this.changeDetectorRef.detectChanges();\n });\n }\n\n private stopCheckingDomainEmpty(): void {\n this.waitRequestResetProductData = false;\n this.waitRequestBeforeStartingCheck = false;\n this.unsubscribeFromInterval();\n }\n\n private unsubscribeFromInterval(): void {\n if (this.subscriptionIntervalDeletionFinished$) {\n this.subscriptionIntervalDeletionFinished$.unsubscribe();\n }\n }\n\n private checkIsCompletedMigration(migrationType?: MigrationType): void {\n if (this.currentStep !== StepMigration.ImportInProgress) {\n this.unsubscribeInterval();\n return;\n }\n\n this.subscriptionInterval$ = interval(6000)\n .pipe(\n takeUntil(this.destroy$),\n exhaustMap(() =>\n this.migrationService.getMigrationDetail(this.domainId),\n ),\n switchMap((migrationResult: MigrationResult) =>\n this.handleMigrationResult(migrationResult, migrationType),\n ),\n )\n .subscribe({\n next: (migrationState: MigrationResult | null) =>\n this.handleMigrationState(migrationState),\n error: (error: unknown) => this.handleError(error),\n });\n }\n\n private handleMigrationResult(\n migrationResult: MigrationResult,\n migrationType?: MigrationType,\n ): Observable | Observable {\n switch (migrationResult.status) {\n case MigrationStatus.Success:\n return this.completeMigration(migrationType);\n case MigrationStatus.Pending:\n this.migrationStatus = MigrationStatus.Pending;\n this.changeDetectorRef.detectChanges();\n break;\n case MigrationStatus.Error:\n this.migrationStatus = MigrationStatus.Error;\n this.changeDetectorRef.detectChanges();\n this.unsubscribeInterval();\n break;\n case MigrationStatus.Failure:\n this.handleFailureStatus();\n this.migrationStatus = MigrationStatus.Failure;\n this.changeDetectorRef.detectChanges();\n this.unsubscribeInterval();\n break;\n default:\n break;\n }\n\n return of(null);\n }\n\n private completeMigration(\n migrationType?: MigrationType,\n ): Observable {\n const now: Date = new Date();\n const migrationTypeSelected: MigrationType =\n this.dataSourceSelected?.migrationType ?? migrationType!;\n\n return this.migrationService\n .endingMigration(this.domainId, now, migrationTypeSelected)\n .pipe(\n tap({\n error: (error: unknown) => {\n this.handleError(error);\n this.nextStep();\n },\n }),\n );\n }\n\n private identifyMigration(\n migrationType: MigrationType,\n dataForm: any,\n ): void {\n this.waitRequestLicenceCleWeb = true;\n\n const migrationServiceCall: Observable | null =\n this.getMigrationServiceCall(migrationType, dataForm);\n\n if (!migrationServiceCall) {\n this.waitRequestLicenceCleWeb = false;\n return;\n }\n\n migrationServiceCall\n .pipe(\n takeUntil(this.destroy$),\n tap({\n next: (migrationResultLogin: MigrationResultLogin) => {\n this.resultLogin = migrationResultLogin;\n\n if (this.resultLogin.validity.isValid) {\n this.nextStep();\n } else {\n this.isErrorIdentification = {\n error: migrationResultLogin.validity,\n verified: true,\n success: false,\n };\n }\n },\n error: (error: unknown) => {\n console.error(error);\n },\n }),\n finalize(() => {\n this.waitRequestLicenceCleWeb = false;\n }),\n )\n .subscribe();\n }\n\n private getMigrationServiceCall(\n migrationType: MigrationType,\n dataForm: any,\n ): Observable | null {\n if (this.isMigrationOL(migrationType)) {\n return this.migrationService.migrationProductOL(\n this.dataSourceSelected!.product.code,\n dataForm.licenceNumber,\n dataForm.webKey,\n );\n }\n\n return null;\n }\n\n private async initMigrationState(): Promise {\n this.waitRequest = true;\n\n try {\n const migrationState: MigrationResult = await lastValueFrom(\n this.migrationService.getMigrationDetail(this.domainId),\n );\n\n if (migrationState) {\n this.migrationState = migrationState;\n\n this.migrationStatus = migrationState.status;\n\n this.productName =\n this.migrationService.getNameAndPathByProduct(\n this.migrationState.typeMigration,\n ).name;\n\n if (\n migrationState.endDate &&\n migrationState.status === MigrationStatus.Success\n ) {\n this.currentStep = StepMigration.ImportFinish;\n this.unsubscribeInterval();\n this.waitRequest = false;\n return;\n }\n\n if (\n migrationState.endDate &&\n migrationState.status === MigrationStatus.Failure\n ) {\n this.handleFailureStatus();\n }\n\n this.currentStep = migrationState.startDate\n ? StepMigration.ImportInProgress\n : StepMigration.DataSource;\n }\n } catch (error: unknown) {\n console.error(error);\n } finally {\n this.waitRequest = false;\n }\n }\n\n private applyMigration(migrationSource: MigrationSource): void {\n if (this.isTargetProductEmpty) {\n this.migrationService\n .askMigration(migrationSource)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.nextStep();\n });\n }\n }\n\n private isMigrationOL(migrationType: MigrationType): boolean {\n return (\n migrationType === MigrationType.ComptatActiv ||\n migrationType === MigrationType.DevisFact\n );\n }\n\n private getProductsForMigration(): void {\n this.migrationService\n .getProductsForMigration(this.domainId)\n .pipe(takeUntil(this.destroy$))\n .subscribe((data: Array) => {\n this.dataSourceSoftware = data.map(\n (software: SoftwareSource) => ({\n ...software,\n selectedSoftware: false,\n }),\n );\n\n this.changeDetectorRef.detectChanges();\n\n if (this.currentStep === StepMigration.ImportInProgress) {\n this.checkIsCompletedMigration(\n this.migrationState?.typeMigration,\n );\n } else {\n this.dataSourceSoftware = data;\n this.waitRequest = false;\n }\n });\n }\n\n private performMigrationOL(): void {\n const migrationSource: MigrationSource = {\n domainId: this.domainId,\n migrationType: this.dataSourceSelected!.migrationType,\n dataBase: {\n id: this.resultLogin.result[0].databaseId,\n userEmail: this.resultLogin.result[0].userEmail,\n type: this.resultLogin.result[0].databaseType,\n },\n };\n\n this.applyMigration(migrationSource);\n }\n\n private handleFailureStatus(): void {\n this.migrationService\n .checkMigrationReportFile(this.domainId)\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: () => (this.canDisplayedReportFile = true),\n error: (error: unknown) => this.handleError(error),\n });\n }\n\n private handleMigrationState(migrationState: MigrationResult | null): void {\n if (migrationState) {\n this.migrationState = migrationState;\n this.unsubscribeInterval();\n\n if (this.currentStep === StepMigration.ImportBeforeStart) {\n this.currentStep++;\n }\n\n this.nextStep();\n }\n }\n\n private handleError(error: unknown): void {\n console.error(error);\n this.unsubscribeInterval();\n }\n\n private unsubscribeInterval(): void {\n if (this.subscriptionInterval$) {\n this.subscriptionInterval$.unsubscribe();\n }\n }\n}\n","
    \n

    \n Migration \"{{productName}}\"\n

    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n Annuler\n \n\n \n Étape suivante\n \n\n \n Étape suivante\n \n\n \n Passer à la récupération comptable\n \n\n \n Importer mes données comptables\n \n\n \n\n \n \n \n
    \n \n Je certifie avoir récupéré mes données et en avoir vérifié le contenu.

    \n La résiliation de mon contrat entrainera la perte de mes données sur mon ancien produit EBP,
    et ce conformément aux conditions générales de vente d’EBP.\n
    \n
    \n
    \n
    ","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { Subject, merge, takeUntil } from 'rxjs';\nimport { VerificationState } from 'src/app/shared/interfaces/migration.inferface';\n\n@Component({\n selector: 'app-product-panel',\n templateUrl: './product-panel.component.html',\n styleUrls: ['./product-panel.component.less'],\n})\nexport class ProductPanelComponent implements OnChanges, OnInit, OnDestroy {\n @Output()\n public readonly panelToggle = new EventEmitter();\n\n @Output()\n public readonly panelClose = new EventEmitter();\n\n @Input()\n public productName!: string;\n\n @Input()\n public productLabel!: string;\n\n @Input()\n public formGroup!: FormGroup;\n\n @Input()\n public verificationState!: VerificationState;\n\n @Input()\n public licenceControlName!: string;\n\n @Input()\n public keyControlName!: string;\n\n @Input()\n public active!: boolean;\n\n public expanded: boolean = false;\n\n private readonly destroy$: Subject = new Subject();\n\n public ngOnInit(): void {\n this.subscribeToFormChanges();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['active']) {\n this.expanded = !!changes['active'].currentValue;\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n public checkCombination(): void {\n this.panelClose.emit(this.productName);\n }\n\n public closePanel(): void {\n this.expanded = false;\n }\n\n public onPanelClick(): void {\n this.panelToggle.emit();\n }\n\n public onPanelKeydown(event: KeyboardEvent): void {\n this.handleKeydown(event, true);\n }\n\n public onCardKeydown(event: KeyboardEvent): void {\n this.handleKeydown(event, false);\n }\n\n private handleKeydown(event: KeyboardEvent, triggerClick: boolean): void {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n\n if (triggerClick) {\n this.onPanelClick();\n } else {\n event.stopPropagation();\n }\n }\n }\n\n private subscribeToFormChanges(): void {\n merge(\n this.formGroup.get(this.licenceControlName)!.valueChanges,\n this.formGroup.get(this.keyControlName)!.valueChanges,\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.resetError());\n }\n\n private resetError(): void {\n this.verificationState.error = null;\n this.verificationState.verified = false;\n this.verificationState.success = false;\n }\n}\n","\n \n \n {{productLabel}}\n \n \n \n \n
    \n \n Numéro de licence\n \n \n \n \n \n \n Clé web\n \n \n \n \n\n \n \n
    \n \n
    \n
    \n
    \n
    \n
    ","import {\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport {\n EbpNotificationDataOptions,\n EbpNotificationService,\n} from '@ebp/notifications';\nimport { BehaviorSubject, Observable, Subject, combineLatest, of } from 'rxjs';\nimport {\n filter,\n finalize,\n map,\n startWith,\n switchMap,\n takeUntil,\n tap,\n withLatestFrom,\n} from 'rxjs/operators';\nimport { ProductCodeSapEnum } from 'src/app/shared/enums/enumerations';\nimport {\n MigrationResultLogin,\n VeritificationStateError,\n} from 'src/app/shared/interfaces/migration.inferface';\nimport { MigrationService } from 'src/app/shared/services/migration.service';\nimport { ProductPanelComponent } from './product-panel/product-panel.component';\nimport { NOTIFICATION_DATA_OPTIONS } from 'src/app/shared/injections/notification-data-options.token';\nimport { EbpUrlService } from 'src/app/core/services/ebp-url.service';\n\ntype Panels = { gestionCommerciale?: Panel; gestionComptable?: Panel };\n\ninterface Panel {\n key: string;\n label: string;\n productCode: string;\n controlNames: {\n licenceControlName: string;\n keyControlName: string;\n };\n stateName: keyof Panels;\n verificationStates: {\n verified: boolean;\n success: boolean;\n error: VeritificationStateError | null;\n success$: BehaviorSubject;\n };\n}\n\n@Component({\n selector: 'app-resiliation',\n templateUrl: './resiliation.component.html',\n styleUrls: ['./resiliation.component.less'],\n})\nexport class ResiliationComponent implements OnInit {\n @Output()\n public readonly closeModal: EventEmitter = new EventEmitter();\n\n @Input()\n public hasProductGC!: boolean;\n\n @Input()\n public hasProductCompt!: boolean;\n\n @Input()\n public domainId!: string;\n\n public resiliationForm!: FormGroup;\n\n public waitRequestLicenceCleWeb: boolean = false;\n\n public urlMonEspaceEbp: string = '';\n\n @ViewChildren(ProductPanelComponent)\n private readonly productPanels!: QueryList;\n\n private panels: Panels = {\n gestionCommerciale: {\n key: 'PRODUCT_GC_NAME',\n label: 'EBP Devis & Facturation ACTIV',\n productCode: ProductCodeSapEnum.GESTION_COMMERCIALE,\n controlNames: {\n licenceControlName: 'licenceNumGestionCommerciale',\n keyControlName: 'keyWebGestionCommerciale',\n },\n stateName: 'gestionCommerciale',\n verificationStates: {\n verified: false,\n success: false,\n error: null,\n success$: new BehaviorSubject(false),\n },\n },\n gestionComptable: {\n key: 'PRODUCT_COMPT_NAME',\n label: 'EBP Comptabilité ACTIV',\n productCode: ProductCodeSapEnum.COMPTABILITE,\n controlNames: {\n licenceControlName: 'licenceNumGestionComptable',\n keyControlName: 'keyWebGestionComptable',\n },\n stateName: 'gestionComptable',\n verificationStates: {\n verified: false,\n success: false,\n error: null,\n success$: new BehaviorSubject(false),\n },\n },\n };\n\n public activePanel: string | undefined =\n this.panels.gestionCommerciale?.key; // Panel actif par défaut\n\n public isFormValid$: Observable;\n\n public filteredPanels!: Panels;\n\n private readonly destroy$: Subject = new Subject();\n\n private readonly formSubmitSubject: Subject = new Subject();\n\n public constructor(\n private readonly formBuilder: FormBuilder,\n private readonly migrationService: MigrationService,\n private readonly notificationService: EbpNotificationService,\n @Inject(NOTIFICATION_DATA_OPTIONS)\n private readonly notificationDataOptions: EbpNotificationDataOptions,\n private readonly ebpUrlService: EbpUrlService,\n ) {\n this.createForm();\n\n this.isFormValid$ = this.observeFormValidity().pipe(startWith(false));\n\n this.loadEbpUrl();\n }\n\n public ngOnInit(): void {\n this.observeFormSubmission();\n\n this.filteredPanels = this.getFilteredPanels();\n this.isFormValid$ = this.observeFormValidity();\n\n this.activePanel = this.filteredPanels.gestionCommerciale?.key\n ? this.filteredPanels.gestionCommerciale.key\n : this.filteredPanels.gestionComptable?.key;\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n public handleCheckCombination(stateName: keyof Panels): void {\n const panel: Panel = this.filteredPanels[stateName]!;\n\n this.checkCombination(panel);\n }\n\n public togglePanel(panelName: string): void {\n this.activePanel =\n this.activePanel === panelName ? undefined : panelName;\n }\n\n public handleFormSubmit(): void {\n this.formSubmitSubject.next();\n }\n\n private getFilteredPanels(): Panels {\n const filteredPanels: Panels = {};\n\n if (this.hasProductGC) {\n filteredPanels.gestionCommerciale = this.panels.gestionCommerciale;\n }\n\n if (this.hasProductCompt) {\n filteredPanels.gestionComptable = this.panels.gestionComptable;\n }\n\n return filteredPanels;\n }\n\n private observeFormSubmission(): void {\n this.formSubmitSubject\n .pipe(\n withLatestFrom(this.isFormValid$),\n filter(([_, valid]: [void, boolean]) => valid),\n map(() => this.getValidLicences()),\n switchMap((validLicences: Array) =>\n this.submitResiliation(validLicences),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe({\n next: () => this.handleResiliationSuccess(),\n error: (error: unknown) => this.handleResiliationError(error),\n });\n }\n\n private checkCombination(panel: Panel): void {\n const { productCode, controlNames, verificationStates } = panel;\n const licenceNumber: string = this.resiliationForm.get(\n controlNames.licenceControlName,\n )!.value;\n const webKey: string = this.resiliationForm.get(\n controlNames.keyControlName,\n )!.value;\n\n this.waitRequestLicenceCleWeb = true;\n\n this.migrationService\n .migrationProductOL(productCode, licenceNumber, webKey)\n .pipe(\n takeUntil(this.destroy$),\n tap({\n next: (migrationResultLogin: MigrationResultLogin) =>\n this.handleVerificationSuccess(\n migrationResultLogin,\n panel,\n ),\n error: (error: unknown) =>\n this.handleVerificationError(error, panel),\n }),\n finalize(() => {\n this.waitRequestLicenceCleWeb = false;\n verificationStates.success$.next(\n verificationStates.success,\n );\n }),\n )\n .subscribe();\n }\n\n private handleVerificationSuccess(\n migrationResultLogin: MigrationResultLogin,\n panel: Panel,\n ): void {\n const { verificationStates, productCode } = panel;\n\n verificationStates.verified = true;\n verificationStates.success = migrationResultLogin.validity.isValid;\n verificationStates.error = null;\n\n if (migrationResultLogin.validity.isValid) {\n verificationStates.error = { isValid: true };\n this.closePanel(productCode);\n } else {\n verificationStates.error = {\n isValid: false,\n title: migrationResultLogin.validity.title,\n message: migrationResultLogin.validity.message,\n action: migrationResultLogin.validity.action,\n };\n }\n }\n\n private handleVerificationError(error: unknown, panel: Panel): void {\n const { verificationStates } = panel;\n\n verificationStates.verified = true;\n verificationStates.success = false;\n console.error(error);\n }\n\n private closePanel(section: string): void {\n const panel: ProductPanelComponent | undefined =\n this.productPanels?.find((p) => p.productName === section);\n\n panel?.closePanel();\n }\n\n private createForm(): void {\n this.resiliationForm = this.formBuilder.group({\n licenceNumGestionCommerciale: this.formBuilder.control(\n null,\n Validators.required,\n ),\n keyWebGestionCommerciale: this.formBuilder.control(\n null,\n Validators.required,\n ),\n licenceNumGestionComptable: this.formBuilder.control(\n null,\n Validators.required,\n ),\n keyWebGestionComptable: this.formBuilder.control(\n null,\n Validators.required,\n ),\n confirmationCheckbox: this.formBuilder.control(\n false,\n Validators.requiredTrue,\n ),\n });\n }\n\n private observeFormValidity(): Observable {\n const checkboxChanges$: Observable = this.resiliationForm\n .get('confirmationCheckbox')!\n .valueChanges.pipe(\n startWith(\n this.resiliationForm.get('confirmationCheckbox')!.value,\n ),\n );\n\n const panelGc$: Observable =\n this.filteredPanels?.gestionCommerciale?.verificationStates\n .success$ ?? of(true);\n\n const panelCompt$: Observable =\n this.filteredPanels?.gestionComptable?.verificationStates\n .success$ ?? of(true);\n\n return combineLatest([checkboxChanges$, panelGc$, panelCompt$]).pipe(\n map(\n ([checkbox, gcSuccess, comptSuccess]) =>\n checkbox && (gcSuccess || comptSuccess),\n ),\n );\n }\n\n private getValidLicences(): Array {\n return Object.values(this.filteredPanels)\n .map(\n (panel: Panel) =>\n this.resiliationForm.get(\n panel.controlNames.licenceControlName,\n )!.value,\n )\n .filter((licence: boolean) => licence);\n }\n\n private submitResiliation(validLicences: Array): Observable {\n return this.migrationService\n .sendResiliationProductOL(validLicences, this.domainId)\n .pipe(takeUntil(this.destroy$));\n }\n\n private handleResiliationSuccess(): void {\n this.notificationService.success(\n '',\n 'La demande de résiliation a été envoyée',\n this.notificationDataOptions,\n );\n this.closeModal.emit();\n }\n\n private handleResiliationError(error: unknown): void {\n console.error(error);\n this.notificationService.error(\n '',\n `Veuillez renouveler votre résiliation dans quelques instants.`,\n this.notificationDataOptions,\n );\n }\n\n private loadEbpUrl(): void {\n this.ebpUrlService\n .load()\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: () => {\n this.urlMonEspaceEbp = this.ebpUrlService.urlMonEspaceEbp;\n },\n error: (err: unknown) => {\n console.error('Failed to load EBP URL:', err);\n },\n });\n }\n}\n","

    Résiliation de mon ancien contrat

    \n

    \n Vos données ont été migrées avec succès ! Profitez dès maintenant de votre nouvelle solution EBP Hubbix et résiliez votre ancien contrat.\n Veuillez indiquer le(s) numéro(s) de licence(s) de vos produits. \n

    \n

    \n Ces informations sont disponibles dans mon espace EBP > logiciels et services\n

    \n
    \n \n \n\n \n \n \n \n Vous devez certifier d'avoir récupéré vos données et en avoir vérifié le contenu.\n \n \n \n\n \n \n
    \n \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { Observable, map } from 'rxjs';\nimport { NotificationService } from '../../../shared/services/notification.service';\nimport {\n NotificationDTO,\n Notification,\n} from 'src/app/shared/interfaces/notification-interface';\n\n@Component({\n selector: 'app-notifications-option',\n templateUrl: './notifications-option.component.html',\n styleUrls: ['./notifications-option.component.less'],\n})\nexport class NotificationsOptionComponent implements OnInit {\n public notifications!: Observable;\n public notificationSend!: Observable;\n public notificationData!: NotificationDTO;\n\n constructor(private _notificationService: NotificationService) {}\n\n ngOnInit(): void {\n this.notifications = this._notificationService\n .getNotification()\n .pipe(map((notifications) => notifications.slice(0, 3)));\n }\n\n saveNotification(notifications: Notification) {\n this.notificationData = {\n contactId: 0,\n category: notifications.category,\n key: notifications.key,\n isActive: notifications.isActive,\n reason: null,\n reasonType: null,\n userId: '',\n updateSource: null,\n };\n this._notificationService\n .setNotification(this.notificationData)\n .subscribe(() => {});\n }\n}\n","
    \n
    \n Recevoir des notifications\n
    \n
    \n Découvrez comment afficher et gérer vos notifications afin de limiter les interruptions tout au long de la\n journée.\n
    \n
    \n
    \n
    {{notification.label}}\n \n
    \n
    \n
    \n
    \n
    RGPD
    \n
    La durée de conservation des données est de 5 ans.
    \n
    A condition de justifier de votre identité, vous disposez d’un droit d’accès, de rectification,\n d’effacement ou\n de limitation des informations figurant dans ce traitement. Vous pouvez légalement vous opposer au\n traitement de\n ces données, ainsi qu’en demander la portabilité. Vous pouvez également retirer votre consentement au\n traitement\n de vos données à tout moment. Enfin, vous disposez du droit d’introduire une réclamation auprès de la\n Commission\n Nationale Informatique et Libertés (CNIL). Vous pouvez exercer vos droits auprès du Délégué à la\n protection\n des données ou DPO désigné par EBP.\n
    \n
    Vous avez la possibilité d’adresser vos questions en cliquant ici : www.ebp.com/contact
    \n
    \n
    \n
    \n","import {\n CUSTOMER_COMPANY_ROUTE_PATH,\n ENTREPRISE_ROUTE_PATH,\n SUBSCRIPTIONS_ROUTE_PATH,\n USERS_ROUTE_PATH,\n} from './shared/constants/app-routes.constant';\nimport { GlobalsService } from './core/services/globals.service';\nimport { LayoutMenus } from '@ebp/vision-layout';\n\nexport function ebpLayoutMenus(varGlobal: GlobalsService): LayoutMenus {\n const layoutMenus = EBP_LAYOUT_MENUS;\n if (varGlobal.configuration.production) return layoutMenus;\n layoutMenus.unshift({\n id: 'company-menu',\n icon: 'business',\n label: 'Créer une entreprise',\n route: () => CUSTOMER_COMPANY_ROUTE_PATH,\n iconClasses: ['material-icons'],\n });\n return layoutMenus;\n}\n\nexport const EBP_LAYOUT_MENUS: LayoutMenus = [\n {\n id: 'customer',\n icon: 'business',\n label: 'Mon entreprise',\n route: () => ENTREPRISE_ROUTE_PATH,\n iconClasses: ['material-icons'],\n },\n {\n id: 'users-menu',\n icon: 'group',\n label: 'Mes utilisateurs',\n route: () => USERS_ROUTE_PATH,\n iconClasses: ['material-icons'],\n },\n {\n id: 'subscription-menu',\n icon: 'dashboard_customize',\n label: 'Mes abonnements',\n route: () => SUBSCRIPTIONS_ROUTE_PATH,\n iconClasses: ['material-icons'],\n },\n];\n","import { Component, OnInit } from '@angular/core';\nimport { DomainsService } from '../../shared/services/domains.service';\nimport { Router } from '@angular/router';\nimport {\n DASHBOARD_ROUTE_PATH,\n DOMAIN_TRIAL_ROUTE_FULL_PATH,\n} from '../../shared/constants/app-routes.constant';\nimport { TrialPeriodService } from '../../shared/services/trial-period.service';\nimport { GlobalsService } from 'src/app/core/services/globals.service';\nimport { DomainPaginateInterface } from 'src/app/shared/interfaces/dto/domain-paginate-interface';\n\n@Component({\n selector: 'app-domain-not-found',\n templateUrl: './domain-not-found.component.html',\n styleUrls: ['./domain-not-found.component.less'],\n})\nexport class DomainNotFoundComponent implements OnInit {\n\n public readonly decouvrirUrl: string;\n\n public constructor(\n private readonly domainService: DomainsService,\n private readonly router: Router,\n private readonly trialService: TrialPeriodService,\n private readonly globalService: GlobalsService,\n ) {\n this.decouvrirUrl = this.globalService.configuration.decouvrirUrl;\n }\n\n public ngOnInit(): void {\n const domains: DomainPaginateInterface =\n this.domainService.getDomainsSessionStorage();\n if (domains.values.length > 0) {\n this.router.navigateByUrl(DASHBOARD_ROUTE_PATH);\n }\n }\n\n public goDemoRequest(): void {\n this.trialService.demoRequest();\n this.router.navigateByUrl(DOMAIN_TRIAL_ROUTE_FULL_PATH);\n }\n}\n","
    \n \n
    \n \n

    \n Vous ne possédez pas de compte EBP Hubbix\n

    \n

    \n Pas de panique, plusieurs choix s'offrent à vous pour rejoindre la communauté Hubbix.\n

    \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-error-page',\n templateUrl: './error-page.component.html',\n styleUrls: ['./error-page.component.less'],\n})\nexport class ErrorPageComponent {}\n","\n \"Erreur\n
    \n

    Erreur 500

    \n
    \n
    \n Désolé, nous avons rencontré une erreur.
    \n Aucune action n’est nécessaire de votre côté.
    \n Nous travaillons à résoudre ce problème.\n
    \n \n
    \n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { EbpNotificationService } from '@ebp/notifications';\nimport {\n DASHBOARD_ROUTE_PATH,\n ERROR_PAGE_ROUTE_PATH,\n} from '../../../../shared/constants/app-routes.constant';\nimport { CompanyService } from '../../../../shared/services/company.service';\nimport { Subject, switchMap, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'app-finalize-subscription',\n templateUrl: './finalize-subscription.component.html',\n styleUrls: ['./finalize-subscription.component.less'],\n})\nexport class FinalizeSubscriptionComponent implements OnInit, OnDestroy {\n private readonly onDestroy$: Subject = new Subject();\n\n public constructor(\n private readonly router: Router,\n private readonly notification: EbpNotificationService,\n private readonly activatedRoute: ActivatedRoute,\n private readonly companyService: CompanyService,\n ) {}\n\n public ngOnInit(): void {\n this.activatedRoute.queryParams\n .pipe(\n takeUntil(this.onDestroy$),\n switchMap((params: Params) => {\n const orderNumber: number = params['orderNumber'];\n\n return this.companyService.finalizeSubscription(\n orderNumber,\n );\n }),\n )\n .subscribe({\n next: (result) => {\n if (result) {\n this.notification.success(\n '',\n \"L'enregistrement du domaine est réussi\",\n {\n duration: 2000,\n closeIcon: '',\n light: false,\n },\n );\n\n this.router.navigateByUrl(DASHBOARD_ROUTE_PATH);\n } else {\n this.router.navigateByUrl(ERROR_PAGE_ROUTE_PATH);\n }\n },\n error: (error: unknown) => {\n console.error(\n \"Erreur lors de la finalisation de l'abonnement :\",\n error,\n );\n this.router.navigateByUrl(ERROR_PAGE_ROUTE_PATH);\n },\n });\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n}\n","
    \n \n
    \n
    \n Veuillez patienter quelques instants.\n
    \n La création de votre domaine est en cours.\n
    \n
    \n \n
    \n
    \n
    \n
    \n","import { Settings } from '@ebp/vision-settings';\nimport { NotificationsOptionComponent } from './features/options/notifications-option/notifications-option.component';\n\nexport const SETTINGS: Settings = {\n menus: [\n {\n id: 'Mon compte',\n label: 'Mon compte',\n icon: '',\n submenus: [\n {\n id: 'menu1-submenu2',\n label: 'Mes notifications',\n template: NotificationsOptionComponent,\n },\n ],\n },\n ],\n};\n","import { Component, Input } from '@angular/core';\nimport { VerificationState } from '../../interfaces/migration.inferface';\n\n@Component({\n selector: 'app-error-alert',\n templateUrl: './error-alert.component.html',\n styleUrls: ['./error-alert.component.less'],\n})\nexport class ErrorAlertComponent {\n @Input() verificationState!: VerificationState;\n}\n","
    \n \n \n \n

    \n {{ verificationState.error!.message! }}\n {{ verificationState.error!.message! }}\n {{ verificationState.error!.action! }}\n

    \n \n
    \n
    ","export type CarrouselConfig = {\n title: string;\n description: string;\n img: string;\n moreImg?: Array<{ path: string; alt: string; class?: string }>;\n};\n\nexport const FILL_ENTERPRISE_INFORMATION: CarrouselConfig = {\n title: 'Complétez les informations de votre entreprise',\n description: `\n Pour débuter la prise en main de votre logiciel Hubbix, renseignez les informations de votre entreprise en quelques clics. Certaines données sont nécessaires pour l’édition de vos documents de ventes.\n `,\n img: 'assets/images/info_entreprise_card_image.svg',\n};\n\nexport const INVITE_COLLABORATORS: CarrouselConfig = {\n title: 'Invitez d’autres personnes à collaborer',\n description: `Invitez votre expert-comptable à accéder à votre logiciel pour qu’il puisse vérifier vos données et récupérer facilement vos écritures comptables.\n En option, vous pouvez inviter d’autres utilisateurs sur votre solution pour travailler en mode collaboratif au quotidien.\n `,\n img: 'assets/images/invitation_card.svg',\n};\n\nexport const MIGRATE_DATA: CarrouselConfig = {\n title: 'Importez facilement vos données',\n description: `\n Récupérez facilement les données de vos anciens logiciels de gestion commerciale ou de comptabilité.\n `,\n img: 'assets/images/migration_tool.svg',\n moreImg: [\n {\n path: 'assets/images/logo_devis_facturation.svg',\n alt: 'Devis & Facturation',\n class: 'w-43',\n },\n {\n path: 'assets/images/logo_comptabilite.svg',\n alt: 'Comptabilité',\n class: 'w-43',\n },\n ],\n};\n","import { Component, ViewChild } from '@angular/core';\nimport {\n CarrouselConfig,\n FILL_ENTERPRISE_INFORMATION,\n INVITE_COLLABORATORS,\n MIGRATE_DATA,\n} from './carrousel-config';\nimport { NzCarouselComponent } from 'ng-zorro-antd/carousel';\nimport {\n CompanyProduct,\n CompanyResult,\n} from '../../interfaces/company-interface';\nimport { ProductCodeSapEnum } from '../../enums/enumerations';\nimport { combineLatest, map, Observable } from 'rxjs';\nimport { CompanyService } from '../../services/company.service';\nimport { DomainsService } from '../../services/domains.service';\nimport { UserInterfaceDto } from '../../interfaces/user-interface';\n\n@Component({\n selector: 'app-first-connection-dialog',\n templateUrl: './first-connection-dialog.component.html',\n styleUrls: ['./first-connection-dialog.component.less'],\n})\nexport class FirstConnectionDialogComponent {\n @ViewChild('myCarousel', { static: true })\n public readonly myCarousel: NzCarouselComponent | undefined;\n\n public readonly effect: string = 'scrollx';\n\n public readonly dotPosition: string = 'bottom';\n\n public readonly carrousel$!: Observable>;\n\n public constructor(\n private readonly domainsService: DomainsService,\n private readonly companyService: CompanyService,\n ) {\n this.carrousel$ = this.getCarrousel();\n }\n\n public nextArrow(): void {\n this.myCarousel?.next();\n }\n\n public previousArrow(): void {\n this.myCarousel?.pre();\n }\n\n private getUserSoftwares(): Observable> {\n return combineLatest([\n this.domainsService.connectedUser$,\n this.companyService.currentCompany$,\n ]).pipe(\n map(\n ([user, company]: [\n UserInterfaceDto | null,\n CompanyResult | null,\n ]) => {\n if (user && company) {\n return company.products.filter(\n (product: CompanyProduct) =>\n product.codeHubbix in user.softwareAccess,\n );\n }\n\n return [];\n },\n ),\n );\n }\n\n private getCarrousel(): Observable> {\n return this.getUserSoftwares().pipe(\n map((softwares: Array) => {\n const carrousel: Array = [\n FILL_ENTERPRISE_INFORMATION,\n INVITE_COLLABORATORS,\n ];\n\n if (this.canUserAccessMigration(softwares)) {\n carrousel.push(MIGRATE_DATA);\n }\n\n return carrousel;\n }),\n );\n }\n\n private canUserAccessMigration(\n userSoftwares: Array,\n ): boolean {\n const filteredProducts: Array = userSoftwares.filter(\n (companyProduct: CompanyProduct) =>\n companyProduct.codeSAP === ProductCodeSapEnum.BATIMENT ||\n companyProduct.codeSAP === ProductCodeSapEnum.BATIMENT_SILVER ||\n companyProduct.codeSAP === ProductCodeSapEnum.POINT_DE_VENTE,\n );\n\n return (\n filteredProducts.length !== userSoftwares.length ||\n filteredProducts.length !== 1\n );\n }\n}\n","
    \n \n \n
    \n \"example\"\n
    \n {{ config.title }}\n
    \n
    \n {{ config.description }}\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    ","import { Component, Input } from '@angular/core';\nimport { Domain } from '@ebp/vision-layout';\nimport { FooterUrlService } from 'src/app/core/services/footerUrl.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.less'],\n})\nexport class FooterComponent {\n @Input() public domain!: Domain;\n @Input() public logoLink: string = '';\n public showCodeDomain: boolean = false;\n\n constructor(private footerUrl: FooterUrlService) {\n this.footerUrl.load().subscribe();\n }\n\n public onCgv(): string {\n return this.footerUrl.urlCgv;\n }\n\n public urlMentionsLegales(): string {\n return this.footerUrl.urlMentionsLegales;\n }\n\n public urlPolitiqueConf(): string {\n return this.footerUrl.urlPolitiqueConf;\n }\n\n public urlUtilConf(): string {\n return this.footerUrl.urlUtilConf;\n }\n\n public changeDomainVisibility() {\n this.showCodeDomain = !this.showCodeDomain;\n }\n}\n","","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.less'],\n})\nexport class LoadingComponent {}\n","
    \n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ProductCodeSapEnum } from '../../enums/enumerations';\nimport {\n CompanyOption,\n CompanyResult,\n} from '../../interfaces/company-interface';\n\n@Component({\n selector: 'app-option-card',\n templateUrl: './option-card.component.html',\n styleUrls: ['./option-card.component.less'],\n})\nexport class OptionCardComponent implements OnInit {\n @Input() optionName!: 'users' | 'banks';\n @Input() currentCompany?: CompanyResult | null;\n @Input() companyOption!: CompanyOption;\n\n public available?: number;\n private nextCompanyOption!: CompanyOption;\n public nextAvailable!: number;\n public effectiveNextDate!: Date;\n private base: number = 0;\n\n public optionTitle!: string;\n\n constructor() {}\n\n async ngOnInit(): Promise {\n const codeSap = this.companyOption.codeSAP!;\n switch (codeSap) {\n case ProductCodeSapEnum.OPTION_UTILISATEUR:\n case ProductCodeSapEnum.OPTION_UTILISATEUR_SILVER: {\n this.optionTitle = 'Utilisateurs';\n this.base = 1;\n this.available = this.companyOption?.quantity - this.base;\n this.optionName = 'users';\n break;\n }\n case ProductCodeSapEnum.OPTION_BANQUE:\n case ProductCodeSapEnum.OPTION_BANQUE_SILVER: {\n this.optionTitle = 'Banques';\n this.available = this.companyOption?.quantity;\n this.optionName = 'banks';\n break;\n }\n default: {\n }\n }\n }\n\n public HaveNextState() {\n this.nextCompanyOption = this.currentCompany?.options?.find(\n (o) =>\n o.codeSAP == this.companyOption.codeSAP &&\n new Date(o.startDate!) > new Date() &&\n o.endDate == null,\n )!;\n if (this.nextCompanyOption) {\n this.effectiveNextDate = this.nextCompanyOption.startDate!;\n this.nextAvailable = this.nextCompanyOption.quantity! - this.base;\n return true;\n }\n return false;\n }\n\n public get isActive(): boolean {\n if (this.optionName == 'users') {\n return (\n new Date(this.companyOption.startDate!) <= new Date() &&\n (this.companyOption.endDate !== null ||\n new Date(this.companyOption.endDate!) > new Date())\n );\n }\n if (\n this.optionName == 'banks' &&\n this.currentCompany?.products.some(\n (p) =>\n p.codeSAP == ProductCodeSapEnum.COMPTABILITE ||\n p.codeSAP == ProductCodeSapEnum.COMPTABILITE_SILVER,\n )\n ) {\n return (\n new Date(this.companyOption.startDate!) <= new Date() &&\n (this.companyOption.endDate !== null ||\n new Date(this.companyOption.endDate!) > new Date())\n );\n }\n return false;\n }\n}\n","\n
    \n
    \n people\n account_balance\n
    \n
    \n {{ optionTitle }}\n
    \n
    \n Actuellement inclus{{optionName === 'banks'?'e(s)':''}} dans mon abonnement\n
    \n
    \n
    \n
    \n
    \n
    \n {{ available }}\n
    \n
    \n
    \n
    \n Conformément à votre demande, à compter du {{effectiveNextDate | date:'shortDate'}}, vous disposerez de {{nextAvailable}} {{optionName === 'users'?'utilisateur(s)':optionName === 'banks'?'banque(s)':''}}.\n
    \n \n
    \n
    \n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SoftwareColorByCode } from 'src/app/shared/interfaces/software-interface';\n\n@Component({\n selector: 'app-product-card',\n templateUrl: './product-card.component.html',\n styleUrls: ['./product-card.component.less'],\n})\nexport class ProductCardComponent implements OnInit {\n @Input() price?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() code?: string;\n @Input() hasSubscribed: boolean = false; // le client a souscrit a l'abonement ou pas\n @ContentChild('inputRef', { static: true })\n private inputRef!: ElementRef;\n\n @Output() private isChecked: EventEmitter =\n new EventEmitter();\n\n buttonText: string = 'S’abonner';\n buttonTextSelected = `Suspendre l’abonnement`;\n isSelected: boolean = false;\n public color!: string;\n public routeName!: string;\n\n constructor(private router: Router) {}\n\n ngOnInit(): void {\n this.isSelected = this.hasSubscribed;\n this.softwareColor(this.code);\n this.routeName = this.router.url;\n }\n\n onSelectedProduct() {\n this.inputRef.nativeElement.checked = this.isSelected;\n this.isSelected = !this.isSelected;\n this.isChecked.emit(this.isSelected);\n }\n\n softwareColor(code: any) {\n return SoftwareColorByCode[code]\n ? (this.color = SoftwareColorByCode[code].toString())\n : (this.color = '#00bfa5');\n }\n}\n","\n
    \n
    \n

    {{ title }}

    \n

    \n {{ description }}\n

    \n
    \n
    \n \n \n {{ buttonText }}\n \n \n {{ buttonText }}\n \n \n {{ buttonTextSelected }}\n \n
    \n
    \n\n","import { Component, Input } from '@angular/core';\nimport { SoftwareStatus } from '../../interfaces/software-interface';\n\n@Component({\n selector: 'app-software-status',\n templateUrl: './software-status.component.html',\n styleUrls: ['./software-status.component.less'],\n})\nexport class SoftwareStatusComponent {\n name!: string;\n\n @Input() status!: SoftwareStatus;\n\n get statusName(): string {\n if (this.status === SoftwareStatus.AVAILABLE)\n return SoftwareStatus.AVAILABLE;\n if (this.status === SoftwareStatus.DEMO) return SoftwareStatus.DEMO;\n if (this.status === SoftwareStatus.BLOCKED)\n return SoftwareStatus.BLOCKED;\n if (this.status === SoftwareStatus.OPEN) return SoftwareStatus.OPEN;\n if (this.status === SoftwareStatus.UNSUBSCRIBE_PROGRESS)\n return SoftwareStatus.UNSUBSCRIBE_PROGRESS;\n return SoftwareStatus.AVAILABLE;\n }\n\n get statusClass(): string {\n if (this.status === SoftwareStatus.AVAILABLE) return 'available-status';\n if (this.status === SoftwareStatus.DEMO) return 'demo-status';\n if (this.status === SoftwareStatus.BLOCKED) return 'blocked-status';\n if (this.status === SoftwareStatus.OPEN) return 'open-status';\n if (this.status === SoftwareStatus.UNSUBSCRIBE_PROGRESS)\n return 'unsubscribe-progress';\n return 'available-status';\n }\n}\n","
    \n {{statusName}}\n
    \n","import { Component, Input, OnInit } from '@angular/core';\nimport {\n SoftwareColorByCode,\n SoftwareColorByCodeSap,\n SoftwareStatus,\n SoftwareTrialStatus,\n} from 'src/app/shared/interfaces/software-interface';\n\n@Component({\n selector: 'app-software',\n templateUrl: './software.component.html',\n styleUrls: ['./software.component.less'],\n})\nexport class SoftwareComponent implements OnInit {\n @Input() title?: string;\n @Input() code!: string;\n @Input() codeSap!: string;\n @Input() baseUrl!: string;\n @Input() domainId!: string;\n @Input() clickable: boolean = true;\n @Input() workflowStatus: SoftwareTrialStatus = SoftwareTrialStatus.None;\n public color!: string;\n public url!: string;\n public softwareStatusDemo: SoftwareStatus = SoftwareStatus.DEMO;\n public softwareStatusBlocked: SoftwareStatus = SoftwareStatus.BLOCKED;\n\n /**\n * SoftwareComponent init\n */\n ngOnInit(): void {\n this.softwareData(this.code, this.codeSap);\n this.url = `${this.baseUrl}${this.domainId}`;\n }\n\n /**\n * Retrieves software data according to their code\n */\n softwareData(code: any, codeSap: string) {\n if (codeSap)\n this.color = SoftwareColorByCodeSap[codeSap]\n ? SoftwareColorByCodeSap[codeSap].toString()\n : SoftwareColorByCodeSap['default'].toString();\n else\n this.color = SoftwareColorByCode[code]\n ? SoftwareColorByCode[code].toString()\n : SoftwareColorByCode[0].toString();\n }\n\n get isDemoProduct(): boolean {\n return this.workflowStatus == SoftwareTrialStatus.InProgress;\n }\n\n get isBlockedProduct(): boolean {\n return this.workflowStatus == SoftwareTrialStatus.Blocked;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ title }} \n \n \n \n \n\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Domain, UserInformations } from '@ebp/vision-layout';\n\n@Component({\n selector: 'ebp-support-chat',\n templateUrl: './support-chat.component.html',\n styleUrls: ['./support-chat.component.less'],\n})\nexport class SupportChatComponent implements OnInit {\n public environment: string = 'prod-euw1';\n public deploymentId: string = 'efcc5edb-bfed-4b47-8c4f-988971aba0ca';\n\n @Input() public domainInformations!: Domain;\n @Input() public userInformations!: UserInformations;\n @Input() public productCode!: 'acc' | 'inv';\n\n constructor() {}\n\n public ngOnInit(): void {\n const genesysBaseUrl =\n 'https://apps.mypurecloud.ie/genesys-bootstrap/genesys.min.js';\n const genesysScript = document.createElement('script');\n genesysScript.type = 'text/javascript';\n genesysScript.charset = 'utf-8';\n genesysScript.innerHTML = `\n (function (g, e, n, es, ys) {\n g['_genesysJs'] = e;\n g[e] = g[e] || function () {\n (g[e].q = g[e].q || []).push(arguments);\n };\n g[e].t = 1 * new Date();\n g[e].c = es;\n ys = document.createElement('script'); ys.async = 1; ys.src = n; ys.charset = 'utf-8'; document.head.appendChild(ys);\n })(window, 'Genesys', '${genesysBaseUrl}', {\n environment: \"${this.environment}\",\n deploymentId: \"${this.deploymentId}\",\n });\n `;\n document.head.appendChild(genesysScript);\n\n const databaseScript = document.createElement('script');\n databaseScript.type = 'text/javascript';\n databaseScript.charset = 'utf-8';\n databaseScript.innerHTML = `\n Genesys(\"command\", \"Database.set\", {\n messaging: {\n customAttributes: {\n domainCode: \"${this.domainInformations?.code}\",\n productCode: \"${this.productCode}\",\n context_firstName: \"${this.userInformations?.givenName}\",\n context_lastName: \"${this.userInformations?.familyName}\"\n }\n }\n });\n `;\n document.head.appendChild(databaseScript);\n }\n\n public toggleMessenger(): void {\n (window as any).Genesys(\n 'command',\n 'Messenger.open',\n {},\n function () {},\n function () {\n (window as any).Genesys('command', 'Messenger.close');\n },\n );\n }\n}\n","\n","/**\n * ACCUEIL / DASHBOARD\n */\nexport const DASHBOARD_ROUTE_PATH = 'dashboard';\n\n/**\n * ENTREPRISE\n */\nexport const ENTREPRISE_ROUTE_PATH = 'entreprise';\n\n/**\n * UTILISATEURS\n */\nexport const USERS_ROUTE_PATH = 'utilisateurs';\nexport const USERS_INVITATION_NEW = `/${USERS_ROUTE_PATH}/invitation`;\nexport const USERS_INVITATION_LIST = `/${USERS_ROUTE_PATH}/invitation`;\n\n/**\n * ACCEPT INVITATION\n */\nexport const INVITATION_TO_JOIN_DOMAIN_FULL_PATH = 'accept';\n\n/**\n * ABONNEMENTS\n */\nexport const SUBSCRIPTIONS_ROUTE_PATH = 'abonnements';\n/**\n * Souscription en attente\n */\nexport const FINALIZE_SUBSCRIPTION_ROUTE_PATH = 'finalize-subscription';\n/**\n * ERROR\n */\nexport const ERROR_PAGE_ROUTE_PATH = 'error';\nexport const DOMAINS_NOT_FOUND_PAGE_ROUTE_PATH = 'domains-not-found';\nexport const DOMAIN_TRIAL_ROUTE_PATH = 'domain-trial-period';\nexport const DOMAIN_TRIAL_ROUTE_FULL_PATH =\n '/creation-entreprise/domain-trial-period';\n\n// TODO ROUTES & MODULE (CUSTOMER COMPANY) A SUPPRIMER EN TEMPS VOULU\nexport const CUSTOMER_COMPANY_ROUTE_PATH = 'creation-entreprise';\n","import { EbpNotificationDataOptions } from '@ebp/notifications';\n\nexport const notificationDataOptions: EbpNotificationDataOptions = {\n duration: 2000,\n closeIcon: '',\n light: false,\n} as const;\n","export const EBP_FIRST_CONNECTION_KEY = 'Ebp.FirstConnection';\n","import { Directive, ElementRef, forwardRef, HostListener } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: 'input[appInputUppercase]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputUppercaseDirective),\n multi: true,\n },\n ],\n})\nexport class InputUppercaseDirective implements ControlValueAccessor {\n private onChange: ((value: any) => void) | undefined;\n\n private onTouched: (() => void) | undefined;\n\n public constructor(private readonly elementRef: ElementRef) {}\n\n @HostListener('input', ['$event.target.value'])\n public onInput(value: string): void {\n const transformedValue: string = value.toUpperCase();\n this.elementRef.nativeElement.value = transformedValue;\n\n if (this.onChange) {\n this.onChange(transformedValue);\n }\n\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n public writeValue(_: any): void {}\n\n public registerOnChange(callback: any): void {\n this.onChange = callback;\n }\n\n public registerOnTouched(callback: any): void {\n this.onTouched = callback;\n }\n}\n","/** ADDRESS */\n\nexport enum AddressCodeEnum {\n ADDRESS_POSTAL = 1,\n ADDRESS_BILLING = 2,\n}\n\nexport enum AddressTypeEnum {\n ADDRESS_POSTAL = 'Adresse postale',\n ADDRESS_BILLING = 'Adresse de facturation',\n}\n\n/** PRODUCT */\n\nexport enum ProductCodeHubbixEnum {\n GESTION_COMMERCIALE = 1,\n GESTION_COMMERCIALE_SILVER = 32768,\n COMPTABILITE = 2,\n COMPTABILITE_SILVER = 65536,\n FORMATION_COMPTABILITE = 101,\n FORMATION_GESTION_COMMERCIALE = 102,\n FORMATION_COMPTA_GESTION_COMMERCIAL = 103,\n PAIE = 512,\n BATIMENT = 2048,\n BATIMENT_SILVER = 131072,\n POINT_DE_VENTE = 1024,\n POINT_DE_VENTE_SILVER = 262144,\n OPTION_UTILISATEUR = 99,\n OPTION_BANQUE = 98,\n OPTION_UTILISATEUR_SILVER = 96,\n OPTION_BANQUE_SILVER = 95,\n}\n\nexport enum ProductCodeSapEnum {\n GESTION_COMMERCIALE = '1029J001FAC',\n GESTION_COMMERCIALE_SILVER = '1029J004FAD',\n COMPTABILITE = '1036J001FAB',\n COMPTABILITE_SILVER = '1036J004FAD',\n PAIE = '1025J001FAE',\n BATIMENT = '1039J001FAA',\n BATIMENT_SILVER = '1039J004FAA',\n POINT_DE_VENTE = '1037J001FAA',\n POINT_DE_VENTE_SILVER = '1037J004FAA ',\n FORMATION_COMPTABILITE = '4036A003FAB',\n FORMATION_GESTION_COMMERCIALE = '4029A003FAB',\n FORMATION_COMPTA_GESTION_COMMERCIAL = '4036A003FAD',\n OPTION_UTILISATEUR = '6000J00EFAE',\n OPTION_BANQUE = '6000J00FFAB',\n OPTION_UTILISATEUR_SILVER = '6000J00EFAF',\n OPTION_BANQUE_SILVER = '6000J00FFAC',\n}\n\nexport enum ProductNameEnum {\n GESTION_COMMERCIALE = 'Hubbix Gestion commerciale',\n GESTION_COMMERCIALE_SILVER = 'Hubbix Gestion commerciale',\n COMPTABILITE = 'Hubbix Comptabilité',\n COMPTABILITE_SILVER = 'Hubbix Comptabilité',\n PAIE = 'Hubbix Paie',\n BATIMENT = 'Hubbix Bâtiment',\n BATIMENT_SILVER = 'Hubbix Bâtiment',\n POINT_DE_VENTE = 'Hubbix Point de Vente',\n POINT_DE_VENTE_SILVER = 'Hubbix Point de Vente',\n FORMATION_COMPTABILITE = 'Formation Comptabilité 2 heures',\n FORMATION_GESTION_COMMERCIALE = 'Formation Gestion commerciale 2 heures',\n FORMATION_COMPTA_GESTION_COMMERCIALE = 'Formation Comptabilité Gestion commerciale 3 heures',\n OPTION_UTILISATEUR = 'Option Utilisateur',\n OPTION_BANQUE = 'Option Banque',\n OPTION_UTILISATEUR_SILVER = 'Option Utilisateur',\n OPTION_BANQUE_SILVER = 'Option Banque',\n}\n\n/** SOFTWARE */\nexport enum RolesTypeEnum {\n ADMINISTRATOR = 'Administrator',\n USER = 'User',\n CHART_ACCOUNTANT = 'ChartAccountant',\n}\n\nexport enum DomainUpdateStatus {\n Cancelled = 0,\n Pending = 1,\n Unprocessed = 2,\n Validated = 3,\n}\n\nexport enum PeriodicityEnum {\n Mensuel = 1,\n Annuel = 2,\n}\n\nexport enum PaymentModEnum {\n SEPA = 1,\n CB = 2,\n}\n","export enum StepMigration {\n DataSource = 1,\n Login = 2,\n ImportBeforeStart = 3,\n ImportInProgress = 4,\n ImportFinish = 5,\n ImportComptaView = 6,\n Resiliation = 7,\n}\n\nexport enum MigrationType {\n DevisFact = 1,\n ComptatActiv = 2,\n BatimentActiv = 3,\n}\n\nexport enum MigrationStatus {\n // Migration en cours\n Pending = 0,\n // La migration à réussi\n Success = 1,\n // Erreur lors de la migration, une nouvelle tentative est possible\n Error = 2,\n // Erreur irrécupérable lors de la migration\n Failure = 3,\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { AuthenticationService } from '../services/authentication.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthenticationGuard implements CanActivate, CanActivateChild {\n constructor(\n private readonly _authenticationService: AuthenticationService,\n ) {}\n\n public canActivate():\n | Observable\n | Promise\n | boolean\n | UrlTree {\n return this._checkAuthentication();\n }\n\n public canActivateChild():\n | Observable\n | Promise\n | boolean\n | UrlTree {\n return this._checkAuthentication();\n }\n\n /**\n * Vérifie l'authentification\n * Si environnement local, on autorise toujours\n * Sinon, on vérifie la validité du token\n * Si token invalide, on redirige vers la page d'erreur authentication-error, qui redirigera vers le login\n **/\n private _checkAuthentication() {\n return this._authenticationService.isAuthenticated;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { DomainsService } from '../services/domains.service';\nimport {\n DOMAIN_TRIAL_ROUTE_FULL_PATH,\n DOMAINS_NOT_FOUND_PAGE_ROUTE_PATH,\n} from '../constants/app-routes.constant';\nimport { TrialPeriodService } from '../services/trial-period.service';\nimport { AcceptInvitationService } from '../services/accept-invitation.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DomainsGuard implements CanActivate {\n constructor(\n private domainService: DomainsService,\n private router: Router,\n private trialPeriodService: TrialPeriodService,\n private acceptInvitationService: AcceptInvitationService,\n ) {}\n\n canActivate():\n | Observable\n | Promise\n | boolean\n | UrlTree {\n if (this.acceptInvitationService.acceptInvitationRequest) {\n this.router.navigateByUrl(\n this.acceptInvitationService.getJoinDomainFromInvitationPath!,\n );\n return true;\n }\n const domains = this.domainService.getDomainsSessionStorage();\n if (domains.values.length == 0) {\n this.domainService.getDomains().subscribe((data) => {\n if (this.trialPeriodService.isTrialRequest) {\n const url =\n this.trialPeriodService.createDomainFromPartnerPath ??\n DOMAIN_TRIAL_ROUTE_FULL_PATH;\n this.router.navigateByUrl(url);\n return;\n }\n if (data.paginate.totalDatas == 0) {\n this.router.navigateByUrl(\n DOMAINS_NOT_FOUND_PAGE_ROUTE_PATH,\n );\n return;\n }\n });\n return true;\n }\n [];\n if (this.trialPeriodService.isTrialRequest) {\n this.router.navigateByUrl(DOMAIN_TRIAL_ROUTE_FULL_PATH);\n return true;\n }\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, UrlTree } from '@angular/router';\nimport { first, Observable, skipWhile } from 'rxjs';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { EndTrialPeriodComponent } from '../../features/dialogs/end-trial-period/end-trial-period.component';\nimport { DomainsService } from '../services/domains.service';\nimport { SoftwareTrialStatus } from '../interfaces/software-interface';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EndTrialPeriodGuard implements CanActivate {\n constructor(\n private _modalService: NzModalService,\n private _domainService: DomainsService,\n ) {}\n\n canActivate():\n | Observable\n | Promise\n | boolean\n | UrlTree {\n this._domainService.currentDomain$\n .pipe(\n skipWhile((d) => !d),\n first(),\n map((domain) => {\n if (\n domain?.domainProduct?.some(\n (item) =>\n item.stateTrial == SoftwareTrialStatus.Buyed,\n )\n ) {\n return !domain?.domainProduct?.some(\n (item) =>\n item.stateTrial == SoftwareTrialStatus.Buyed,\n );\n }\n return (\n domain?.domainProduct\n ?.map((item) => item.stateTrial)\n .includes(SoftwareTrialStatus.Expired) ?? false\n );\n }),\n )\n .subscribe((isExpired) => {\n if (isExpired) {\n this._modalService.create({\n nzWidth: '100%',\n nzContent: EndTrialPeriodComponent,\n nzComponentParams: {},\n nzFooter: [],\n });\n }\n });\n return true;\n }\n}\n","export function downloadFile(blob: Blob, fileName: string): string | undefined {\n if (window.navigator && 'msSaveOrOpenBlob' in window.navigator) {\n (\n window.navigator as Navigator & {\n msSaveOrOpenBlob: (blob: Blob) => void;\n }\n ).msSaveOrOpenBlob(blob);\n return undefined;\n }\n\n const objectURL: string = URL.createObjectURL(blob);\n const link: HTMLAnchorElement = document.createElement('a');\n link.href = objectURL;\n link.download = fileName;\n\n link.click();\n link.remove();\n\n return objectURL;\n}\n","import { InjectionToken } from '@angular/core';\nimport { EbpNotificationDataOptions } from '@ebp/notifications';\n\nexport const NOTIFICATION_DATA_OPTIONS: InjectionToken =\n new InjectionToken(\n 'EbpNotificationDataOptions',\n );\n","import { InjectionToken } from '@angular/core';\n\nexport const WINDOW = new InjectionToken('Window', {\n providedIn: 'root',\n factory: () => window,\n});\n","import { AuthConfig } from 'angular-oauth2-oidc';\nimport { DASHBOARD_ROUTE_PATH } from '../constants/app-routes.constant';\n\nexport interface AuthenticationInterface {\n authOidcIssuerUrl: string;\n authOidcPostLogoutRedirectUri: string;\n authOidcClientId: string;\n authOidcScope: string;\n}\n\nexport const authConfig: AuthConfig = {\n // The SPA's id. The SPA is registerd with this id at the auth-server\n // set the scope for the permissions the client should request\n // The first three are defined by OIDC. The 4th is a usecase-specific one\n // Config\n redirectUri: `${window.location.origin}/${DASHBOARD_ROUTE_PATH}`,\n postLogoutRedirectUri: `${window.location.origin}/index.html`,\n requireHttps: false,\n timeoutFactor: 0.85,\n silentRefreshTimeout: 1000 * 30,\n preserveRequestedRoute: true, // /!\\ important field to keep the requested route\n};\n\nexport const EMPTY_AUTHENTICATION: AuthenticationInterface = {\n authOidcIssuerUrl: '',\n authOidcPostLogoutRedirectUri: '',\n authOidcClientId: '',\n authOidcScope: '',\n};\n","import { DomainUpdateStatus } from '../enums/enumerations';\n\nexport interface DomainUpdateEventResultInterface {\n id?: string;\n domainId: string;\n platformOrigin: PlatformOrigin;\n originUser: string;\n createdDate?: Date;\n status?: DomainUpdateStatus;\n validationDate?: Date;\n orderId?: string;\n periodicity?: number | null;\n domainUpdateProductEvents: DomainUpdateProductEventResult[];\n}\n\nexport interface DomainUpdateProductEventResult {\n id?: string;\n domainUpdateEventId?: string;\n productId: string;\n quantity: number;\n motifRetraitProductId?: string | null;\n MotifResiliationAutre?: string | null;\n codePromo?: string | null;\n}\n\nexport enum PlatformOrigin {\n Client = 1,\n Commercial = 2,\n Revendeur = 3,\n}\n\nexport interface BasketPricesPayload {\n periodicity: number;\n alpha2CodeCountry: string;\n tvaIntracommunity: string;\n basketItems: DomainUpdateProductEventRequest[];\n codePromo: string | null;\n}\n\nexport interface DomainUpdateProductEventRequest {\n productId: string;\n codeProduct: number;\n quantity: number;\n}\n\nexport interface BasketPricesDto {\n tva: number;\n totalHT: number;\n totalTTC: number;\n totalTVA: number;\n}\n\nexport interface ProvisionalDatesRetraitDto {\n domainId: string;\n dateDemandeRetrait: Date;\n dateEffectiveRetrait: Date;\n dateSuppressionDonnees: Date;\n nextScheduledBillingDate: Date;\n dateFinPromo: Date;\n codePromo?: string;\n}\n","export interface SyncStep {\n id: number;\n title: string;\n description: string;\n async: false;\n percentage: null;\n}\n\nexport interface AsyncStep {\n id: number;\n title: string;\n description: string;\n async: true;\n percentage: number;\n}\n\nexport type Step = SyncStep | AsyncStep;\n\nexport const StepList: Step[] = [\n {\n id: 1,\n title: 'Applications',\n description: '',\n async: true,\n percentage: 0,\n },\n {\n id: 2,\n title: 'Options',\n description: ``,\n async: false,\n percentage: null,\n },\n {\n id: 3,\n title: 'Mode de Paiement',\n description: ``,\n async: false,\n percentage: null,\n },\n {\n id: 4,\n title: 'Confirmation',\n description: ``,\n async: true,\n percentage: 0,\n },\n];\n","export interface Profile {\n name: string;\n userStandard?: boolean;\n userAdmin?: boolean;\n userChartAccountant?: boolean;\n userRevendeur?: boolean;\n}\n\nexport interface Class {\n name?: ClassEnum;\n profiles: Array;\n}\n\nexport enum Role {\n ADMIN = 'Administrator',\n STD_USER = 'User',\n CHARTACCOUNTANT = 'ChartAccountant',\n REVENDEUR = 'Revendeur',\n COLLABORATOR = 'Collaborator',\n}\n\nexport enum ClassEnum {\n USER_MANGAGE = 'Gestion des utilisateurs',\n CHARTACC_MANAGE = \"Gestion de l'accès expert comptable\",\n TECH_ASSIST = 'Assistance technique',\n}\n\nexport const TableHeader = [\n 'Droits',\n 'Utlisateur standard',\n 'Expert comptable',\n 'Administrateur',\n];\n\nexport const UserProfilesTable: ReadonlyArray = [\n {\n profiles: [\n {\n name: 'Accéder aux logiciels',\n userStandard: true,\n userAdmin: true,\n userChartAccountant: true,\n userRevendeur: true,\n },\n ],\n },\n {\n name: ClassEnum.USER_MANGAGE,\n profiles: [\n {\n name: 'Inviter des utilisateurs',\n userStandard: false,\n userAdmin: true,\n userChartAccountant: false,\n userRevendeur: false,\n },\n {\n name: 'Modifier les rôles et accès des utilisateurs',\n userStandard: false,\n userAdmin: true,\n userChartAccountant: false,\n userRevendeur: false,\n },\n {\n name: 'Supprimer un utilisateur',\n userStandard: false,\n userAdmin: true,\n userChartAccountant: false,\n userRevendeur: false,\n },\n ],\n },\n {\n name: ClassEnum.CHARTACC_MANAGE,\n profiles: [\n {\n name: 'Inviter un expert comptable',\n userStandard: false,\n userAdmin: true,\n userChartAccountant: false,\n userRevendeur: false,\n },\n {\n name: 'Modifier ses accès aux applications',\n userStandard: false,\n userAdmin: true,\n userChartAccountant: false,\n userRevendeur: false,\n },\n {\n name: 'Supprimer un accès',\n userStandard: false,\n userAdmin: true,\n userChartAccountant: false,\n userRevendeur: false,\n },\n ],\n },\n {\n name: ClassEnum.TECH_ASSIST,\n profiles: [\n {\n name: \"Solliciter l'assistance technique via ticket\",\n userStandard: true,\n userAdmin: true,\n userChartAccountant: true,\n userRevendeur: true,\n },\n ],\n },\n];\n","export interface SyncStep {\n id: number;\n title: string;\n description: string;\n async: false;\n percentage: null;\n}\n\nexport interface AsyncStep {\n id: number;\n title: string;\n description: string;\n async: true;\n percentage: number;\n}\n\nexport type Step = SyncStep | AsyncStep;\n\nexport const StepList: Step[] = [\n {\n id: 1,\n title: 'Profil',\n description: `Renseigner le profil de l’utilisateur invité. Ce profil lui permettra d’accéder à différentes fonctionnalités d’administration.`,\n async: false,\n percentage: null,\n },\n {\n id: 2,\n title: 'Email',\n description: `Renseigner l’email de l’utilisateur invité. Cet email permettra de recevoir son invitation.\n Il pourra modifier ses coordonnées dans son espace.`,\n async: false,\n percentage: null,\n },\n {\n id: 3,\n title: 'Accès',\n description: `Renseigner les accès de l’utilisateur invité aux différents logiciels auxquels vous êtes abonnés.`,\n async: false,\n percentage: null,\n },\n {\n id: 4,\n title: 'Confirmation',\n description: `Merci de vérifier les informations saisies.`,\n async: true,\n percentage: 0,\n },\n];\n","import { SoftwareInterface } from './software-interface';\n\nexport interface ProductInterface {\n codeForm?: string;\n software: SoftwareInterface;\n price: number;\n description: string;\n}\n\nexport interface EstimatePricesRequest {\n codeDomaine?: string;\n platformOrigin: number;\n products?: ProductForEstimation[];\n periodicity: number;\n codePromo?: string | null;\n}\n\nexport interface ProductForEstimation {\n codeECC?: string;\n quantity: number;\n}\n\nexport interface EstimatePricesResult {\n products?: EstimatedProduct[];\n totalOriginPriceAmount: number;\n totalFinalPriceAmount: number;\n totalDiscountAmount: number;\n tvaRate: number;\n tvaAmount: number;\n totalTTCFinalPriceAmount: number;\n}\n\nexport interface EstimatedProduct {\n codeEcc?: string;\n codeHubbix: number;\n quantity: number;\n finalPriceAmount: number;\n originPriceAmount: number;\n discountAmount: number;\n}\n\nexport interface ProductV2Dto {\n codeSap?: string;\n codeHubbix: number;\n name?: string;\n descriptions?: string[];\n productFamily?: string;\n productGamme?: string;\n modeCommerce?: string;\n functionLevel?: string;\n productType?: string;\n productSubType?: string;\n serviceType?: string;\n contratType?: string;\n published: boolean;\n id?: string;\n url: string;\n markets: Market[];\n finalPriceAmount: number;\n originPriceAmount: number;\n discountAmount: number;\n priceValueDetails: PriceValueDetail[];\n category: number;\n assistanceType: number;\n hasPrices: boolean;\n currentRatePlanId?: string;\n isBeta: boolean;\n}\n\nexport interface Market {\n marketId: string;\n ratePlans: RatePlan[];\n}\n\nexport interface RatePlan {\n patePlanId: string;\n periodicity: string;\n}\n\nexport interface PriceValueDetail {\n specificationCode: string;\n priceType: string;\n name: string;\n valueAmount: number;\n}\n\nexport enum AssistanceTypes {\n Standard,\n Silver,\n}\n\nexport enum ProductCategory {\n None = 0,\n Software = 1,\n Option = 2,\n Formation = 3,\n}\nexport interface BlockedProduct {\n domainProductId: string;\n codeSap: string;\n accessibilityReasonDetail: string;\n accessibilityReasonType: number;\n reason: string;\n dateTime: string;\n}\n","export interface SoftwareInterface {\n code: SoftwareHubbixCode;\n name: SoftwareName;\n}\n\nexport enum SoftwareStatus {\n AVAILABLE = 'Disponible',\n DEMO = 'Essai',\n OPEN = 'Ouvrir',\n UNSUBSCRIBE_PROGRESS = 'En cours de retrait',\n BLOCKED = 'Bloqué',\n}\n\nexport enum SoftwareTrialStatus {\n None = 0, // (Description : Aucune) // Correspond aux domaines achetés sans période d'essai\n InProgress = 1, // (Description : En cours)\n Expired = 2, // (Descrption : Expirée)\n Buyed = 3, // (Description : Achetée) // Correspond aux domaines achetée suite à une période d'essai\n Blocked = 4, // (Description : Bloquée)\n}\n\nexport enum SoftwareHubbixCode {\n INV = 1, // Gestion commerciale\n ACC = 2, // Comptabilité\n PAI = 512, // Paie\n PDV = 1024, // Point de vente\n BAT = 2048, // Batiment\n ACC_PME = 4096, // Compta PME\n INV_PME = 8192, // Gestion PME\n PAI_EDT = 1638, // Paie editeur\n INV_S = 32768, // Gestion commerciale silver\n ACC_S = 65536, // Comptabilité silver\n}\n\nexport enum SoftwareSapCode {\n INV = '1029J001FAC', // Gestion commerciale\n ACC = '1036J001FAB', // Comptabilité\n PAI = '1025J001FAE', // Paie\n PDV = '1024', // Point de vente\n BAT = '1039J001FAA', // Batiment\n ACC_PME = '4096', // Compta PME\n INV_PME = '8192', // Gestion PME\n PAI_EDT = '1638', // Paie editeur\n INV_S = '1029J004FAD', // Gestion commerciale silver\n ACC_S = '1036J004FAD', // Comptabilité silver\n}\n\nexport const SoftwareHubbixCodes = [\n SoftwareHubbixCode.INV,\n SoftwareHubbixCode.ACC,\n SoftwareHubbixCode.PAI,\n SoftwareHubbixCode.PDV,\n SoftwareHubbixCode.BAT,\n SoftwareHubbixCode.ACC_PME,\n SoftwareHubbixCode.INV_PME,\n SoftwareHubbixCode.PAI_EDT,\n SoftwareHubbixCode.INV_S,\n SoftwareHubbixCode.ACC_S,\n];\n\nexport const softwareFlagName = [\n 'INV',\n 'ACC',\n 'PAI',\n 'PDV',\n 'BAT',\n 'ACC_PME',\n 'INV_PME',\n 'PAI_EDT',\n 'INV_S',\n 'ACC_S',\n];\n\nexport enum SoftwareName {\n INV = 'Gestion commerciale',\n ACC = 'Comptabilité',\n PAI = 'Paie',\n PDV = 'Point de vente',\n BAT = 'Bâtiment',\n ACC_PME = 'Comptabilité PME',\n INV_PME = 'Gestion PME',\n PAI_EDT = 'Paie Editeur',\n INV_S = 'Gestion commerciale',\n ACC_S = 'Comptabilité',\n}\n\nexport const softwareNames = [\n SoftwareName.INV,\n SoftwareName.ACC,\n SoftwareName.PAI,\n SoftwareName.PDV,\n SoftwareName.BAT,\n SoftwareName.ACC_PME,\n SoftwareName.INV_PME,\n SoftwareName.PAI_EDT,\n SoftwareName.INV_S,\n SoftwareName.ACC_S,\n];\n\nexport enum SoftwareColor {\n INV = '#9333ff',\n ACC = '#42a5f5',\n PAI = '#4CAF50',\n PDV = '#FB7161',\n BAT = '#FF9800',\n ACC_PME = '#E53935',\n INV_PME = '#EC407A',\n PAIE_EDT = '#4CAF50',\n INV_S = '#9333ff',\n ACC_S = '#42a5f5',\n PDV_S = '#FB7161',\n DEFAULT = '#00bfa5',\n}\n\nexport const SoftwareNameByFlag: { [key: string]: string } = {\n INV: SoftwareName.INV,\n ACC: SoftwareName.ACC,\n PAI: SoftwareName.PAI,\n PDV: SoftwareName.PDV,\n BAT: SoftwareName.BAT,\n ACC_PME: SoftwareName.ACC_PME,\n INV_PME: SoftwareName.INV_PME,\n PAIE_EDT: SoftwareName.PAI_EDT,\n INV_S: SoftwareName.INV_S,\n ACC_S: SoftwareName.ACC_S,\n};\n\nexport const SoftwareColorByCode: { [key: number]: string } = {\n 0: SoftwareColor.DEFAULT,\n 1: SoftwareColor.INV,\n 2: SoftwareColor.ACC,\n 512: SoftwareColor.PAI,\n 1024: SoftwareColor.PDV,\n 2048: SoftwareColor.BAT,\n 4096: SoftwareColor.ACC_PME,\n 8192: SoftwareColor.INV_PME,\n 1638: SoftwareColor.PAIE_EDT,\n 32768: SoftwareColor.INV_S,\n 65536: SoftwareColor.ACC_S,\n};\n\nexport const SoftwareColorByCodeSap: { [key: string]: string } = {\n default: SoftwareColor.DEFAULT,\n '1029J001FAC': SoftwareColor.INV,\n '1036J001FAB': SoftwareColor.ACC,\n '1025J001FAE': SoftwareColor.PAI,\n '1037J001FAA': SoftwareColor.PDV,\n '1039J001FAA': SoftwareColor.BAT,\n '4096': SoftwareColor.ACC_PME,\n '8192': SoftwareColor.INV_PME,\n '1638': SoftwareColor.PAIE_EDT,\n '1029J004FAD': SoftwareColor.INV_S,\n '1036J004FAD': SoftwareColor.ACC_S,\n '1037J004FAA': SoftwareColor.PDV_S,\n};\n\nexport const getSoftwareNameByFlag = (flag: string): string => {\n return SoftwareNameByFlag[flag]\n ? SoftwareNameByFlag[flag].toString()\n : 'Inconnu';\n};\n\nexport const getSoftwareNameByNumber = (access: number): string[] => {\n const sofwareAccess = SoftwareHubbixCodes.filter(\n (item) => (access & item) === item,\n access,\n );\n return sofwareAccess.map((sofwareCode) => {\n if (sofwareCode == SoftwareHubbixCode.PDV) return SoftwareName.PDV;\n if (sofwareCode == SoftwareHubbixCode.BAT) return SoftwareName.BAT;\n if (sofwareCode == SoftwareHubbixCode.PAI) return SoftwareName.PAI;\n if (sofwareCode == SoftwareHubbixCode.ACC) return SoftwareName.ACC;\n if (sofwareCode == SoftwareHubbixCode.INV) return SoftwareName.INV;\n if (sofwareCode == SoftwareHubbixCode.ACC_PME)\n return SoftwareName.ACC_PME;\n if (sofwareCode == SoftwareHubbixCode.INV_PME)\n return SoftwareName.INV_PME;\n if (sofwareCode == SoftwareHubbixCode.PAI_EDT)\n return SoftwareName.PAI_EDT;\n if (sofwareCode == SoftwareHubbixCode.INV_S) return SoftwareName.INV_S;\n if (sofwareCode == SoftwareHubbixCode.ACC_S) return SoftwareName.ACC_S;\n return 'Aucun Accès';\n });\n};\n","export interface UserCoreInterface {\n sub: string;\n name: string;\n email: string;\n given_name: string;\n family_name: string;\n role: Array;\n}\n\nexport interface UserAppInterface {\n sub: string;\n name: string;\n email: string;\n givenName: string;\n familyName: string;\n role: any;\n}\n\nexport const userAppMap = (\n userLoggin: UserCoreInterface | any,\n): UserAppInterface => {\n return {\n sub: userLoggin.sub,\n name: userLoggin.name,\n email: userLoggin.email,\n givenName: userLoggin.given_name,\n familyName: userLoggin.family_name,\n role: userLoggin.role,\n };\n};\n\nexport interface UserInterfaceDto {\n id: string;\n domainId: string;\n civility: string;\n firstName: string;\n lastName: string;\n email: string;\n createdAt: Date;\n roles: any;\n softwareAccess: any;\n}\n","import { NgModule } from '@angular/core';\nimport { NzLayoutModule } from 'ng-zorro-antd/layout';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzSpaceModule } from 'ng-zorro-antd/space';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTypographyModule } from 'ng-zorro-antd/typography';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzMenuModule } from 'ng-zorro-antd/menu';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzCardModule } from 'ng-zorro-antd/card';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzPageHeaderModule } from 'ng-zorro-antd/page-header';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzProgressModule } from 'ng-zorro-antd/progress';\nimport { NzTableModule } from 'ng-zorro-antd/table';\nimport { NzPaginationModule } from 'ng-zorro-antd/pagination';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzResultModule } from 'ng-zorro-antd/result';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\nimport { NzStepsModule } from 'ng-zorro-antd/steps';\nimport { NzListModule } from 'ng-zorro-antd/list';\nimport { NzSwitchModule } from 'ng-zorro-antd/switch';\nimport { NzAlertModule } from 'ng-zorro-antd/alert';\nimport { NzRateModule } from 'ng-zorro-antd/rate';\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\n// EBP Imports\nimport { EbpValidationModule } from '@ebp/validation';\nimport { EbpDirectivesModule } from '@ebp/directives';\nimport { EbpDatepickerModule } from '@ebp/datepicker';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\nimport { NzCarouselModule } from 'ng-zorro-antd/carousel';\n\nconst NZ_ANT_DESIGN = [\n NzPaginationModule,\n NzTableModule,\n NzLayoutModule,\n NzDividerModule,\n NzSpaceModule,\n NzButtonModule,\n NzIconModule,\n NzTypographyModule,\n NzDropDownModule,\n NzMenuModule,\n NzFormModule,\n NzCardModule,\n NzAvatarModule,\n NzSkeletonModule,\n NzSpinModule,\n NzSelectModule,\n NzInputModule,\n NzButtonModule,\n NzFormModule,\n NzTabsModule,\n NzTypographyModule,\n NzPageHeaderModule,\n NzGridModule,\n NzProgressModule,\n NzDrawerModule,\n NzResultModule,\n NzEmptyModule,\n NzModalModule,\n NzToolTipModule,\n NzTagModule,\n NzStepsModule,\n NzListModule,\n NzSwitchModule,\n NzAlertModule,\n NzRateModule,\n NzPopconfirmModule,\n NzRadioModule,\n NzBadgeModule,\n NzCarouselModule,\n NzCollapseModule,\n // EBP Modules\n EbpDatepickerModule,\n EbpDirectivesModule,\n EbpValidationModule,\n];\n\n@NgModule({\n imports: NZ_ANT_DESIGN,\n exports: NZ_ANT_DESIGN,\n})\nexport class AntDesignModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {\n getSoftwareNameByFlag,\n getSoftwareNameByNumber,\n} from '../interfaces/software-interface';\n\n@Pipe({\n name: 'accesLabel',\n})\nexport class AccesLabelPipe implements PipeTransform {\n transform(data: any): string {\n if (typeof data === 'object' && data !== null) {\n for (const key of Object.keys(data)) {\n const codeSoftware = key.split(',');\n\n return codeSoftware\n .map((code) => getSoftwareNameByFlag(code.trim()))\n .join(', ');\n }\n }\n if (!isNaN(+data)) {\n return getSoftwareNameByNumber(data).join(', ');\n }\n return 'Inconnu';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'getFirstLetter',\n})\nexport class GetFirstLetterPipe implements PipeTransform {\n transform(value: string): string {\n if (!value) throw Error('La valeur ne peut être vide.');\n return value.charAt(0).toUpperCase();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { InvitationService } from '../services/invitation.service';\n\n@Pipe({\n name: 'invitationStateLabel',\n})\nexport class InvitationStatePipe implements PipeTransform {\n transform(value: number): string {\n switch (value) {\n case InvitationService.STATE_INVITED:\n case InvitationService.STATE_PENDING: {\n return 'En cours';\n }\n case InvitationService.STATE_ACCEPTED: {\n return 'Acceptée';\n }\n case InvitationService.STATE_CANCELLED: {\n return 'Annulée';\n }\n case InvitationService.STATE_IGNORED: {\n return 'Ignorée/Refusée';\n }\n default: {\n return 'Status Inconnu';\n }\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { RoleInterface } from '../interfaces/role-interface';\n\n@Pipe({\n name: 'profilLabel',\n})\nexport class ProfilLabelPipe implements PipeTransform {\n transform(data: any, roles: ReadonlyArray): string {\n if (typeof data === 'string' || data instanceof String) {\n const profile = roles.find(\n (el) => el.id == data || el.name == data,\n );\n if (profile) {\n if (profile.name === 'Administrator') return 'Administrateur';\n else if (profile.name === 'User') return 'Standard';\n else if (profile.name === 'ChartAccountant')\n return 'Expert comptable';\n else return profile.name;\n }\n }\n if (typeof data === 'object' && data !== null) {\n for (const value of Object.values(data)) {\n const profile = roles.find((el) => el.id == value);\n if (profile) {\n if (profile.name === 'Administrator')\n return 'Administrateur';\n else if (profile.name === 'User') return 'Standard';\n else if (profile.name === 'ChartAccountant')\n return 'Expert comptable';\n else return profile.name;\n }\n }\n }\n return 'Inconnu';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { DomainsService } from '../services/domains.service';\nimport { DomainPaginateInterface } from '../interfaces/dto/domain-paginate-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DomainsResolver implements Resolve {\n constructor(private readonly domainService: DomainsService) {}\n\n resolve(): Observable {\n const domains = this.domainService.getDomainsSessionStorage();\n if (domains.values.length == 0) {\n return this.domainService.getDomains();\n }\n return of(domains);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ProductService } from '../services/product.service';\nimport { ProductV2Dto } from '../interfaces/product-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProductsV2Resolver implements Resolve {\n constructor(private productService: ProductService) {}\n\n resolve(): Observable {\n return this.productService.getProductsV2();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { RoleService } from '../services/role.service';\nimport { RoleInterface } from '../interfaces/role-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RolesResolver implements Resolve> {\n constructor(private roleService: RoleService) {}\n\n resolve(): Observable> {\n if (this.roleService.roles && this.roleService.roles.length == 4) {\n return of(this.roleService.roles);\n }\n\n return this.roleService.getRoles();\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ConfigurationService } from './configuration.service';\nimport { Observable } from 'rxjs';\nimport { NavigationStart, Router } from '@angular/router';\nimport { INVITATION_TO_JOIN_DOMAIN_FULL_PATH } from '../constants/app-routes.constant';\nimport { EBP_FIRST_CONNECTION_KEY } from '../constants/storage-keys.constant';\n\nexport const ACCEPT_INVITATION_PATH = 'accept_invitation_path';\nexport const ACCEPT_INVITATION_REQUEST_KEY_STORAGE = 'accept_invitation';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AcceptInvitationService {\n DOMAIN_BASE_ROUTE_API = `api/v1.0/domains/invitations`;\n\n invitationRequest() {\n sessionStorage.setItem(ACCEPT_INVITATION_REQUEST_KEY_STORAGE, 'true');\n }\n\n get getJoinDomainFromInvitationPath(): string | null {\n return sessionStorage.getItem(ACCEPT_INVITATION_PATH);\n }\n\n get acceptInvitationRequest(): boolean {\n return !!sessionStorage.getItem(ACCEPT_INVITATION_REQUEST_KEY_STORAGE);\n }\n\n clear() {\n sessionStorage.removeItem(ACCEPT_INVITATION_PATH);\n sessionStorage.removeItem(ACCEPT_INVITATION_REQUEST_KEY_STORAGE);\n }\n\n /**\n * InvitationService constructor\n */\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigurationService,\n ) {}\n\n public acceptInvitation(code: string): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.DOMAIN_BASE_ROUTE_API}/${code}/accept`,\n );\n }\n}\n\nexport function initializeAcceptInvitationFactory(\n _router: Router,\n acceptInvitationService: AcceptInvitationService,\n): () => Promise {\n return async () =>\n new Promise((resolve) => {\n _router.events.subscribe((event) => {\n if (\n event instanceof NavigationStart &&\n event.url.includes(INVITATION_TO_JOIN_DOMAIN_FULL_PATH)\n ) {\n localStorage.setItem(EBP_FIRST_CONNECTION_KEY, 'false');\n sessionStorage.setItem(ACCEPT_INVITATION_PATH, event.url);\n acceptInvitationService.invitationRequest();\n }\n });\n resolve();\n });\n}\n","import {\n AuthenticationBaseService,\n IdentityClaims,\n} from './authentication.base.service';\nimport {\n authConfig,\n AuthenticationInterface,\n EMPTY_AUTHENTICATION,\n} from '../interfaces/authentication-interface';\nimport { ConfigurationHttpClient } from '../../core/httpclient/configuration.httpclient';\nimport { BehaviorSubject, filter, Observable, Subscriber } from 'rxjs';\nimport { UserAppInterface, userAppMap } from '../interfaces/user-interface';\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\nimport {\n OAuthEvent,\n OAuthService,\n OAuthSuccessEvent,\n} from 'angular-oauth2-oidc';\nimport { shareReplay, switchMap, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { Injectable } from '@angular/core';\n\n/** Service permettant de récupérer la configuration */\n@Injectable()\nexport class AuthenticationService implements AuthenticationBaseService {\n public user$: BehaviorSubject =\n new BehaviorSubject(null);\n public configuration: BehaviorSubject =\n new BehaviorSubject(EMPTY_AUTHENTICATION);\n private _authentication$: Observable | undefined;\n\n /**\n * AuthenticationService constructor\n */\n constructor(\n private readonly configurationHttpClient: ConfigurationHttpClient,\n private readonly oauthService: OAuthService,\n ) {\n this.oauthService.events\n .pipe(filter((e) => ['token_received'].includes(e.type)))\n .subscribe(() => {\n this.oauthService.loadUserProfile();\n });\n this.oauthService.events\n .pipe(filter((e: any) => e.type === 'invalid_nonce_in_state'))\n .subscribe(() => {\n this.oauthService.initImplicitFlow();\n });\n if (this.identityClaims?.sub) {\n this.user$.next(userAppMap(this.identityClaims));\n }\n this.oauthService.events\n .pipe(filter((e) => ['user_profile_loaded'].includes(e.type)))\n .subscribe((event) => {\n if (event instanceof OAuthSuccessEvent) {\n this.user$.next(userAppMap(this.identityClaims));\n }\n });\n }\n\n public get accessToken(): string {\n return this.oauthService.getAccessToken();\n }\n\n public get refreshToken(): string {\n return this.oauthService.getRefreshToken();\n }\n\n public get identityClaims(): IdentityClaims {\n return this.oauthService.getIdentityClaims() as IdentityClaims;\n }\n\n public get idToken(): string {\n return this.oauthService.getIdToken();\n }\n\n public get logoutUrl(): string | undefined {\n return this.oauthService.logoutUrl;\n }\n\n public get isAuthenticated(): boolean {\n return (\n this.oauthService.hasValidAccessToken() &&\n this.oauthService.hasValidIdToken()\n );\n }\n\n public get userIdentity(): any {\n if (!environment.production) {\n return { name: 'Dev.Local' };\n }\n return this.oauthService.getIdentityClaims();\n }\n\n private get _configFile(): string {\n return `assets/config/authentication.json`;\n }\n\n /** Faire une demande de connexion à l'application */\n public login(): void {\n this.oauthService.initImplicitFlow();\n }\n\n /** Se déconnecter de l'application */\n public logout(): void {\n this.oauthService.logOut();\n }\n\n /**\n * Retourne la configuration propre à l'environnement\n */\n public load(): Observable {\n if (!this._authentication$) {\n this._authentication$ = this.configurationHttpClient\n .get(this._configFile)\n .pipe(\n shareReplay(1),\n tap((configuration: AuthenticationInterface) => {\n this.configuration.next(configuration);\n const modelConf = authConfig;\n modelConf.issuer =\n this.configuration.value.authOidcIssuerUrl;\n modelConf.scope =\n this.configuration.value.authOidcScope;\n modelConf.clientId =\n this.configuration.value.authOidcClientId;\n modelConf.responseType = 'code';\n this.oauthService.configure(authConfig);\n this.oauthService.setStorage(sessionStorage);\n this.oauthService.tokenValidationHandler =\n new JwksValidationHandler();\n }),\n switchMap(() => {\n return new Observable(\n (\n subscriber: Subscriber,\n ) => {\n this.oauthService\n .loadDiscoveryDocumentAndLogin()\n .then((isLoggedIn: boolean) => {\n if (isLoggedIn) {\n this.oauthService.setupAutomaticSilentRefresh();\n subscriber.complete();\n } else {\n this.oauthService.initImplicitFlow();\n subscriber.complete();\n }\n });\n },\n );\n }),\n );\n }\n return this._authentication$;\n }\n\n public async refresh(): Promise {\n return this.oauthService.silentRefresh();\n }\n\n public hasValidToken(): boolean {\n return this.oauthService.hasValidAccessToken();\n }\n\n public async loadDiscoveryDocumentAndTryLogin(): Promise {\n return this.oauthService.loadDiscoveryDocumentAndTryLogin();\n }\n\n public async runInitialLoginFlow(): Promise {\n const isLoggedIn =\n await this.oauthService.loadDiscoveryDocumentAndTryLogin();\n if (isLoggedIn && !this.isAuthenticated) {\n this.oauthService.initImplicitFlow();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from './configuration.service';\nimport { CreateCompanyDto } from '../interfaces/dto/create-company.dto';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { UpdateCompanyDataDto } from '../interfaces/dto/update-company-data.dto';\nimport { UpdateCompanyAddressDto } from '../interfaces/dto/update-company-address.dto';\nimport { UpdateCompanyContactDto } from '../interfaces/dto/update-company-contact.dto';\nimport { AvailableSiret } from '../interfaces/domain-interface';\nimport { CompanyResult } from '../interfaces/company-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CompanyService {\n COMPANY_ROUTE_API = 'api/v2.0/companies';\n COMPANY_UPDATE_DATA_ROUTE_API = 'api/v2.0/companies/{domainId}/data';\n CURRENT_COMPANY_CODE_STORAGE = 'current_company_code';\n CURRENT_COMPANY_KEY_STORAGE = 'current_company_id';\n\n public currentCompany$: BehaviorSubject =\n new BehaviorSubject(null);\n public getCurrentCompany(): Observable {\n return this.currentCompany$.asObservable();\n }\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigurationService,\n ) {}\n\n public createCompany(company: CreateCompanyDto): Observable {\n return this.httpClient.post(\n `${this.configService.urlApiSiVision}/${this.COMPANY_ROUTE_API}`,\n company,\n );\n }\n\n public updateCompanyDataCustomer(\n data: UpdateCompanyDataDto,\n domainId: string,\n ): Observable {\n return this.httpClient.put(\n `${this.configService.urlApiSiVision}/${this.COMPANY_ROUTE_API}/${domainId}/data`,\n data,\n );\n }\n\n public updateCompanyAddress(\n data: UpdateCompanyAddressDto,\n domainId: string,\n ): Observable {\n return this.httpClient.put(\n `${this.configService.urlApiSiVision}/${this.COMPANY_ROUTE_API}/${domainId}/address`,\n data,\n );\n }\n\n public updateCompanyContact(\n data: UpdateCompanyContactDto,\n domainId: string,\n ): Observable {\n return this.httpClient.put(\n `${this.configService.urlApiSiVision}/${this.COMPANY_ROUTE_API}/${domainId}/contact`,\n data,\n );\n }\n\n public availableSiret(siret: string): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.COMPANY_ROUTE_API}/IsAvailableSiret/${siret}`,\n );\n }\n\n public getCompany(domainCode: number): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.COMPANY_ROUTE_API}/${domainCode}`,\n );\n }\n\n public changeCurrentCompany(codeDomain: number) {\n this.getCompany(codeDomain).subscribe((company: CompanyResult) => {\n sessionStorage.removeItem('PartnerCodeFC');\n this.currentCompany$.next(company);\n sessionStorage.setItem(\n this.CURRENT_COMPANY_KEY_STORAGE,\n company.idDomaine!,\n );\n sessionStorage.setItem(\n this.CURRENT_COMPANY_CODE_STORAGE,\n company.domainCode!,\n );\n\n if (company.products.some((dp) => dp.partnerCode != null))\n sessionStorage.setItem(\n 'PartnerCodeFC',\n company.products.find((dp) => dp.partnerCode != null)\n ?.partnerCode!,\n );\n });\n }\n\n public clearLocalStorageCompany() {\n sessionStorage.removeItem(this.CURRENT_COMPANY_KEY_STORAGE);\n sessionStorage.removeItem(this.CURRENT_COMPANY_CODE_STORAGE);\n }\n\n public getPartnerIsExpert(partnerCode: string): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.COMPANY_ROUTE_API}/partner/isExpert/${partnerCode}`,\n );\n }\n\n public finalizeSubscription(orderNumber: number): Observable {\n return this.httpClient.post(\n `${this.configService.urlApiSiVision}/v2.0/transversals/partner/waiting-domains/${orderNumber}`,\n {},\n );\n }\n}\n","import { ConfigurationHttpClient } from '../../core/httpclient/configuration.httpclient';\nimport { Configuration, EMPTY_CONFIGURATION } from '../../core/models/apis';\nimport { shareReplay, tap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { EMPTY, Observable } from 'rxjs';\n\n/** Service permettant de récupérer la configuration */\n@Injectable({ providedIn: 'root' })\nexport class ConfigurationService {\n public configuration: Configuration = EMPTY_CONFIGURATION;\n private _configuration$: Observable = EMPTY;\n\n constructor(\n private readonly _configurationHttpClient: ConfigurationHttpClient,\n ) {}\n\n public get urlApiSiVision(): string {\n return this.configuration.urlApiSiVisionV1;\n }\n\n public get urlApiSiretManagement(): string {\n return this.configuration.urlApiSiretManagement;\n }\n\n public get urlApiMsOrder(): string {\n return this.configuration.urlApiMsOrder;\n }\n public get urlBusinessManagement(): string {\n return this.configuration.urlBusinessManagement;\n }\n public get urlApiCLoudManagement(): string {\n return this.configuration.urlApiCloudManagement;\n }\n\n private static get _configFile(): string {\n return `assets/config/apis.json`;\n }\n\n /**\n * Retourne la configuration propre à l'environnement\n */\n public load(): Observable {\n if (this._configuration$ === EMPTY) {\n this._configuration$ = this._configurationHttpClient\n .get(ConfigurationService._configFile)\n .pipe(\n shareReplay(1),\n tap((configuration: Configuration) => {\n this.configuration = { ...configuration };\n }),\n );\n }\n return this._configuration$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UserInterfaceDto } from '../interfaces/user-interface';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CurrentUserService {\n public readonly currentUser$!: Observable;\n\n private readonly userSubject$: BehaviorSubject =\n new BehaviorSubject({\n id: '',\n domainId: '',\n civility: '',\n firstName: '',\n lastName: '',\n email: '',\n createdAt: new Date(),\n roles: [],\n softwareAccess: [],\n });\n\n public constructor() {\n this.currentUser$ = this.userSubject$.asObservable();\n }\n\n public setCurrentUserData(user: UserInterfaceDto): void {\n const currentUser: UserInterfaceDto = {\n ...user,\n roles: user.roles || [],\n };\n\n this.userSubject$.next(currentUser);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, tap } from 'rxjs';\nimport {\n BasketPricesDto,\n BasketPricesPayload,\n DomainUpdateEventResultInterface,\n ProvisionalDatesRetraitDto,\n} from '../interfaces/domainUpdateEventResult-interface';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from './configuration.service';\nimport { DomainUpdateStatus } from '../enums/enumerations';\nimport {\n EstimatePricesRequest,\n EstimatePricesResult,\n} from '../interfaces/product-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DomainUpdateService {\n COMPANIES_ROUTE_API_v2 = 'api/v2.0/companies';\n COMMAND_PUBLIC_URL_API = 'api-public/v1.0';\n\n public _basketPricesSubject$ = new BehaviorSubject({\n tva: 0,\n totalHT: 0,\n totalTTC: 0,\n totalTVA: 0,\n });\n\n public basketPrices$: Observable =\n this._basketPricesSubject$.asObservable();\n\n public _estimatedPricesSubject$ = new BehaviorSubject(\n {} as EstimatePricesResult,\n );\n public estimatedPrices$: Observable =\n this._estimatedPricesSubject$.asObservable();\n\n public serviceProcessing: boolean = false;\n\n public domainUpdateEvents$ = new BehaviorSubject<\n DomainUpdateEventResultInterface[]\n >([]);\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigurationService,\n ) {}\n\n public getDomainUpdateEvents(): Observable<\n DomainUpdateEventResultInterface[]\n > {\n return this.domainUpdateEvents$.asObservable();\n }\n\n public submitDomainUpdateEvent(\n domainId: string,\n payload: DomainUpdateEventResultInterface,\n ): Observable {\n return this.httpClient.post(\n `${this.configService.urlApiSiVision}/${this.COMPANIES_ROUTE_API_v2}/${domainId}/UpdateEvents`,\n payload,\n );\n }\n\n public getDomainUpdateEventsByStatus(\n domainId: string,\n status: DomainUpdateStatus,\n platformOrigin: number | null = null,\n ): Observable {\n let params = {};\n if (platformOrigin) {\n params = {\n platformOrigin: platformOrigin,\n };\n }\n return this.httpClient\n .get(\n `${this.configService.urlApiSiVision}/${this.COMPANIES_ROUTE_API_v2}/${domainId}/UpdateEvents/${status}`,\n {\n params,\n },\n )\n .pipe(\n tap((events: DomainUpdateEventResultInterface[]) => {\n if (events) {\n this.domainUpdateEvents$.next(events);\n }\n }),\n );\n }\n\n public validateDomainUpdateEvent(\n domainId: string,\n domainUpdateEventId: string,\n ): Observable {\n return this.httpClient.patch(\n `${this.configService.urlApiSiVision}/${this.COMPANIES_ROUTE_API_v2}/${domainId}/UpdateEvents/${domainUpdateEventId}/validate`,\n null,\n );\n }\n\n public deleteDomainUpdateEvent(\n domainId: string,\n domainUpdateEventId: string,\n ): Observable {\n return this.httpClient.delete(\n `${this.configService.urlApiSiVision}/${this.COMPANIES_ROUTE_API_v2}/${domainId}/UpdateEvents/${domainUpdateEventId}`,\n );\n }\n\n public domainUpdateEventOrder(\n domainId: string,\n domainUpdateEventId: string,\n orderId: string,\n ): Observable {\n return this.httpClient.patch(\n `${this.configService.urlApiSiVision}/${this.COMPANIES_ROUTE_API_v2}/${domainId}/UpdateEvents/${domainUpdateEventId}`,\n {\n domainUpdateEventId: domainUpdateEventId,\n orderId: orderId,\n },\n );\n }\n\n public getPricesAndTvaAmount(payload: BasketPricesPayload) {\n return this.httpClient\n .post(\n `${this.configService.urlApiMsOrder}/${this.COMMAND_PUBLIC_URL_API}/CalculPrices`,\n payload,\n )\n .pipe(\n tap((basketPrices) => {\n this._basketPricesSubject$.next(basketPrices);\n }),\n );\n }\n\n public getProvisionalDatesAndInformationsSB(\n domainId: string,\n ): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.COMPANIES_ROUTE_API_v2}/${domainId}/ProvisionalDatesAndInformationsSB`,\n );\n }\n\n public resetAllDomainUpdateSubjects() {\n this._basketPricesSubject$.next({\n tva: 0,\n totalHT: 0,\n totalTTC: 0,\n totalTVA: 0,\n });\n this.domainUpdateEvents$.next([]);\n this._estimatedPricesSubject$.next({} as EstimatePricesResult);\n }\n\n public getEstimatedPrices(payload: EstimatePricesRequest) {\n return this.httpClient\n .post(\n `${this.configService.urlApiSiVision}/${this.COMPANIES_ROUTE_API_v2}/estimatePrices`,\n payload,\n )\n .pipe(\n tap((estimatedPrices) => {\n this._estimatedPricesSubject$.next(estimatedPrices);\n }),\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject, Observable, tap, of } from 'rxjs';\nimport {\n DomainInterface,\n DomainStorageDto,\n} from '../interfaces/domain-interface';\nimport { UserInterfaceDto } from '../interfaces/user-interface';\nimport { Injectable } from '@angular/core';\nimport { ConfigurationService } from './configuration.service';\nimport { DomainPaginateInterface } from '../interfaces/dto/domain-paginate-interface';\nimport { RedirectionFromAppService } from './redirection-from-app.service';\nimport { OptionsInterface } from '../interfaces/options-interface';\nimport { CompanyService } from './company.service';\n@Injectable({\n providedIn: 'root',\n})\nexport class DomainsService {\n private readonly DOMAINS_STORAGE_KEY: string = 'domain_list';\n\n private readonly CURRENT_DOMAIN_KEY_STORAGE: string = 'current_domain_id';\n\n private readonly CURRENT_DOMAIN_CODE_STORAGE: string =\n 'current_domain_code';\n\n private readonly DOMAINS_ROUTE_API: string = 'api/v1.0/domains';\n\n private readonly DOMAIN_V2_ROUTE_API: string = 'api/v2.0/domains';\n\n public connectedUser$: BehaviorSubject =\n new BehaviorSubject(null);\n public currentDomain$: BehaviorSubject =\n new BehaviorSubject(null);\n\n public constructor(\n private readonly httpClient: HttpClient,\n private readonly configService: ConfigurationService,\n private readonly redirectionFromAppService: RedirectionFromAppService,\n private readonly companyService: CompanyService,\n ) {}\n\n /**\n * Returns the list of domains for a user\n */\n public getDomains(page: number = 1): Observable {\n return this.httpClient\n .get(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_ROUTE_API}?page=${page}`,\n )\n .pipe(\n tap((domains) => {\n sessionStorage.setItem(\n this.DOMAINS_STORAGE_KEY,\n JSON.stringify(domains),\n );\n this.setCurrentDomainLocalstorage(domains.values);\n }),\n );\n }\n\n public clearAndGetDomains(\n page: number = 1,\n ): Observable {\n this.redirectionFromAppService.clear();\n return this.getDomains(page);\n }\n\n /**\n * Returns the list of domains for a user\n */\n public getDomainsPaginate(\n page: number = 1,\n ): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_ROUTE_API}?page=${page}`,\n );\n }\n\n public getDomainsSessionStorage(): DomainPaginateInterface {\n const jsonDomains = sessionStorage.getItem(this.DOMAINS_STORAGE_KEY);\n if (jsonDomains) {\n const domains = JSON.parse(jsonDomains);\n this.setCurrentDomainLocalstorage(domains);\n return domains;\n }\n return {\n paginate: {\n totalPages: 0,\n currentPage: 0,\n dataPerPage: 0,\n totalDatas: 0,\n },\n values: [],\n };\n }\n\n public getCurrentDomain(): Observable {\n return this.currentDomain$.asObservable();\n }\n\n public changeCurrentDomain(idDomain: string) {\n this.getDomainById(idDomain).subscribe((domain) => {\n this.companyService.changeCurrentCompany(domain.code);\n sessionStorage.removeItem('PartnerCode');\n this.currentDomain$.next(domain);\n this.redirectionFromAppService.setRedirectionId(domain.id);\n sessionStorage.setItem(this.CURRENT_DOMAIN_KEY_STORAGE, domain.id);\n sessionStorage.setItem(\n this.CURRENT_DOMAIN_CODE_STORAGE,\n domain.code.toString(),\n );\n if (domain.domainProduct?.some((dp) => dp.partnerCode != null))\n sessionStorage.setItem(\n 'PartnerCode',\n domain.domainProduct.find((dp) => dp.partnerCode != null)\n ?.partnerCode!,\n );\n });\n }\n\n public changeCurrentDomainFromHeaderOrNew(idDomain: string) {\n this.redirectionFromAppService.clear();\n this.changeCurrentDomain(idDomain);\n }\n\n /**\n * Get domain by id\n */\n public getDomainById(idDomain: string) {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_ROUTE_API}/${idDomain}`,\n );\n }\n\n /**\n * Get logged in user information\n */\n public getUserConnectedInfos(idDomain: string) {\n return this.httpClient\n .get(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_ROUTE_API}/${idDomain}/getMe`,\n )\n .pipe(\n tap((user: UserInterfaceDto) => {\n if (user) {\n this.connectedUser$.next(user);\n }\n }),\n );\n }\n\n /**\n * Delete domain by id\n */\n public deleteDomain(idDomain: string) {\n return this.httpClient.delete(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_ROUTE_API}/${idDomain}`,\n );\n }\n\n /**\n * Get domain storage informations by id\n */\n public getDomainStorage(idDomain: string) {\n const currentDomainId = sessionStorage.getItem(\n this.CURRENT_DOMAIN_KEY_STORAGE,\n );\n if (idDomain != currentDomainId) {\n const keyStorageOld = `keyStorage_${currentDomainId}`;\n localStorage.removeItem(keyStorageOld);\n }\n\n const keyStorage = `keyStorage_${idDomain}`;\n const storageInfo = localStorage.getItem(keyStorage);\n if (storageInfo) {\n const domainStorageDto = JSON.parse(storageInfo);\n return of(domainStorageDto);\n }\n return this.httpClient\n .get(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_ROUTE_API}/${idDomain}/GetDomainStorage`,\n )\n .pipe(\n tap((storageInfo) => {\n localStorage.setItem(\n keyStorage,\n JSON.stringify(storageInfo),\n );\n }),\n );\n }\n\n public resetProductsData(domainId: string): Observable {\n return this.httpClient.delete(\n `${this.configService.urlApiSiVision}/${this.DOMAIN_V2_ROUTE_API}/${domainId}/reset-products-data`,\n );\n }\n\n public clearLocalStorageStorage() {\n sessionStorage.removeItem(this.DOMAINS_STORAGE_KEY);\n sessionStorage.removeItem(this.CURRENT_DOMAIN_KEY_STORAGE);\n }\n\n public clearLocalStorageDomain() {\n sessionStorage.removeItem(this.DOMAINS_STORAGE_KEY);\n }\n\n public optionsMinValues(domainId: string): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_ROUTE_API}/${domainId}/GetMinOptions`,\n );\n }\n\n private setCurrentDomainLocalstorage(domains: DomainInterface[]) {\n if (Array.isArray(domains) && domains.length > 0) {\n const domainId = this.redirectionFromAppService.RedirectionId;\n if (domainId) {\n this.changeCurrentDomain(domainId);\n } else {\n this.changeCurrentDomain(domains[0].id);\n }\n }\n }\n}\n","import { InvitationInterface } from '../interfaces/invitation-interface';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { BehaviorSubject, catchError, Observable, tap, throwError } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { ConfigurationService } from './configuration.service';\nimport { InvitationDto } from '../interfaces/domain-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InvitationService {\n static STATE_INVITED = 1;\n static STATE_ACCEPTED = 2;\n static STATE_CANCELLED = 3;\n static STATE_PENDING = 4;\n static STATE_IGNORED = 5;\n /** Color */\n static STATE_INVITED_COLOR = 'processing';\n static STATE_ACCEPTED_COLOR = 'success';\n static STATE_CANCELLED_COLOR = '#f50';\n static STATE_IGNORED_COLOR = 'error';\n\n DOMAINS_INVITATION_ROUTE_API = `api/v1.0/domains/{id}/invitations`;\n\n headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n });\n\n private _invitations$: BehaviorSubject =\n new BehaviorSubject(null);\n\n public get invitations$(): Observable {\n return this._invitations$.asObservable();\n }\n\n public setInvitations$(users: InvitationDto[]) {\n this._invitations$.next(users);\n }\n\n /**\n * InvitationService constructor\n */\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigurationService,\n ) {}\n\n /**\n * POST /api/v1.0/domains/{DomainId}/invitations\n * Envoi une invitation à rejoindre un domaine\n */\n public sendInvitationToUser(\n idDomain: string,\n invitation: InvitationInterface,\n codePartner: string | null = null,\n ) {\n if (codePartner) {\n return this.httpClient\n .post(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_INVITATION_ROUTE_API}/${codePartner}`.replace(\n '{id}',\n idDomain,\n ),\n invitation,\n { headers: this.headers },\n )\n .pipe(\n catchError(this.handleError), // then handle the error\n );\n }\n return this.httpClient\n .post(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_INVITATION_ROUTE_API}`.replace(\n '{id}',\n idDomain,\n ),\n invitation,\n { headers: this.headers },\n )\n .pipe(\n catchError(this.handleError), // then handle the error\n );\n }\n\n /**\n * DELETE /api​/v1.0​/domains​/{DomainId}​/invitations​/{InvitationId}\n * Supprime une invitation pour un domaine\n */\n public deleteInvitation(invitationId: string, domainId: string) {\n return this.httpClient.delete(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_INVITATION_ROUTE_API}/${invitationId}`.replace(\n '{id}',\n domainId,\n ),\n );\n }\n\n /**\n * PUT /api​/v1.0​/domains​/{DomainId}​/invitations​/cancel\n * Révoque une invitation à un domaine\n */\n public cancelInvitation(invitationId: string, domainId: string) {\n return this.httpClient.put(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_INVITATION_ROUTE_API}/cancel`.replace(\n '{id}',\n domainId,\n ),\n `\"${invitationId}\"`,\n { headers: this.headers },\n );\n }\n\n /**\n * PUT /api​/v1.0​/domains​/{DomainId}​/invitations​/ignore\n * Passe des invitations en \"Ignorée/Refusée\"\n */\n public ignoreInvitations(invitations: Array, domainId: string) {\n return this.httpClient.put(\n `${this.configService.urlApiSiVision}/${this.DOMAINS_INVITATION_ROUTE_API}/ignore`.replace(\n '{id}',\n domainId,\n ),\n invitations,\n { headers: this.headers },\n );\n }\n\n public getInvitationsDomain(domainId: string): Observable {\n return this.httpClient\n .get<\n InvitationDto[]\n >(`${this.configService.urlApiSiVision}/${this.DOMAINS_INVITATION_ROUTE_API}`.replace('{id}', domainId))\n .pipe(\n tap((invitations) => {\n this._invitations$.next(invitations);\n }),\n );\n }\n\n /**\n *\n */\n public getStateColor(state: number): string {\n switch (state) {\n case InvitationService.STATE_ACCEPTED:\n return InvitationService.STATE_ACCEPTED_COLOR;\n\n case InvitationService.STATE_CANCELLED:\n return InvitationService.STATE_CANCELLED_COLOR;\n\n case InvitationService.STATE_INVITED:\n case InvitationService.STATE_PENDING:\n return InvitationService.STATE_INVITED_COLOR;\n\n case InvitationService.STATE_IGNORED:\n return InvitationService.STATE_IGNORED_COLOR;\n\n default:\n return 'default';\n }\n }\n\n /**\n *\n * @private\n */\n private handleError() {\n // Return an observable with a user-facing error message.\n return throwError(\n () =>\n new Error(\n `Une erreur s'est produite lors de l'envoie de l'invitation`,\n ),\n );\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { WINDOW } from '../injections/windows-injection';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocationService {\n constructor(@Inject(WINDOW) private window: Window) {}\n\n public open(url: string): void {\n this.window.open(url, '_blank');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from './configuration.service';\nimport { Observable, tap, map, catchError, throwError } from 'rxjs';\nimport {\n MigrationResult,\n MigrationResultLogin,\n MigrationSource,\n MigrationState,\n SoftwareSource,\n} from '../interfaces/migration.inferface';\nimport { MigrationType } from '../enums/migration.enum';\n\nexport interface ApplicationInfo {\n hub: string;\n maxDocumentSize: number;\n providerId: string;\n quota: number;\n sizeUsed: number;\n thirdId: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MigrationService {\n private readonly MIGRATIONS_DOMAIN_ROUTE_API: string =\n 'api/v2.0/migrations-domain';\n\n constructor(\n private readonly httpClient: HttpClient,\n private readonly configService: ConfigurationService,\n ) {}\n\n public getProductsForMigration(\n domainId: string,\n ): Observable> {\n return this.httpClient\n .get<\n Array\n >(`${this.configService.urlApiSiVision}/${this.MIGRATIONS_DOMAIN_ROUTE_API}/available?domainId=${domainId}`)\n .pipe(\n map((softwares: Array) =>\n softwares.map((software: SoftwareSource) => ({\n migrationType: software.migrationType,\n name: this.getNameAndPathByProduct(\n software.migrationType,\n ).name,\n product: software.product,\n imagePath: this.getNameAndPathByProduct(\n software.migrationType,\n ).path,\n imageWidth: this.getNameAndPathByProduct(\n software.migrationType,\n ).widthSize,\n selected: software.selected ?? false,\n isAvailable: software.isAvailable,\n unavailbleReason: software.unavailbleReason ?? '',\n })),\n ),\n catchError((error) => {\n console.error('Error fetching data', error);\n return throwError(error);\n }),\n );\n }\n\n public migrationProductOL(\n sapProductCode: string,\n licenceNumber: string,\n webKey: string,\n ): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.MIGRATIONS_DOMAIN_ROUTE_API}/saas?sapProductCode=${sapProductCode}&licence=${licenceNumber}&webKey=${webKey}`,\n );\n }\n\n public askMigration(body: MigrationSource): Observable {\n return this.httpClient.post(\n `${this.configService.urlApiSiVision}/${this.MIGRATIONS_DOMAIN_ROUTE_API}`,\n body,\n );\n }\n\n public sendResiliationProductOL(\n licences: Array,\n domainId: string,\n ): Observable {\n const body: { licences: Array; domainId: string } = {\n licences,\n domainId,\n };\n\n return this.httpClient.post(\n `${this.configService.urlApiSiVision}/${this.MIGRATIONS_DOMAIN_ROUTE_API}/saas/terminate`,\n body,\n );\n }\n\n public informPartnerByEmail(domainId: string, migrationType: MigrationType): Observable {\n const body: { domainId: string; migrationType: MigrationType } = \n {\n domainId,\n migrationType\n };\n\n return this.httpClient.post(\n `${this.configService.urlApiSiVision}/${this.MIGRATIONS_DOMAIN_ROUTE_API}/send-resiliation-email`,\n body,\n );\n }\n\n public getMigrationDetail(domainId: string): Observable {\n return this.httpClient\n .get(\n `${this.configService.urlApiSiVision}/${this.MIGRATIONS_DOMAIN_ROUTE_API}/last?domainId=${domainId}`,\n )\n .pipe(map((response) => response));\n }\n\n public endingMigration(\n domainId: string,\n date: Date,\n migrationType: MigrationType,\n ): Observable {\n const body = {\n domainId: domainId,\n migrationType: migrationType,\n endDate: `${date.toISOString()}`,\n };\n return this.httpClient\n .patch(\n `${this.configService.urlApiSiVision}/${this.MIGRATIONS_DOMAIN_ROUTE_API}/\n `,\n body,\n )\n .pipe(\n tap(() => {\n const migrationKeyStorage: string = `migration_${domainId}`;\n localStorage.removeItem(migrationKeyStorage);\n }),\n );\n }\n\n public migrationCheckDomainEmpty(domainId: string): Observable {\n const now: number = Date.now();\n return this.httpClient.get(\n `${this.configService.urlBusinessManagement}/api/v1/migration-information/check-domain-empty?time=${now}`,\n {\n headers: {\n DomainId: domainId,\n },\n },\n );\n }\n\n public migrationCheckIsCompleted(domainId: string): Observable {\n return this.httpClient.get(\n `${this.configService.urlBusinessManagement}/api/v1/migration-information/check-migration-completed`,\n {\n headers: {\n DomainId: domainId,\n },\n },\n );\n }\n\n public downloadMigrationReportFile(domainId: string): Observable {\n return this.httpClient.get(\n `${this.configService.urlBusinessManagement}/migration-ol/v1/migration/download-migration-report-file`,\n {\n responseType: 'blob',\n headers: {\n DomainId: domainId,\n },\n },\n );\n }\n\n public checkMigrationReportFile(domainId: string): Observable {\n return this.httpClient.head(\n `${this.configService.urlBusinessManagement}/migration-ol/v1/migration/download-migration-report-file`,\n {\n headers: {\n DomainId: domainId,\n },\n },\n );\n }\n\n public checkSizeUsedByApplicationHubbix(\n domainId: string,\n ): Observable {\n return this.httpClient\n .get(\n `${this.configService.urlApiCLoudManagement}/api/v1/${domainId}/M2MConfiguration/HUB`,\n )\n .pipe(map((response: ApplicationInfo) => response.sizeUsed));\n }\n\n static clearMigrationStateLocalStorage(): void {\n const domainId: string | null =\n sessionStorage.getItem('current_domain_id');\n\n if (domainId) {\n const migrationKeyStorage: string = `migration_${domainId}`;\n localStorage.removeItem(migrationKeyStorage);\n }\n }\n\n public getNameAndPathByProduct(type: MigrationType): {\n name: string;\n path: string;\n widthSize: string;\n } {\n const basePath: string = 'assets/images/';\n\n if (type === MigrationType.DevisFact) {\n return {\n name: 'EBP Devis & Facturation ACTIV',\n path: `${basePath}logo_devis_facturation.svg`,\n widthSize: '50',\n };\n }\n\n if (type === MigrationType.ComptatActiv) {\n return {\n name: 'EBP Comptabilité ACTIV',\n path: `${basePath}logo_comptabilite.svg`,\n widthSize: '50',\n };\n }\n\n return { name: '', path: '', widthSize: '' };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { catchError, Observable, throwError } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from './configuration.service';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport {\n Notification,\n NotificationDTO,\n} from '../interfaces/notification-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n Route_API_Notification = 'api/v1.0/HubNotifications';\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigurationService,\n private _oauthService: OAuthService,\n ) {}\n\n public getNotification(): Observable {\n const { sub } = this._oauthService.getIdentityClaims() as any;\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/${this.Route_API_Notification}/${sub}/GetNotification`,\n );\n }\n\n public setNotification(notificationData: NotificationDTO) {\n const url = `${this.configService.urlApiSiVision}/${this.Route_API_Notification}`;\n const { sub } = this._oauthService.getIdentityClaims() as any;\n notificationData.userId = sub;\n return this.httpClient\n .post(url, notificationData)\n .pipe(\n catchError((error) => {\n console.error(\n \"Une erreur s'est produite lors de la requête HTTP POST :\",\n error,\n );\n return throwError(error);\n }),\n );\n }\n}\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OneTrustCookiesConsentService {\n private _renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this._renderer = rendererFactory.createRenderer(null, null);\n }\n\n createOnetrustScript() {\n const scriptTag = this._renderer.createElement('script');\n this._renderer.setProperty(\n scriptTag,\n 'src',\n 'https://cdn.cookielaw.org/scripttemplates/otSDKStub.js',\n );\n this._renderer.setAttribute(scriptTag, 'type', 'text/javascript');\n this._renderer.setAttribute(scriptTag, 'charset', 'UTF-8');\n // @todo a remplacer par variable global Prod\n if ('hubbix.ebp.com' == window.document.location.host) {\n // Prod\n this._renderer.setAttribute(\n scriptTag,\n 'data-domain-script',\n 'd1461b54-2a9a-4414-8215-3b64133e7410',\n );\n } else {\n this._renderer.setAttribute(\n scriptTag,\n 'data-domain-script',\n 'd1461b54-2a9a-4414-8215-3b64133e7410-test',\n );\n }\n this._renderer.appendChild(window.document.head, scriptTag);\n }\n\n createOnetrustTag() {\n const scriptTag = this._renderer.createElement('script');\n this._renderer.setAttribute(scriptTag, 'type', 'text/javascript');\n scriptTag.text = 'function OptanonWrapper() { }';\n this._renderer.appendChild(window.document.head, scriptTag);\n }\n}\n\nexport function initializeOneTrustScript(\n cookieConsent: OneTrustCookiesConsentService,\n): () => Promise {\n return async () =>\n new Promise((resolve) => {\n cookieConsent.createOnetrustScript();\n cookieConsent.createOnetrustTag();\n resolve();\n });\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpBackend, HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from './configuration.service';\nimport { SoftwareHubbixCode } from '../interfaces/software-interface';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { DomainInterface } from '../interfaces/domain-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OrderService {\n ROUTE_API_CREATE_ORDER = '/api-public/v1.0/CreateOrder';\n ROUTE_API_SET_ORDER = '/api-public/v1.0/SetOrder';\n\n private shopHttpClient!: HttpClient;\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigurationService,\n private backend: HttpBackend,\n private authService: OAuthService,\n ) {\n this.shopHttpClient = new HttpClient(backend);\n }\n\n public createOrderByDomain(\n basketItems: BasketItem[],\n codeDomain: string,\n buyerId: string,\n codePartner: string | null = null,\n basketAdresses: Array = [],\n ): Observable {\n const body = {\n basketItems: basketItems ?? [],\n basketAdresses: basketAdresses.length > 0 ? basketAdresses : [],\n orderType: 1,\n codeDomain: codeDomain,\n buyerId: buyerId,\n codePartner: codePartner,\n periodicity: codePartner != null ? 2 : 1,\n isSelftPurchase: true,\n };\n return this.shopHttpClient.post(\n `${this.configService.urlApiMsOrder}${this.ROUTE_API_CREATE_ORDER}`,\n body,\n );\n }\n\n public setOrder(setOrderDto: SetOrderDto) {\n return this.shopHttpClient.post(\n `${this.configService.urlApiMsOrder}${this.ROUTE_API_SET_ORDER}`,\n setOrderDto,\n );\n }\n createSetOrderDto(validateMessage: any, domain: DomainInterface) {\n const { familyName, givenName, email, sub } =\n this.authService.getIdentityClaims() as any;\n const setOrderDto: SetOrderDto = {\n ...validateMessage,\n periodicity:\n validateMessage.periodicity ?? domain.subscriptionPeriodicity,\n buyer: {\n ...validateMessage.buyer,\n firstName: familyName,\n lastName: givenName,\n email: email,\n phone: domain.customer.principalPhoneNumber,\n secondaryPhoneNumber: domain.customer.secondaryPhoneNumber,\n identityGuid: sub,\n },\n basketItems: validateMessage.basketItems.filter(\n (item: any) => item.quantity > 0,\n ),\n };\n\n return setOrderDto;\n }\n}\n\nexport interface SetOrderDto {\n orderType: number;\n buyer: BuyerOrderDto;\n customer: CustomerOrderDto;\n periodicity: number;\n basketItems: BasketItem[];\n basketAdresses: BasketAdress[];\n codeDomain: string;\n}\nexport interface BuyerOrderDto {\n identityGuid: string;\n firstName: string;\n lastName: string;\n phone: string;\n secondaryPhoneNumber: string;\n email: string;\n buyerId: string;\n}\n\nexport interface CustomerOrderDto {\n customerId: string;\n name: string;\n siret: string;\n siren: string;\n apeCode: string;\n legalStatus: string;\n tvaIntracommunity: string;\n idClientSapByDesign: string;\n pcfCode: string;\n}\n\nexport interface BasketItem {\n productId?: string;\n productCode?: string;\n quantity?: number;\n discount?: number;\n}\n\nexport interface BasketAdress {\n id: string;\n addressTypeId: number;\n street: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n alpha2Code: string;\n address_Number: string;\n}\n// @todo A remplacer par un appelle api pour récupérer la liste de produit disponible sur le MS Commande\nexport const AVAILABLE_PRODUCT_CODE = [\n SoftwareHubbixCode.ACC,\n SoftwareHubbixCode.INV,\n SoftwareHubbixCode.BAT,\n];\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ConfigurationService } from './configuration.service';\nimport { BehaviorSubject, Observable, tap } from 'rxjs';\nimport { BlockedProduct, ProductV2Dto } from '../interfaces/product-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProductService {\n PRODUCT_ROUTE_API = 'api/{version}/products';\n PRODUCT_MOTIF_RESILIATION =\n 'api/v1.0/products/{ProductId}/motifsresiliation';\n PRODUCT_DEMANDE_RESILIATION = 'api/v1.0/domains/products/askresiliation';\n PRODUCT_CANCEL_RESILIATION = 'api/v1.0/domains/products/cancelresiliation';\n PRODUCT_ROUTE_API_COMMAND = 'api-public/v2.0/shop/products';\n\n PRODUCTS_STORAGE_KEY = 'Products';\n\n public products$: BehaviorSubject = new BehaviorSubject<\n ProductV2Dto[]\n >([]);\n\n public get products(): Observable {\n return this.products$.asObservable();\n }\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigurationService,\n ) {}\n\n public getProductsV2(): Observable {\n return this.httpClient\n .get<\n ProductV2Dto[]\n >(`${this.configService.urlApiSiVision}/${this.PRODUCT_ROUTE_API}`.replace('{version}', 'v2.0'))\n .pipe(\n tap((products) => {\n this.products$.next(products);\n this.setProductSessionStorage(products);\n }),\n );\n }\n\n public setProductSessionStorage(products: ProductV2Dto[]) {\n sessionStorage.setItem(\n this.PRODUCTS_STORAGE_KEY,\n JSON.stringify(products),\n );\n }\n\n public getReasonForCancellation(\n productId: string,\n ): Observable> {\n return this.httpClient.get>(\n `${this.configService.urlApiSiVision}/${this.PRODUCT_MOTIF_RESILIATION}?onlyFirstLevel=true`.replace(\n '{ProductId}',\n productId,\n ),\n );\n }\n\n public getProductsWithPrices(\n periodicity: string,\n ): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiMsOrder}/${this.PRODUCT_ROUTE_API_COMMAND}?Periodicity=${periodicity}`,\n );\n }\n\n public getBlockedProduct(\n domainId: string,\n productId: string,\n ): Observable {\n return this.httpClient.get(\n `${this.configService.urlApiSiVision}/api/v2.0/${domainId}/BlockedProducts/${productId}`,\n );\n }\n}\n\nexport interface ProductCommand {\n id: string;\n codeEcc: string;\n codeHubbix: number;\n name: string;\n finalPriceAmount: number;\n originPriceAmount: number;\n discountAmount: number;\n isPlatform: boolean;\n isSoftware: boolean;\n isOption: boolean;\n isTraining: boolean;\n}\n\nexport interface ReasonForCancellation {\n id: string;\n libelle: string;\n parentId?: string;\n}\n","import { Injectable } from '@angular/core';\nimport { ActivationStart, Router } from '@angular/router';\n\nexport const ID_FOR_REDIRECTION_FROM_APP: string = 'IdForRedirectionFromApp';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RedirectionFromAppService {\n constructor() {}\n\n public setRedirectionId(id: string) {\n sessionStorage.setItem(ID_FOR_REDIRECTION_FROM_APP, id);\n }\n\n get RedirectionId(): string | null {\n return sessionStorage.getItem(ID_FOR_REDIRECTION_FROM_APP);\n }\n\n public clear() {\n sessionStorage.removeItem(ID_FOR_REDIRECTION_FROM_APP);\n }\n}\n\nexport function initializeIdForRedirectionFromApp(\n _router: Router,\n redirectionFromAppService: RedirectionFromAppService,\n): () => Promise {\n return async () =>\n new Promise((resolve) => {\n _router.events.subscribe((event) => {\n if (event instanceof ActivationStart) {\n const id = event.snapshot.params['id'];\n if (id != undefined) {\n redirectionFromAppService.setRedirectionId(id);\n }\n }\n });\n resolve();\n });\n}\n","import { ConfigurationService } from './configuration.service';\nimport { RoleInterface } from '../interfaces/role-interface';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RoleService {\n ROLES_ROUTE_API = 'api/v1.0/role';\n ROLES_STORAGE_KEY = 'roles';\n\n /**\n * RoleService constructor\n */\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigurationService,\n ) {}\n\n /**\n * Returns the list of roles\n */\n public getRoles(): Observable {\n return this.httpClient\n .get(\n `${this.configService.urlApiSiVision}/${this.ROLES_ROUTE_API}`,\n )\n .pipe(\n map((data) => {\n return this.apiRoleToAppRole(data);\n }),\n tap((roles) => {\n // this.setRolesLocalStorage(roles);\n this.setRolesSessionStorage(roles);\n }),\n );\n }\n\n /* public setRolesLocalStorage(role: ReadonlyArray) {\n localStorage.setItem(this.ROLES_STORAGE_KEY, JSON.stringify(role));\n } */\n\n public setRolesSessionStorage(role: ReadonlyArray) {\n sessionStorage.setItem(this.ROLES_STORAGE_KEY, JSON.stringify(role));\n }\n\n public get roles(): ReadonlyArray | null {\n const roles: string | null = sessionStorage.getItem(\n this.ROLES_STORAGE_KEY,\n );\n if (!roles) return null;\n return JSON.parse(roles);\n }\n\n public get roles$(): Observable | null> {\n return of(this.roles);\n }\n\n /**\n *\n */\n public apiRoleToAppRole(data: RoleInterface): ReadonlyArray {\n const appRoles: Array = [];\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n appRoles.push({\n id: key,\n name: value,\n });\n }\n }\n return appRoles;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { DOMAIN_TRIAL_ROUTE_FULL_PATH } from '../constants/app-routes.constant';\n\nexport const DEMO_REQUEST_KEY_STORAGE = 'is_trial_request';\nexport const DOMAIN_TRIAL_PATH = 'domain_trial_path';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TrialPeriodService {\n constructor(private readonly _router: Router) {}\n\n demoRequest() {\n localStorage.setItem(DEMO_REQUEST_KEY_STORAGE, 'true');\n }\n\n get isTrialRequest(): boolean {\n return !!localStorage.getItem(DEMO_REQUEST_KEY_STORAGE);\n }\n\n get createDomainFromPartnerPath(): string | null {\n return sessionStorage.getItem(DOMAIN_TRIAL_PATH);\n }\n\n clear() {\n localStorage.removeItem(DEMO_REQUEST_KEY_STORAGE);\n sessionStorage.removeItem(DOMAIN_TRIAL_PATH);\n }\n}\n\nexport function initializeTrialPeriodFactory(\n _router: Router,\n trialPeriodService: TrialPeriodService,\n): () => Promise {\n return async () =>\n new Promise((resolve) => {\n _router.events.subscribe((event) => {\n if (\n event instanceof NavigationStart &&\n event.url.includes(DOMAIN_TRIAL_ROUTE_FULL_PATH)\n ) {\n sessionStorage.setItem(DOMAIN_TRIAL_PATH, event.url);\n trialPeriodService.demoRequest();\n }\n });\n resolve();\n });\n}\n","import { AntDesignModule } from './modules/ant-design/ant-design.module';\nimport { InvitationStatePipe } from './pipes/invitation-state.pipe';\nimport { GetFirstLetterPipe } from './pipes/get-first-letter.pipe';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ProfilLabelPipe } from './pipes/profil-label.pipe';\nimport { AccesLabelPipe } from './pipes/acces-label.pipe';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SoftwareComponent } from './components/software/software.component';\nimport { SoftwareStatusComponent } from './components/software-status/software-status.component';\nimport { LoadingComponent } from './components/loading/loading.component';\nimport { ProductCardComponent } from './components/product-card/product-card.component';\nimport { OptionCardComponent } from './components/option-card/option-card.component';\nimport { FirstConnectionDialogComponent } from './components/first-connection-dialog/first-connection-dialog.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { SupportChatComponent } from './components/support-chat/support-chat.component';\nimport { ErrorAlertComponent } from './components/error-alert/error-alert.component';\nimport { InputUppercaseDirective } from './directives/input-uppercase.directive';\n\n@NgModule({\n imports: [\n // Angular Modules\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n // Ant Design\n AntDesignModule,\n ],\n declarations: [\n // Pipes\n InvitationStatePipe,\n ProfilLabelPipe,\n AccesLabelPipe,\n GetFirstLetterPipe,\n SoftwareComponent,\n SoftwareStatusComponent,\n LoadingComponent,\n ProductCardComponent,\n OptionCardComponent,\n FirstConnectionDialogComponent,\n SupportChatComponent,\n FooterComponent,\n ErrorAlertComponent,\n InputUppercaseDirective,\n ],\n exports: [\n // Modules\n ReactiveFormsModule,\n AntDesignModule,\n // Pipes\n InvitationStatePipe,\n ProfilLabelPipe,\n AccesLabelPipe,\n GetFirstLetterPipe,\n SoftwareComponent,\n SoftwareStatusComponent,\n LoadingComponent,\n ProductCardComponent,\n OptionCardComponent,\n SupportChatComponent,\n FooterComponent,\n ErrorAlertComponent,\n InputUppercaseDirective,\n ],\n})\nexport class SharedModule {}\n","export const environment = {\n production: true,\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["EventEmitter","NavigationEnd","skipWhile","takeUntil","DomainUpdateStatus","PlatformOrigin","ModificationDialogComponent","i0","ctx_r12","ctx_r14","ctx_r15","_r5","AppComponent","constructor","apmConfigurationService","apmService","authenticationService","loader","router","domainsService","productService","domainUpdateService","modalService","settingsService","currentUserService","code","label","apm","init","serviceName","apmServiceName","serverUrl","apmServerUrl","serviceVersion","apmServiceVersion","active","apmActive","environment","apmEnvironment","instrument","apmInstrument","distributedTracing","apmDistributedTracing","distributedTracingOrigins","apmDistributedTracingOriginsRegExp","isAuthenticated","setUserContext","id","identityClaims","sub","username","ngAfterViewInit","mainButton","window","document","querySelector","addEventListener","location","href","ngOnInit","currentDomain$","user$","asObservable","_a","pipe","destroy$","domain","subscribe","currentDomain","toString","customer","name","getUserConnectedInfos","user","setCurrentUserData","isAuthorized","Object","values","roles","some","role","ManageBlockedProductNotification","setInterval","domainUpdateEvents","sessionStorage","getItem","JSON","parse","events","event","removeClassFromPreviousRoute","previousUrl","addClassToCurrentRoute","url","loading$","ngOnDestroy","next","unsubscribe","eventNotificationRefreshing","getDomainUpdateEventsByStatus","Pending","Commercial","DomainUpdateEventResult","setItem","stringify","unloadHandler","clearLocalStorageDomain","login","loadDiscoveryDocumentAndTryLogin","logout","elem","getElemByUrl","classList","add","remove","domainId","blockedProducts","forEach","domainProduct","products","foundProduct","find","p","productsId","getBlockedProduct","domainsId","blockedProduct","reason","blockedReason","accessibilityReasonDetail","showEventModal","ref","create","nzContent","nzClassName","nzWidth","nzCentered","nzComponentParams","afterClose","selectors","hostBindings","ctx","registerLocaleData","HTTP_INTERCEPTORS","localeEn","localeEnExtra","localeFrExtra","localeFr","APP_INITIALIZER","DEFAULT_CURRENCY_CODE","LOCALE_ID","OAuthStorage","fr","fr_FR","NZ_DATE_LOCALE","NZ_I18N","CredentialsInterceptor","AuthenticationService","ApmConfigurationService","ConfigurationService","GlobalsService","ebpLayoutMenus","LAYOUT_MENUS","initializeTrialPeriodFactory","TrialPeriodService","Router","initializeOneTrustScript","OneTrustCookiesConsentService","initializeIdForRedirectionFromApp","RedirectionFromAppService","AcceptInvitationService","initializeAcceptInvitationFactory","FooterUrlService","NOTIFICATION_DATA_OPTIONS","notificationDataOptions","appProviders","provide","useValue","useFactory","defaultLanguage","cookie","includes","Window","useClass","load","toPromise","deps","multi","configService","apmConfig","globalsService","shareReplay","tap","EMPTY","EMPTY_GLOBALS","_configurationHttpClient","urlFrontShopHubbix","configuration","isProduction","production","onTrustTokenId","_configFile","_configuration$","get","createClarityElements","GlobalsCode","scriptClarity","createElement","src","scriptTag","type","textContent","getElementsByTagName","append","factory","providedIn","Role","TableHeader","UserProfilesTable","StepList","Validators","finalize","switchMap","take","ProductCategory","ctx_r0","ctx_r37","ctx_r17","ctx_r40","ctx_r42","ctx_r44","ctx_r2","ctx_r49","ctx_r55","ctx_r57","ctx_r59","ctx_r53","ctx_r61","InvitationDialogComponent","modal","_fb","_validatorsService","_domainService","_roleService","_invitationService","_notification","_companyService","steps","emailField","form","profileField","accumulateur","appRoleAdministrator","profiles","element","ADMIN","appRoleUserStandard","STD_USER","appRoleChartAccountant","CHARTACCOUNTANT","appRoleRevendeur","REVENDEUR","currentCompany$","getCurrentCompany","company","partnerCode","filter","product","getPartnerIsExpert","isExpert","canInviteRevendeur","tableHeader","splice","productsV2","_b","categorie","Software","buildForm","closeAndDestroyModal","close","destroy","closeDialog","onProfileChange","patchValue","profileChoice","clickSwitch","productCode","value","switchValues","setValue","softwares","push","_c","software","previousStep","stepperStep","nextStep","validate","length","step","async","processing","valid","_d","setErrors","_e","sendInvitation","invitation","email","roleId","profile","codePartner","sendInvitationToUser","getInvitationsDomain","getDomains","percentage","info","INVIT_TEXT_SEND","duration","success","setTimeout","group","required","min","decls","vars","consts","template","catchError","lastValueFrom","of","PaymentModEnum","PeriodicityEnum","ProductCodeHubbixEnum","ResiliationDomainComponent","FormResiliationComponent","HttpErrorResponse","reason_r22","ctx_r19","reason_r26","ctx_r20","ctx_r34","item_r33","ctx_r32","_r7","ctx_r63","ctx_r65","ctx_r56","ctx_r67","ctx_r71","ctx_r58","ctx_r74","_productService","_domainUpdateService","notification","_orderService","_globalService","SEPA","estimatedPrices$","pageProcessing","getCurrentDomain","domainName","periodicity","subscriptionPeriodicity","optionsMinValues","hasModificationsToApply","dp","Date","dateEffectiveRetrait","domainOption","dopt","endDate","dateApply","_f","o","startDate","_g","applications","options","produit","quantity","originPriceAmount","finalPriceAmount","_h","opt","productId","OPTION_BANQUE","OPTION_UTILISATEUR","currentSbDocumentId","getProvisionalDatesAndInformationsSB","dates","provisionalDatesRetrait","nextScheduledBillingDate","dateFinPromo","applyDiscount","productsFromEvent","modificationInMore","domainUpdateProductEvents","dupe","applyEvent","platformOrigin","Client","originUser","applicationsFilter","item","level","map","checked","app","optionsFilter","getReasonForCancellation","motifLoading","reasons","reasonsForGC","reasonsForCompta","productsWithPrices","getProductsWithPrices","haveApp","undefined","paiement","codePromo","index","indexOf","removedProductName","option","updatePricesAndTvaAmount","findIndex","disableValidationButton","nextButtonLabel","basket","warning","isInDomainProducts","motifGC","motifCompta","motifRetraitProductId","basketItem","pp","codeHubbix","previousButtonLabel","clickButton","Number","result","submitDomainUpdateEvent","pfe","resetAllDomainUpdateSubjects","firstModalRef","submitDomainResiliation","nzClosable","nzMaskClosable","nzOkText","nzCancelText","nzFooter","onClick","openCheckDeleteModal","class","modalRef","validateEvent","validateDomainUpdateEvent","onPurchase","order","keys","domainUpdateEventOrder","hasOwnProperty","orderId","validateMessageResult","setOrderDto","createSetOrderDto","removeItem","setOrder","err","error","deleteEvent","deleteDomainUpdateEvent","changeOptionQuantity","getPeriodicity","getPaymentMod","basketLoader","codeECC","codeEcc","getEstimatedPrices","codeDomaine","estimatedProduct","ep","combineLatestWith","software_r7","ctx_r9","ctx_r11","UserEditDialogComponent","_domainsService","products$","uniqueRoles","valeursUniques","Set","roles$","has","productsList","COMPTABILITE_SILVER","COMPTABILITE","GESTION_COMMERCIALE","GESTION_COMMERCIALE_SILVER","BATIMENT","BATIMENT_SILVER","connectedUser$","expert","hasChartAcc","data","canHaveMoreUser","rolesList","patchValues","valueChanges","selectedValues","dynamicMaxTagCount","manageMaxTagCount","submit","e","firstName","lastName","softwareAccess","updateValueAndValidity","entries","elt","minElement","maxElement","_r3","BehaviorSubject","Subject","merge","MigrationType","LoginComponent","formBuilder","ebpUrlService","licenceForm","licenceNumber","control","webKey","companyIdForm","companyId","loadEbpUrl","ngOnChanges","changes","firstChange","isInvalid","currentValue","isValid","isErrorIdentificationInvalidSubject$","markFormAsDirty","isInvalid$","complete","invalid","loginEvent","emit","formGroup","controls","markAsDirty","onlySelf","urlMonEspaceEbp","console","inputs","isErrorIdentification","loading","dataSource","inProduction","outputs","features","MigrationService","delay","exhaustMap","firstValueFrom","forkJoin","interval","Subscription","MigrationStatus","StepMigration","ctx_r1","ctx_r13","ctx_r3","ctx_r4","ctx_r5","ctx_r21","ctx_r7","ctx_r24","ctx_r36","ctx_r38","MigrationComponent","migrationService","changeDetectorRef","variableGlobal","locationService","DataSource","setupResiliationButtonVisibility","shouldImportComptaView","setupImportComptaView","initMigrationState","then","getProductsForMigration","subscriptionInterval$","goToImportComptaView","currentStep","ImportComptaView","goToResiliationView","productName","Resiliation","detectChanges","beforeStartingCheck","getNameAndPathByProduct","ComptatActiv","checkIsCompletedMigration","onChoiceDataSource","dataSourceSelected","dataSourceComponent","migrationType","$event","identifyMigration","onPerformImportData","resultLogin","warn","validity","message","isMigrationOL","performMigrationOL","resetProductsData","waitRequestResetProductData","hubbixDataBaseNotReady","sizeUsed","checkSizeUsedByApplicationHubbix","productReset","checkIsDataDeletionFinished","closeModal","goToProductCompta","productCompta","open","retryMigration","migrationStatus","canPerformDataImport","waitRequestBeforeStartingCheck","clearMigrationStateLocalStorage","isNext","ImportBeforeStart","isTargetProductEmpty","migrationCheckDomainEmpty","isProductForMigration","DevisFact","displayButtonCancel","stepMigration","informMyPartner","migrationState","typeMigration","informPartnerByEmail","handleError","productGesCom","waitRequest","isOwner$","isOwner","canShowResiliationButton","isNotInTrial","isOwnerContrat","isAdmin","rolesUser","canShowInformPartnerButton","canShowInformPartner","hasRole","COLLABORATOR","startCheckingDomainEmpty","stopCheckingDomainEmpty","detach","unsubscribeFromInterval","subscriptionIntervalDeletionFinished$","isDomainEmpty","ImportInProgress","unsubscribeInterval","getMigrationDetail","migrationResult","handleMigrationResult","handleMigrationState","status","Success","completeMigration","Error","Failure","handleFailureStatus","now","migrationTypeSelected","endingMigration","dataForm","waitRequestLicenceCleWeb","migrationServiceCall","getMigrationServiceCall","migrationResultLogin","verified","migrationProductOL","ImportFinish","applyMigration","migrationSource","askMigration","dataSourceSoftware","selectedSoftware","dataBase","databaseId","userEmail","databaseType","checkMigrationReportFile","canDisplayedReportFile","viewQuery","combineLatest","startWith","withLatestFrom","ProductCodeSapEnum","ProductPanelComponent","panel_r3","ResiliationComponent","notificationService","gestionCommerciale","key","controlNames","licenceControlName","keyControlName","stateName","verificationStates","success$","gestionComptable","panels","createForm","isFormValid$","observeFormValidity","observeFormSubmission","filteredPanels","getFilteredPanels","activePanel","handleCheckCombination","panel","checkCombination","togglePanel","panelName","handleFormSubmit","formSubmitSubject","hasProductGC","hasProductCompt","_","getValidLicences","validLicences","submitResiliation","handleResiliationSuccess","handleResiliationError","resiliationForm","handleVerificationSuccess","handleVerificationError","closePanel","title","action","section","productPanels","licenceNumGestionCommerciale","keyWebGestionCommerciale","licenceNumGestionComptable","keyWebGestionComptable","confirmationCheckbox","requiredTrue","checkboxChanges$","panelGc$","panelCompt$","checkbox","gcSuccess","comptSuccess","licence","sendResiliationProductOL","_r1","NotificationsOptionComponent","_notificationService","notifications","getNotification","slice","saveNotification","notificationData","contactId","category","isActive","reasonType","userId","updateSource","setNotification","FILL_ENTERPRISE_INFORMATION","INVITE_COLLABORATORS","MIGRATE_DATA","img_r4","FirstConnectionDialogComponent","companyService","carrousel$","getCarrousel","nextArrow","myCarousel","previousArrow","pre","getUserSoftwares","carrousel","canUserAccessMigration","userSoftwares","filteredProducts","companyProduct","codeSAP","POINT_DE_VENTE","OptionCardComponent","codeSap","companyOption","OPTION_UTILISATEUR_SILVER","optionTitle","base","available","optionName","OPTION_BANQUE_SILVER","HaveNextState","nextCompanyOption","currentCompany","effectiveNextDate","nextAvailable","SupportChatComponent","genesysBaseUrl","genesysScript","charset","innerHTML","deploymentId","head","appendChild","databaseScript","domainInformations","userInformations","givenName","familyName","toggleMessenger","Genesys","description","NavigationStart","INVITATION_TO_JOIN_DOMAIN_FULL_PATH","EBP_FIRST_CONNECTION_KEY","ACCEPT_INVITATION_PATH","ACCEPT_INVITATION_REQUEST_KEY_STORAGE","httpClient","invitationRequest","getJoinDomainFromInvitationPath","acceptInvitationRequest","clear","acceptInvitation","urlApiSiVision","DOMAIN_BASE_ROUTE_API","_router","acceptInvitationService","Promise","resolve","localStorage","authConfig","EMPTY_AUTHENTICATION","Observable","userAppMap","JwksValidationHandler","OAuthSuccessEvent","configurationHttpClient","oauthService","loadUserProfile","initImplicitFlow","accessToken","getAccessToken","refreshToken","getRefreshToken","getIdentityClaims","idToken","getIdToken","logoutUrl","hasValidAccessToken","hasValidIdToken","userIdentity","logOut","_authentication$","modelConf","issuer","authOidcIssuerUrl","scope","authOidcScope","clientId","authOidcClientId","responseType","configure","setStorage","tokenValidationHandler","subscriber","loadDiscoveryDocumentAndLogin","isLoggedIn","setupAutomaticSilentRefresh","refresh","silentRefresh","hasValidToken","runInitialLoginFlow","rendererFactory","_renderer","createRenderer","createOnetrustScript","setProperty","setAttribute","host","createOnetrustTag","text","cookieConsent","ActivationStart","ID_FOR_REDIRECTION_FROM_APP","setRedirectionId","RedirectionId","redirectionFromAppService","snapshot","params","DOMAIN_TRIAL_ROUTE_FULL_PATH","DEMO_REQUEST_KEY_STORAGE","DOMAIN_TRIAL_PATH","demoRequest","isTrialRequest","createDomainFromPartnerPath","trialPeriodService"],"sourceRoot":"webpack:///"}