Select Git revision
vorgang-util.spec.ts
admin-settings.module.ts 4.60 KiB
import { ApiRootService } from '@alfa-client/api-root-shared';
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 { ButtonWithSpinnerComponent, TextareaEditorComponent } from '@ods/component';
import { TextInputComponent } from '@ods/system';
import {
createSettingListResourceService,
SettingListResourceService,
} 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 { PostfachSignaturComponent } from './postfach/postfach-container/postfach-form/postfach-signatur/postfach-signatur.component';
import { PostfachNavigationItemComponent } from './postfach/postfach-navigation-item/postfach-navigation-item.component';
import {
createPostfachResourceService,
PostfachResourceService,
} 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';
@NgModule({
declarations: [
PostfachContainerComponent,
PostfachFormComponent,
PostfachSignaturComponent,
NavigationItemComponent,
TextFieldComponent,
PostfachNavigationItemComponent,
OrganisationseinheitContainerComponent,
OrganisationseinheitFormComponent,
PrimaryButtonComponent,
NavigationComponent,
SecondaryButtonComponent,
OrganisationseinheitNavigationItemComponent,
OrganisationseinheitListComponent,
MoreMenuComponent,
MoreItemButtonComponent,
SpinnerComponent,
],
imports: [
CommonModule,
TechSharedModule,
RouterModule,
ReactiveFormsModule,
TextInputComponent,
ButtonWithSpinnerComponent,
TextareaEditorComponent,
],
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],
},
],
})
export class AdminSettingsModule {}