diff --git a/alfa-client/apps/alfa/src/app/app.module.ts b/alfa-client/apps/alfa/src/app/app.module.ts index d0b1eefacd958300514b409e1ae7a72b39a5a8a4..566ebc0b3fd03aa04506016be0d3c16aa1bf1fd9 100644 --- a/alfa-client/apps/alfa/src/app/app.module.ts +++ b/alfa-client/apps/alfa/src/app/app.module.ts @@ -23,7 +23,6 @@ */ import { ApiRootModule } from '@alfa-client/api-root-shared'; import { AppSharedModule } from '@alfa-client/app-shared'; -import { BescheidSharedModule } from '@alfa-client/bescheid-shared'; import { BuildInfoComponent } from '@alfa-client/common'; import { EnvironmentModule } from '@alfa-client/environment-shared'; import { HintSharedModule } from '@alfa-client/hint-shared'; @@ -83,8 +82,6 @@ const routes: Routes = [ @NgModule({ declarations: [AppComponent], imports: [ - // todo: warum wird der BescheidResourceService sonst nicht gefunden? - BescheidSharedModule, MatIconModule, BrowserModule, BrowserAnimationsModule, diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid-shared.module.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid-shared.module.ts index e225f30b62157cad80fd430f9db209e0ddc53cf3..e7e3e665adada84329c689f57d4ce981e7ca4609 100644 --- a/alfa-client/libs/bescheid-shared/src/lib/bescheid-shared.module.ts +++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid-shared.module.ts @@ -21,31 +21,13 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { CommandService } from '@alfa-client/command-shared'; -import { ResourceRepository, StateService } from '@alfa-client/tech-shared'; -import { VorgangService, VorgangSharedModule } from '@alfa-client/vorgang-shared'; +import { VorgangSharedModule } from '@alfa-client/vorgang-shared'; import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { StoreModule } from '@ngrx/store'; import { BESCHEID_FEATURE_KEY, bescheidReducer } from './+state/bescheid.reducer'; -import { BescheidListResourceService, createBescheidListResourceService } from './bescheid-list-resource-service'; -import { BescheidResourceService, createBescheidResourceService } from './bescheid-resource-service'; -import { BescheidService } from './bescheid.service'; @NgModule({ imports: [CommonModule, VorgangSharedModule, StoreModule.forFeature(BESCHEID_FEATURE_KEY, bescheidReducer)], - providers: [ - BescheidService, - { - provide: BescheidListResourceService, - useFactory: createBescheidListResourceService, - deps: [VorgangService, ResourceRepository, CommandService], - }, - { - provide: BescheidResourceService, - useFactory: createBescheidResourceService, - deps: [StateService, CommandService, VorgangService], - }, - ], }) export class BescheidSharedModule {} diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts index 7b88406c2f5b2784db25068eec6333ecccf09a23..4c5fdd5b4b08db1b5a03fe4ee3cc3b079b0f13f2 100644 --- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts +++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts @@ -27,9 +27,7 @@ import { BescheidDocument, BescheidLinkRel, BescheidListResource, - BescheidListResourceService, BescheidResource, - BescheidResourceService, BescheidSendBy, BescheidStatus, BescheidWizardStep, @@ -38,6 +36,8 @@ import { buildCreateBescheidDocumentFromFileProps, buildSendBescheidCommandProps, buildUpdateBescheidCommandProps, + createBescheidListResourceService, + createBescheidResourceService, createEmptyBescheidDocument, createEmptyUploadInProgress, createInitialWizard, @@ -71,8 +71,9 @@ import { ResourceRepository, sortByGermanDateStr, StateResource, + StateService, } from '@alfa-client/tech-shared'; -import { VorgangCommandService, VorgangWithEingangResource } from '@alfa-client/vorgang-shared'; +import { VorgangCommandService, VorgangService, VorgangWithEingangResource } from '@alfa-client/vorgang-shared'; import { inject, Injectable } from '@angular/core'; import { getUrl, hasLink, LinkRel, Resource, ResourceUri } from '@ngxp/rest'; import { isNil } from 'lodash-es'; @@ -88,9 +89,21 @@ export class BescheidService { private readonly binaryFileService = inject(BinaryFileService); private readonly resourceRepository = inject(ResourceRepository); private readonly postfachService = inject(PostfachService); - private readonly bescheidResourceService = inject(BescheidResourceService); - private readonly bescheidListResourceService = inject(BescheidListResourceService); - + private readonly vorgangService = inject(VorgangService); + private readonly stateService = inject(StateService); + // The injection of this services is problematic. + // It must be analysed how to inject BescheidService via providers in BescheidSharedModule. + private readonly bescheidResourceService = createBescheidResourceService( + this.stateService, + this.commandService, + this.vorgangService, + ); + private readonly bescheidListResourceService = createBescheidListResourceService( + this.vorgangService, + this.resourceRepository, + this.commandService, + ); + // readonly _bescheidDocument$: BehaviorSubject<BescheidDocument> = new BehaviorSubject(createEmptyBescheidDocument()); readonly _wizard$: BehaviorSubject<Wizard> = new BehaviorSubject(createInitialWizard()); diff --git a/alfa-client/libs/bescheid/src/lib/bescheid.module.ts b/alfa-client/libs/bescheid/src/lib/bescheid.module.ts index bff2453ae3266fe805b85177073edc854782757c..c2765686b22430ef096f51c5c087d3774e671de2 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid.module.ts +++ b/alfa-client/libs/bescheid/src/lib/bescheid.module.ts @@ -21,23 +21,56 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { BescheidSharedModule } from '@alfa-client/bescheid-shared'; import { BinaryFileModule, FileUploadListContainerComponent, MultiFileUploadEditorComponent } from '@alfa-client/binary-file'; import { CommandSharedModule } from '@alfa-client/command-shared'; -import { ConvertForDataTestPipe, ConvertProblemDetailToErrorMessagesPipe, GetUrlPipe, HasLinkPipe, ToEmbeddedResourcesPipe, } from '@alfa-client/tech-shared'; +import { + ConvertForDataTestPipe, + ConvertProblemDetailToErrorMessagesPipe, + GetUrlPipe, + HasLinkPipe, + ToEmbeddedResourcesPipe, +} from '@alfa-client/tech-shared'; import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { ButtonWithSpinnerComponent, FileUploadEditorComponent, SingleFileUploadEditorComponent, TextareaEditorComponent, TextEditorComponent, } from '@ods/component'; +import { + ButtonWithSpinnerComponent, + FileUploadEditorComponent, + SingleFileUploadEditorComponent, + TextareaEditorComponent, + TextEditorComponent, +} from '@ods/component'; import { BescheidListInVorgangContainerComponent } from './bescheid-list-in-vorgang-container/bescheid-list-in-vorgang-container.component'; import { BescheidListInVorgangComponent } from './bescheid-list-in-vorgang-container/bescheid-list-in-vorgang/bescheid-list-in-vorgang.component'; import { DocumentInBescheidContainerComponent } from './bescheid-list-in-vorgang-container/bescheid-list-in-vorgang/document-in-bescheid-container/document-in-bescheid-container.component'; import { BeschiedenDateContainerComponent } from './beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component'; import { BeschiedenDateInVorgangContainerComponent } from './beschieden-date-in-vorgang-container/beschieden-date-in-vorgang-container.component'; -import { DateEditorComponent, ExpansionPanelComponent, OzgcloudStrokedButtonWithSpinnerComponent, SpinnerComponent, } from '@alfa-client/ui'; +import { BescheidSharedModule } from '@alfa-client/bescheid-shared'; +import { + DateEditorComponent, + ExpansionPanelComponent, + OzgcloudStrokedButtonWithSpinnerComponent, + SpinnerComponent, +} from '@alfa-client/ui'; import { ReactiveFormsModule } from '@angular/forms'; import { MatIcon } from '@angular/material/icon'; -import { AttachmentComponent, AttachmentWrapperComponent, BescheidGenerateIconComponent, BescheidStatusTextComponent, BescheidUploadIconComponent, BescheidWrapperComponent, ButtonCardComponent, ButtonComponent, CheckIconComponent, CloseIconComponent, RadioButtonCardComponent, SaveIconComponent, SendIconComponent, SpinnerIconComponent, StampIconComponent, } from '@ods/system'; +import { + AttachmentComponent, + AttachmentWrapperComponent, + BescheidGenerateIconComponent, + BescheidStatusTextComponent, + BescheidUploadIconComponent, + BescheidWrapperComponent, + ButtonCardComponent, + ButtonComponent, + CheckIconComponent, + CloseIconComponent, + RadioButtonCardComponent, + SaveIconComponent, + SendIconComponent, + SpinnerIconComponent, + StampIconComponent, +} from '@ods/system'; import { FormatFullDatePipe } from '../../../tech-shared/src/lib/pipe/format-full-date.pipe'; import { BescheidWizardContainerComponent } from './bescheid-wizard-container/bescheid-wizard-container.component'; import { BescheidWizardAbschliessenButtonComponent } from './bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/abschliessen-button/bescheid-wizard-abschliessen-button.component'; @@ -72,9 +105,9 @@ import { BescheidWizardWeiterButtonComponent } from './bescheid-wizard-container @NgModule({ imports: [ CommonModule, - BescheidSharedModule, BinaryFileModule, CommandSharedModule, + BescheidSharedModule, BescheidStatusTextComponent, BescheidWrapperComponent, StampIconComponent,