- Added `BackToPerMethodId` constant and updated validation rules in `CloseWorkflowCommandValidator`. - Refactored `GetWorkflowsQueryHandler` for simpler `hasListingData` logic. - Replaced strongly-typed properties with `JsonElement` in `ContractsSourceBlock` and `FerdinandSourceBlock`. - Updated `WorkflowListingReadModel` to use smaller data types for efficiency. - Refactored `WorkflowRepository` to use JSON-based data retrieval and parsing. - Introduced `MetaOnlyResponse` and `WorkflowsResponse` for consistent API responses. - Updated `DocumentsController` and `WorkflowsController` to use new response types. - Added `ApiKeyAuthMiddleware` for API key validation and integrated it into the middleware pipeline. - Refactored `ExceptionHandlingMiddleware` to use `MetaOnlyResponse` for error handling. - Performed general cleanup and modernization for improved readability and maintainability.
DigitalData.TaskFlow.Infrastructure
Dieses Projekt implementiert technische Integrationen der Anwendung.
Zweck
Die Infrastructure-Schicht setzt die in Application definierten Abstraktionen konkret um. Dazu gehoeren Datenbankzugriffe (EF Core, Stored Procedures) und spaeter ggf. DMS- oder externe Service-Anbindungen.
Aktueller Inhalt
DependencyInjection.cs- Einstiegspunkt fuer die Registrierung technischer Dienste.
Options/- Platz fuer Infrastruktur-spezifische Optionen (falls benoetigt).
Geplante Inhalte (naechste Phasen)
Persistence/TaskFlowDbContextmit SQL-Server-Konfiguration.- Entity-Konfigurationen inklusive Feld-Mapping (DB-Namen -> PascalCase-Modelle).
Repositories/- Implementierungen fuer:
- Workflow-Lesezugriff (u. a.
PRCUST_F19_GET_LISTING_DATA) - Workflow-Closing (Write-Procedure)
- Dokument-Binary-Zugriff
- Workflow-Lesezugriff (u. a.
- Implementierungen fuer:
Persistence/Models/- Keyless Modelle fuer Procedure-Ergebnisse.
Wichtiger Hinweis zu DB-Spaltennamen
- Spaltennamen in
Persistence/Models(z. B.WorkflowListingReadModel) basieren aktuell auf:- read-only Abfragen auf
sys.columns(u. a.TBCUST_F19_LISTING_RESULT), - beobachteten Result-Sets von
PRCUST_F19_GET_LISTING_DATAimtable-Modus.
- read-only Abfragen auf
- Vor produktiven Aenderungen muss das finale SP-Resultset read-only verifiziert werden, idealerweise mit
sp_describe_first_result_setoder einer gleichwertigen Metadata-Pruefung. - Domain-Modelle bleiben davon getrennt: DB-Feldnamen werden nur in Infrastructure gemappt, nicht in Domain.
Architektur-Regeln
- Keine Controller- oder HTTP-Logik.
- Keine fachliche Regel-Definition; nur technische Umsetzung.
- SQL-Zugriff stets parameterisiert und sicher.
Rolle im Gesamtsystem
Infrastructure kapselt alle externen Abhaengigkeiten. Dadurch bleibt die Application-Schicht testbar und von Technologie-Details entkoppelt.