Files
DigitalData.TaskFlow/src/infrastructure/DigitalData.TaskFlow.Infrastructure
TekH 70e82567d8 Refactor workflows and improve API responses
- 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.
2026-10-10 20:47:31 +02:00
..

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/
    • TaskFlowDbContext mit 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
  • 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_DATA im table-Modus.
  • Vor produktiven Aenderungen muss das finale SP-Resultset read-only verifiziert werden, idealerweise mit sp_describe_first_result_set oder 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.