Skip to content
Snippets Groups Projects
admin-settings.module.ts 4.21 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { ApiRootService } from '@alfa-client/api-root-shared';
    
    OZGCloud's avatar
    OZGCloud committed
    import { Environment, ENVIRONMENT_CONFIG } from '@alfa-client/environment-shared';
    
    import { ResourceRepository, TechSharedModule } from '@alfa-client/tech-shared';
    
    import { CommonModule } from '@angular/common';
    
    import { NgModule } from '@angular/core';
    
    import { ReactiveFormsModule } from '@angular/forms';
    
    import { RouterModule } from '@angular/router';
    import KcAdminClient from '@keycloak/keycloak-admin-client';
    
    import {
      createSettingListResourceService,
    
    } from './admin-settings-resource.service';
    
    import { SettingsService } from './admin-settings.service';
    
    import {
      ConfigurationResourceService,
      createConfigurationResourceService,
    } from './configuration/configuration-resource.service';
    
    import { ConfigurationService } from './configuration/configuration.service';
    
    import { NavigationComponent } from './navigation/navigation.component';
    
    import { OrganisationseinheitContainerComponent } from './organisationseinheit/organisationseinheit-container/organisationseinheit-container.component';
    import { OrganisationseinheitFormComponent } from './organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component';
    import { OrganisationseinheitListComponent } from './organisationseinheit/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component';
    import { OrganisationseinheitNavigationItemComponent } from './organisationseinheit/organisationseinheit-navigation-item/organisationseinheit-navigation-item.component';
    
    import { PostfachContainerComponent } from './postfach/postfach-container/postfach-container.component';
    import { PostfachFormComponent } from './postfach/postfach-container/postfach-form/postfach-form.component';
    
    import { PostfachNavigationItemComponent } from './postfach/postfach-navigation-item/postfach-navigation-item.component';
    
      createPostfachResourceService,
    
    } from './postfach/postfach-resource.service';
    
    import { PostfachService } from './postfach/postfach.service';
    
    import { MoreItemButtonComponent } from './shared/more-menu/more-item-button/more-item-button.component';
    
    import { MoreMenuComponent } from './shared/more-menu/more-menu.component';
    import { NavigationItemComponent } from './shared/navigation-item/navigation-item.component';
    import { PrimaryButtonComponent } from './shared/primary-button/primary-button.component';
    import { SecondaryButtonComponent } from './shared/secondary-button/secondary-button.component';
    
    import { SpinnerComponent } from './shared/spinner/spinner.component';
    
    import { TextFieldComponent } from './shared/text-field/text-field.component';
    
      declarations: [
        PostfachContainerComponent,
        PostfachFormComponent,
        NavigationItemComponent,
        TextFieldComponent,
    
        PostfachNavigationItemComponent,
    
        OrganisationseinheitContainerComponent,
        OrganisationseinheitFormComponent,
    
        NavigationComponent,
    
        OrganisationseinheitNavigationItemComponent,
        OrganisationseinheitListComponent,
    
        MoreMenuComponent,
        MoreItemButtonComponent,
    
        SpinnerComponent,
    
      imports: [CommonModule, TechSharedModule, RouterModule, ReactiveFormsModule],
    
      exports: [
        PostfachContainerComponent,
    
        OrganisationseinheitContainerComponent,
    
        NavigationComponent,
        NavigationItemComponent,
      ],
    
      providers: [
        ConfigurationService,
        SettingsService,
        PostfachService,
        {
          provide: KcAdminClient,
          useFactory: (env: Environment) =>
            new KcAdminClient({
              baseUrl: env.authServer,
              realmName: env.realm,
            }),
          deps: [ENVIRONMENT_CONFIG],
        },
    
        {
          provide: PostfachResourceService,
    
          useFactory: createPostfachResourceService,
    
          deps: [ResourceRepository, SettingsService],
        },
    
        {
          provide: ConfigurationResourceService,
          useFactory: createConfigurationResourceService,
    
          deps: [ResourceRepository, ApiRootService],
    
        },
        {
          provide: SettingListResourceService,
          useFactory: createSettingListResourceService,
          deps: [ResourceRepository, ConfigurationService],
        },