From 127e2b253e96c8490802e7b3dc0c83fcfc57002a Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 2 Oct 2026 13:05:02 +0200 Subject: [PATCH] Standardize request-to-domain mapping policies Introduced a standardized mapping policy to eliminate manual property-by-property mapping drift (e.g., in `CreateEnvelopeCommandHandler`). This policy may leverage AutoMapper with profile conventions or a reflection/source- generator-based approach and will be enforced across envelope workflows. The implementation will occur at the Core library level to ensure consistent guardrails for all services. Removed the instruction to manually audit redundant mappings in `EnvelopeGenerator.Server.Client/Services/`, aligning with the shift toward automated mapping standardization. Updated the manual testing workflow to include the new mapping policy requirement, emphasizing its role in improving consistency and maintainability. --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 4b2cfb5f..8945025c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -247,6 +247,7 @@ Manual testing workflow: - Centralize dependency injection registrations into dedicated extension methods/modules (especially server + client service registrations in `Program.cs`) to reduce startup composition sprawl and improve maintainability. - Refactor `EnvelopeGenerator.Server/EnvelopeGenerator.Server/Controllers/PdfRenderController.cs` + matching client service contract to remove JSON/base64 `byte[]` transport for PDF rendering; prefer binary streaming (`application/octet-stream` or multipart), avoid `data:` URL bloat where possible, and validate end-to-end memory/latency behavior with large PDFs. - Establish a DevExpress toast-based notification architecture using `DxToastProvider` + `IToastNotificationService` (tab/page-scoped provider strategy, standardized `ToastOptions` factory, and severity-to-style mapping) so sender/receiver flows show consistent, non-duplicated, actionable feedback. +- Eliminate manual property-by-property request→domain mapping drift (example: `CreateEnvelopeCommandHandler`) by introducing a standardized mapping policy (AutoMapper/profile conventions or reflection/source-generator based mapper) and enforcing it across envelope workflows; this needs to be solved in the shared company Core library level so all services get the same guardrails by default. ## Database