From 0e88b349d75aa3accfaa3ab28163b642110e188b Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 30 Jul 2026 14:02:56 +0200 Subject: [PATCH] Rebrand project: DocumentOperator to DocumentService This commit implements a complete rebranding of the project: - Updated all namespaces from `DocumentOperator` to `DocumentService`. - Renamed file paths, embedded resources, and test data references. - Updated configuration keys, logging paths, and Redis instance names. - Revised documentation to reflect the new project name. - Modified project and solution files to align with the new structure. - Updated class names, DTOs, commands, queries, and handlers. - Adjusted middleware, controllers, and API endpoints. - Updated Swagger metadata and API titles to `DocumentService API`. - Refactored test namespaces, resource paths, and embedded resources. - Updated build and deployment configurations for the new name. - Replaced all references to `DocumentOperator` in comments and literals. These changes ensure consistency across the codebase and documentation. --- AGENTS.md | 12 +-- CONTROLLER_ENDPOINTS.md | 6 +- .../Configuration/DualInputDocumentFilter.cs | 2 +- .../Configuration/SerilogConfiguration.cs | 2 +- .../Configuration/SwaggerConfiguration.cs | 2 +- .../Configuration/SwaggerSettings.cs | 4 +- .../Controllers/PdfAttachmentController.cs | 12 +-- .../Controllers/PdfConversionController.cs | 8 +- .../Controllers/PdfOperationsController.cs | 12 +-- .../Controllers/PdfValidationController.cs | 10 +-- .../Controllers/SwissQrCodeController.cs | 8 +- .../Controllers/ZugferdController.cs | 10 +-- .../DocumentOperator.API.http | 6 -- DocumentOperator.API/DocumentService.API.http | 6 ++ .../Middleware/ExceptionHandlingMiddleware.cs | 4 +- .../Middleware/RequestLoggingMiddleware.cs | 2 +- .../Middleware/TenantResolutionMiddleware.cs | 2 +- DocumentOperator.API/PHASENPLAN.md | 8 +- DocumentOperator.API/Program.cs | 24 +++--- .../PublishProfiles/IISProfile.pubxml | 4 +- DocumentOperator.API/README.md | 6 +- .../appsettings.Development.json | 4 +- DocumentOperator.API/appsettings.json | 12 +-- .../AddAnnotation/AddAnnotationCommand.cs | 6 +- .../AddAttachments/AddAttachmentsCommand.cs | 4 +- .../AddStamp/AddStampCommand.cs | 2 +- .../Queries/CheckPdfAttachmentsQuery.cs | 6 +- .../CheckPdfAttachmentsQueryValidator.cs | 2 +- .../Common/Behaviors/LoggingBehavior.cs | 2 +- .../Common/Behaviors/ValidationBehavior.cs | 2 +- .../Common/Configuration/ZugferdSettings.cs | 2 +- .../Common/DTOs/AttachmentCheckResult.cs | 2 +- .../Common/DTOs/AttachmentInfo.cs | 2 +- .../Common/DTOs/AttachmentMetadata.cs | 2 +- .../Common/DTOs/PdfAMetadata.cs | 2 +- .../Common/DTOs/PdfAValidationResult.cs | 2 +- .../Common/DTOs/PdfMetadata.cs | 2 +- .../Common/DTOs/PdfValidationResult.cs | 2 +- .../Common/DTOs/SwissQrBillDto.cs | 2 +- .../DTOs/SwissQrCodeExtractionResult.cs | 2 +- .../Common/DTOs/ZugferdCheckResult.cs | 2 +- .../Common/Interfaces/IPdfProcessor.cs | 4 +- .../Interfaces/ISwissQrCodeProcessor.cs | 2 +- .../Common/Mapping/MappingProfile.cs | 6 +- .../ConvertFromPdfA/ConvertFromPdfACommand.cs | 4 +- .../ConvertToPdfA/ConvertToPdfACommand.cs | 4 +- .../DependencyInjection.cs | 2 +- .../ExtractPdfAttachmentsCommand.cs | 4 +- .../ExtractZugferd/ExtractZugferdCommand.cs | 8 +- .../HasZugferd/Queries/HasZugferdQuery.cs | 8 +- .../Queries/HasZugferdQueryValidator.cs | 2 +- .../MergePdfs/MergePdfsCommand.cs | 4 +- .../Queries/ExtractSwissQrCodeQuery.cs | 6 +- .../ExtractSwissQrCodeQueryValidator.cs | 4 +- .../ValidatePdf/Queries/ValidatePdfQuery.cs | 6 +- .../Queries/ValidatePdfQueryValidator.cs | 4 +- .../ValidatePdfA/Queries/ValidatePdfAQuery.cs | 6 +- .../Validators/ValidatePdfAQueryValidator.cs | 2 +- .../Common/Exceptions/BadRequestException.cs | 2 +- .../Common/Exceptions/DomainException.cs | 2 +- .../Exceptions/DomainValidationException.cs | 2 +- .../Common/Exceptions/NotFoundException.cs | 2 +- .../Models/ValueObjects/AnnotationOrigin.cs | 2 +- .../Models/ValueObjects/AnnotationType.cs | 2 +- .../ValueObjects/PredefinedStampType.cs | 2 +- .../Models/ValueObjects/StampPlacement.cs | 2 +- .../Models/ValueObjects/StampType.cs | 2 +- .../Models/ValueObjects/TenantId.cs | 2 +- .../Models/ValueObjects/TextMarkupStyle.cs | 2 +- .../Configuration/ApiKeySettings.cs | 2 +- ...Settings.cs => DocumentServiceSettings.cs} | 6 +- .../Configuration/RedisSettings.cs | 4 +- .../Configuration/TenantInfo.cs | 2 +- .../DependencyInjection.cs | 8 +- .../PdfProcessing/DevExpressPdfProcessor.cs | 8 +- .../DevExpressSwissQrCodeProcessor.cs | 6 +- .../Services/StringExtensions.cs | 2 +- .../API/ExtractSwissQrCodeEndpointTests.cs | 10 +-- .../API/PdfAttachmentControllerTests.cs | 8 +- .../API/PdfOperationsControllerTests.cs | 8 +- .../API/PdfValidationControllerTests.cs | 14 +-- .../CheckPdfAttachmentsQueryHandlerTests.cs | 8 +- .../ValidatePdf/ValidatePdfHandlerTests.cs | 10 +-- .../ValidatePdfAQueryHandlerTests.cs | 10 +-- .../DevExpressPdfProcessorTests.cs | 12 +-- .../DevExpressSwissQrCodeProcessorTests.cs | 10 +-- DocumentService.sln | 85 +++++++++++++++++++ REQUIRED_FEATURES.md | 6 +- 88 files changed, 307 insertions(+), 222 deletions(-) delete mode 100644 DocumentOperator.API/DocumentOperator.API.http create mode 100644 DocumentOperator.API/DocumentService.API.http rename DocumentOperator.Infrastructure/Configuration/{DocumentOperatorSettings.cs => DocumentServiceSettings.cs} (56%) create mode 100644 DocumentService.sln diff --git a/AGENTS.md b/AGENTS.md index 1183434..9124a25 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # AGENTS.md -Agent guidance for DocumentOperator service. Read this before working on the codebase. +Agent guidance for DocumentService service. Read this before working on the codebase. --- @@ -23,7 +23,7 @@ Agent guidance for DocumentOperator service. Read this before working on the cod ### Migration Required **Existing code that needs replacement:** -- `DocumentOperator.API/Endpoints/v1/DocumentEndpoints.cs` → Delete, replace with Controllers +- `DocumentService.API/Endpoints/v1/DocumentEndpoints.cs` → Delete, replace with Controllers - `Program.cs` line 72: `app.MapDocumentEndpoints()` → Replace with `app.MapControllers()` - `Program.cs` line 44: Add `builder.Services.AddControllers()` - All DTOs → Support **BOTH** `IFormFile` (multipart) AND `Base64String` (JSON) @@ -195,7 +195,7 @@ dotnet test **Run API (Development):** ```powershell -dotnet run --project DocumentOperator.API +dotnet run --project DocumentService.API ``` Swagger UI: `https://localhost:7186/swagger` Serilog UI: `https://localhost:7186/serilog-ui` (Web-based log viewer) @@ -339,7 +339,7 @@ Do NOT skip steps. Each feature is done when it's **testable in Swagger UI with **All test PDFs are EmbeddedResource.** Access via: ```csharp var stream = Assembly.GetExecutingAssembly() - .GetManifestResourceStream("DocumentOperator.Tests.TestData.Pdfs.valid.pdf"); + .GetManifestResourceStream("DocumentService.Tests.TestData.Pdfs.valid.pdf"); ``` **Do NOT commit new binary files** without marking them as ``. @@ -351,7 +351,7 @@ var stream = Assembly.GetExecutingAssembly() **3-folder structure (CORRECT approach by previous developer):** ``` -DocumentOperator.Tests/ +DocumentService.Tests/ ├── Integration/ │ └── API/ │ ├── PdfValidationControllerTests.cs (13 tests) @@ -520,7 +520,7 @@ public async Task Validate([FromForm] PdfInputModel input, Cancel ## Configuration **appsettings.json sections:** -- `DocumentOperatorSettings` (future: file size limits, temp paths) +- `DocumentServiceSettings` (future: file size limits, temp paths) - `RedisSettings` (future: multi-tenancy caching) - `ApiKeySettings` (future: authentication) diff --git a/CONTROLLER_ENDPOINTS.md b/CONTROLLER_ENDPOINTS.md index 7a3dedd..8e41c20 100644 --- a/CONTROLLER_ENDPOINTS.md +++ b/CONTROLLER_ENDPOINTS.md @@ -1,4 +1,4 @@ -# DocumentOperator - Controller & Endpoint Specification +# DocumentService - Controller & Endpoint Specification **Project:** DocumentService (DOC) **Ticket:** DOC-1 - GDPicture and Nutrient Replacing @@ -9,7 +9,7 @@ ## Overview -This specification defines the controller structure and REST API endpoints for the DocumentOperator service. +This specification defines the controller structure and REST API endpoints for the DocumentService service. --- @@ -293,7 +293,7 @@ The service can be used on the client side **without manual HTTP response handli **Example Client SDK:** ```csharp -var client = new DocumentOperatorClient("https://api.example.com"); +var client = new DocumentServiceClient("https://api.example.com"); var result = await client.Pdf.Validation.ValidateAsync(pdfFile); if (result.IsValid) { ... } ``` diff --git a/DocumentOperator.API/Configuration/DualInputDocumentFilter.cs b/DocumentOperator.API/Configuration/DualInputDocumentFilter.cs index 7f9a42b..79c54e7 100644 --- a/DocumentOperator.API/Configuration/DualInputDocumentFilter.cs +++ b/DocumentOperator.API/Configuration/DualInputDocumentFilter.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Mvc.ApiExplorer; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; -namespace DocumentOperator.API.Configuration +namespace DocumentService.API.Configuration { /// /// Swagger document filter that merges operations with same path but different [Consumes] attributes. diff --git a/DocumentOperator.API/Configuration/SerilogConfiguration.cs b/DocumentOperator.API/Configuration/SerilogConfiguration.cs index 25d5c9a..482f2dc 100644 --- a/DocumentOperator.API/Configuration/SerilogConfiguration.cs +++ b/DocumentOperator.API/Configuration/SerilogConfiguration.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.API.Configuration +namespace DocumentService.API.Configuration { /// /// Placeholder class for Serilog configuration extensions. diff --git a/DocumentOperator.API/Configuration/SwaggerConfiguration.cs b/DocumentOperator.API/Configuration/SwaggerConfiguration.cs index dee6bfb..4f02f27 100644 --- a/DocumentOperator.API/Configuration/SwaggerConfiguration.cs +++ b/DocumentOperator.API/Configuration/SwaggerConfiguration.cs @@ -2,7 +2,7 @@ using Microsoft.OpenApi.Models; using System.Reflection; -namespace DocumentOperator.API.Configuration +namespace DocumentService.API.Configuration { /// /// Provides extension methods for configuring Swagger/OpenAPI documentation. diff --git a/DocumentOperator.API/Configuration/SwaggerSettings.cs b/DocumentOperator.API/Configuration/SwaggerSettings.cs index 19959a7..1076fa5 100644 --- a/DocumentOperator.API/Configuration/SwaggerSettings.cs +++ b/DocumentOperator.API/Configuration/SwaggerSettings.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.API.Configuration; +namespace DocumentService.API.Configuration; /// /// Configuration settings for Swagger/OpenAPI documentation. @@ -19,7 +19,7 @@ public class SwaggerSettings /// /// API title displayed in Swagger UI. /// - public string Title { get; set; } = "DocumentOperator API"; + public string Title { get; set; } = "DocumentService API"; /// /// API version. diff --git a/DocumentOperator.API/Controllers/PdfAttachmentController.cs b/DocumentOperator.API/Controllers/PdfAttachmentController.cs index 73a5aa5..ad20e36 100644 --- a/DocumentOperator.API/Controllers/PdfAttachmentController.cs +++ b/DocumentOperator.API/Controllers/PdfAttachmentController.cs @@ -1,13 +1,13 @@ -using DocumentOperator.Application.AddAttachments; -using DocumentOperator.Application.CheckPdfAttachments.Queries; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.ExtractPdfAttachments; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.AddAttachments; +using DocumentService.Application.CheckPdfAttachments.Queries; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.ExtractPdfAttachments; +using DocumentService.Domain.Common.Exceptions; using MediatR; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; -namespace DocumentOperator.API.Controllers; +namespace DocumentService.API.Controllers; /// /// Controller for PDF attachment operations (detection, extraction, embedding) diff --git a/DocumentOperator.API/Controllers/PdfConversionController.cs b/DocumentOperator.API/Controllers/PdfConversionController.cs index 786e283..e394c37 100644 --- a/DocumentOperator.API/Controllers/PdfConversionController.cs +++ b/DocumentOperator.API/Controllers/PdfConversionController.cs @@ -1,11 +1,11 @@ -using DocumentOperator.Application.ConvertFromPdfA; -using DocumentOperator.Application.ConvertToPdfA; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.ConvertFromPdfA; +using DocumentService.Application.ConvertToPdfA; +using DocumentService.Domain.Common.Exceptions; using MediatR; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; -namespace DocumentOperator.API.Controllers; +namespace DocumentService.API.Controllers; /// /// Controller for PDF conversion operations (PDF ? PDF/A) diff --git a/DocumentOperator.API/Controllers/PdfOperationsController.cs b/DocumentOperator.API/Controllers/PdfOperationsController.cs index fc75f1a..90dde0f 100644 --- a/DocumentOperator.API/Controllers/PdfOperationsController.cs +++ b/DocumentOperator.API/Controllers/PdfOperationsController.cs @@ -1,13 +1,13 @@ -using DocumentOperator.Application.AddAnnotation; -using DocumentOperator.Application.AddStamp; -using DocumentOperator.Application.MergePdfs; -using DocumentOperator.Domain.Common.Exceptions; -using DocumentOperator.Domain.Models.ValueObjects; +using DocumentService.Application.AddAnnotation; +using DocumentService.Application.AddStamp; +using DocumentService.Application.MergePdfs; +using DocumentService.Domain.Common.Exceptions; +using DocumentService.Domain.Models.ValueObjects; using MediatR; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; -namespace DocumentOperator.API.Controllers; +namespace DocumentService.API.Controllers; /// /// Controller for PDF operations (merge, stamp, annotate). diff --git a/DocumentOperator.API/Controllers/PdfValidationController.cs b/DocumentOperator.API/Controllers/PdfValidationController.cs index 66f6428..e54feea 100644 --- a/DocumentOperator.API/Controllers/PdfValidationController.cs +++ b/DocumentOperator.API/Controllers/PdfValidationController.cs @@ -1,11 +1,11 @@ -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.ValidatePdf.Queries; -using DocumentOperator.Application.ValidatePdfA.Queries; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.ValidatePdf.Queries; +using DocumentService.Application.ValidatePdfA.Queries; +using DocumentService.Domain.Common.Exceptions; using MediatR; using Microsoft.AspNetCore.Mvc; -namespace DocumentOperator.API.Controllers; +namespace DocumentService.API.Controllers; /// /// PDF validation operations diff --git a/DocumentOperator.API/Controllers/SwissQrCodeController.cs b/DocumentOperator.API/Controllers/SwissQrCodeController.cs index 4770f9c..f9657a9 100644 --- a/DocumentOperator.API/Controllers/SwissQrCodeController.cs +++ b/DocumentOperator.API/Controllers/SwissQrCodeController.cs @@ -1,10 +1,10 @@ -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.SwissQrCode.Queries; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.SwissQrCode.Queries; +using DocumentService.Domain.Common.Exceptions; using MediatR; using Microsoft.AspNetCore.Mvc; -namespace DocumentOperator.API.Controllers; +namespace DocumentService.API.Controllers; /// /// Swiss QR Code extraction operations diff --git a/DocumentOperator.API/Controllers/ZugferdController.cs b/DocumentOperator.API/Controllers/ZugferdController.cs index bcaabb6..f44e908 100644 --- a/DocumentOperator.API/Controllers/ZugferdController.cs +++ b/DocumentOperator.API/Controllers/ZugferdController.cs @@ -1,12 +1,12 @@ -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.ExtractZugferd; -using DocumentOperator.Application.HasZugferd.Queries; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.ExtractZugferd; +using DocumentService.Application.HasZugferd.Queries; +using DocumentService.Domain.Common.Exceptions; using MediatR; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; -namespace DocumentOperator.API.Controllers; +namespace DocumentService.API.Controllers; /// /// Controller for ZUGFeRD operations (detection, extraction) diff --git a/DocumentOperator.API/DocumentOperator.API.http b/DocumentOperator.API/DocumentOperator.API.http deleted file mode 100644 index 38f5653..0000000 --- a/DocumentOperator.API/DocumentOperator.API.http +++ /dev/null @@ -1,6 +0,0 @@ -@DocumentOperator.API_HostAddress = http://localhost:5028 - -GET {{DocumentOperator.API_HostAddress}}/weatherforecast/ -Accept: application/json - -### diff --git a/DocumentOperator.API/DocumentService.API.http b/DocumentOperator.API/DocumentService.API.http new file mode 100644 index 0000000..29ccdb3 --- /dev/null +++ b/DocumentOperator.API/DocumentService.API.http @@ -0,0 +1,6 @@ +@DocumentService.API_HostAddress = http://localhost:5028 + +GET {{DocumentService.API_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/DocumentOperator.API/Middleware/ExceptionHandlingMiddleware.cs b/DocumentOperator.API/Middleware/ExceptionHandlingMiddleware.cs index 765bb7f..c853b82 100644 --- a/DocumentOperator.API/Middleware/ExceptionHandlingMiddleware.cs +++ b/DocumentOperator.API/Middleware/ExceptionHandlingMiddleware.cs @@ -1,10 +1,10 @@ -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Domain.Common.Exceptions; using FluentValidation; using Microsoft.AspNetCore.Mvc; using System.Net; using System.Text.Json; -namespace DocumentOperator.API.Middleware; +namespace DocumentService.API.Middleware; /// /// Central exception handling middleware diff --git a/DocumentOperator.API/Middleware/RequestLoggingMiddleware.cs b/DocumentOperator.API/Middleware/RequestLoggingMiddleware.cs index 5f8d554..d4c6e2e 100644 --- a/DocumentOperator.API/Middleware/RequestLoggingMiddleware.cs +++ b/DocumentOperator.API/Middleware/RequestLoggingMiddleware.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.API.Middleware +namespace DocumentService.API.Middleware { /// /// Placeholder middleware for HTTP request/response logging. diff --git a/DocumentOperator.API/Middleware/TenantResolutionMiddleware.cs b/DocumentOperator.API/Middleware/TenantResolutionMiddleware.cs index 0a6f820..dc9f20e 100644 --- a/DocumentOperator.API/Middleware/TenantResolutionMiddleware.cs +++ b/DocumentOperator.API/Middleware/TenantResolutionMiddleware.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.API.Middleware +namespace DocumentService.API.Middleware { /// /// Placeholder middleware for multi-tenancy resolution via X-API-Key header. diff --git a/DocumentOperator.API/PHASENPLAN.md b/DocumentOperator.API/PHASENPLAN.md index d8dda70..9bae07b 100644 --- a/DocumentOperator.API/PHASENPLAN.md +++ b/DocumentOperator.API/PHASENPLAN.md @@ -1,4 +1,4 @@ -# ?? DocumentOperator - Phasenplan (Feature-Driven Development) +# ?? DocumentService - Phasenplan (Feature-Driven Development) > **Stand:** 17.01.2025 | **Aktuell:** Feature 3 - ExtractAttachments ? NEXT | **Projektdauer:** 6 Wochen @@ -132,7 +132,7 @@ - ? XML Comments aktiviert 2. **XML-Dokumentation aktiviert** - - ? `API/DocumentOperator.API.csproj` + - ? `API/DocumentService.API.csproj` - ? `true` 3. **Endpoint Dokumentation** @@ -146,12 +146,12 @@ 5. **Program.cs Updates** - ? `builder.Services.AddSwaggerDocumentation()` statt `AddSwaggerGen()` - - ? `using DocumentOperator.API.Configuration;` hinzugefügt + - ? `using DocumentService.API.Configuration;` hinzugefügt **Akzeptanzkriterien:** - ? Build erfolgreich - ? Alle Tests grün (11/11) -- ? XML-Dokumentation wird generiert (`DocumentOperator.API.xml`) +- ? XML-Dokumentation wird generiert (`DocumentService.API.xml`) - ? Swagger UI zeigt Endpoint `/api/v1/documents/validate` mit Dokumentation - ? Request/Response-Schemas sind dokumentiert - ? Endpoint ist im Swagger UI testbar diff --git a/DocumentOperator.API/Program.cs b/DocumentOperator.API/Program.cs index 204d052..cbd09dd 100644 --- a/DocumentOperator.API/Program.cs +++ b/DocumentOperator.API/Program.cs @@ -3,12 +3,12 @@ using Serilog.Ui.Core.Extensions; using Serilog.Ui.SqliteDataProvider.Extensions; using Serilog.Ui.Web.Extensions; using Scalar.AspNetCore; -using DocumentOperator.Infrastructure.Configuration; -using DocumentOperator.Application; -using DocumentOperator.Application.Common.Configuration; -using DocumentOperator.Infrastructure; -using DocumentOperator.API.Middleware; -using DocumentOperator.API.Configuration; +using DocumentService.Infrastructure.Configuration; +using DocumentService.Application; +using DocumentService.Application.Common.Configuration; +using DocumentService.Infrastructure; +using DocumentService.API.Middleware; +using DocumentService.API.Configuration; var builder = WebApplication.CreateBuilder(args); @@ -18,20 +18,20 @@ var builder = WebApplication.CreateBuilder(args); Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(builder.Configuration) .Enrich.FromLogContext() - .Enrich.WithProperty("Application", "DocumentOperator") + .Enrich.WithProperty("Application", "DocumentService") .CreateLogger(); builder.Host.UseSerilog(); -Log.Information("Starting DocumentOperator API..."); +Log.Information("Starting DocumentService API..."); try { // ======================================== // 2. Options Pattern Configuration // ======================================== - builder.Services.Configure( - builder.Configuration.GetSection(DocumentOperatorSettings.SectionName)); + builder.Services.Configure( + builder.Configuration.GetSection(DocumentServiceSettings.SectionName)); builder.Services.Configure( builder.Configuration.GetSection("ZugferdSettings")); @@ -125,7 +125,7 @@ try // ======================================== app.MapControllers(); // Maps all [ApiController] controllers - Log.Information("DocumentOperator API started successfully"); + Log.Information("DocumentService API started successfully"); app.Run(); } @@ -141,7 +141,7 @@ finally // Make Program class accessible for Integration Tests /// -/// Entry point class for the DocumentOperator API. +/// Entry point class for the DocumentService API. /// Made partial and public for integration test access. /// public partial class Program { } \ No newline at end of file diff --git a/DocumentOperator.API/Properties/PublishProfiles/IISProfile.pubxml b/DocumentOperator.API/Properties/PublishProfiles/IISProfile.pubxml index e09c785..3b4f40a 100644 --- a/DocumentOperator.API/Properties/PublishProfiles/IISProfile.pubxml +++ b/DocumentOperator.API/Properties/PublishProfiles/IISProfile.pubxml @@ -9,9 +9,9 @@ true false c60bc965-d293-ea64-b153-1941f0648df4 - M:\App&Service\0 DD - Smart UP\DocumentOperator\PreRelease\API\net8\$(Version)\DocumentOperator.API.zip + M:\App&Service\0 DD - Smart UP\DocumentService\PreRelease\API\net8\$(Version)\DocumentService.API.zip true - DocumentOperator.API + DocumentService.API <_TargetId>IISWebDeployPackage net8.0 diff --git a/DocumentOperator.API/README.md b/DocumentOperator.API/README.md index 9ec5dea..d759af9 100644 --- a/DocumentOperator.API/README.md +++ b/DocumentOperator.API/README.md @@ -1,6 +1,6 @@ -# DocumentOperator API - Manual Testing Guide +# DocumentService API - Manual Testing Guide -This guide contains manual test scenarios for validating the DocumentOperator API endpoints using Swagger UI or tools like Postman. +This guide contains manual test scenarios for validating the DocumentService API endpoints using Swagger UI or tools like Postman. --- @@ -8,7 +8,7 @@ This guide contains manual test scenarios for validating the DocumentOperator AP 1. **Start the API:** ```powershell - dotnet run --project DocumentOperator.API + dotnet run --project DocumentService.API ``` Default URL: `https://localhost:5001` (check console output for actual port) diff --git a/DocumentOperator.API/appsettings.Development.json b/DocumentOperator.API/appsettings.Development.json index 8901322..1b92cc0 100644 --- a/DocumentOperator.API/appsettings.Development.json +++ b/DocumentOperator.API/appsettings.Development.json @@ -5,8 +5,8 @@ } }, - "DocumentOperatorSettings": { - "TempFolderPath": "C:\\Temp\\DocumentOperator\\Dev", + "DocumentServiceSettings": { + "TempFolderPath": "C:\\Temp\\DocumentService\\Dev", "EnableDetailedLogging": true }, diff --git a/DocumentOperator.API/appsettings.json b/DocumentOperator.API/appsettings.json index 8d6ba3d..a1ed19b 100644 --- a/DocumentOperator.API/appsettings.json +++ b/DocumentOperator.API/appsettings.json @@ -8,12 +8,12 @@ "AllowedHosts": "*", "Application": { - "LogDirectory": "E:\\LogFiles\\Digital Data\\DocumentOperator.API" + "LogDirectory": "E:\\LogFiles\\Digital Data\\DocumentService.API" }, "SwaggerSettings": { "EnableInProduction": true, - "Title": "DocumentOperator API", + "Title": "DocumentService API", "Version": "v1", "Description": "PDF document processing service using DevExpress" }, @@ -45,7 +45,7 @@ { "Name": "SQLite", "Args": { - "sqliteDbPath": "E:\\LogFiles\\Digital Data\\DocumentOperator.API\\logs.db", + "sqliteDbPath": "E:\\LogFiles\\Digital Data\\DocumentService.API\\logs.db", "tableName": "Logs", "storeTimestampInUtc": true } @@ -54,8 +54,8 @@ "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ] }, - "DocumentOperatorSettings": { - "TempFolderPath": "C:\\Temp\\DocumentOperator", + "DocumentServiceSettings": { + "TempFolderPath": "C:\\Temp\\DocumentService", "TempFileRetentionHours": 24, "MaxPdfSizeMB": 50, "EnableDetailedLogging": true @@ -79,7 +79,7 @@ "RedisSettings": { "ConnectionString": "localhost:6379", - "InstanceName": "DocumentOperator:", + "InstanceName": "DocumentService:", "CacheExpirationMinutes": 60 }, diff --git a/DocumentOperator.Application/AddAnnotation/AddAnnotationCommand.cs b/DocumentOperator.Application/AddAnnotation/AddAnnotationCommand.cs index a11332e..77410f5 100644 --- a/DocumentOperator.Application/AddAnnotation/AddAnnotationCommand.cs +++ b/DocumentOperator.Application/AddAnnotation/AddAnnotationCommand.cs @@ -1,9 +1,9 @@ -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Domain.Models.ValueObjects; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Domain.Models.ValueObjects; using FluentValidation; using MediatR; -namespace DocumentOperator.Application.AddAnnotation; +namespace DocumentService.Application.AddAnnotation; /// /// Command to add an annotation to a PDF document. diff --git a/DocumentOperator.Application/AddAttachments/AddAttachmentsCommand.cs b/DocumentOperator.Application/AddAttachments/AddAttachmentsCommand.cs index 604d909..5a4b1b1 100644 --- a/DocumentOperator.Application/AddAttachments/AddAttachmentsCommand.cs +++ b/DocumentOperator.Application/AddAttachments/AddAttachmentsCommand.cs @@ -1,8 +1,8 @@ -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.Interfaces; using FluentValidation; using MediatR; -namespace DocumentOperator.Application.AddAttachments; +namespace DocumentService.Application.AddAttachments; /// /// Command to add one or more attachments to a PDF document (supports PDF/A-3) diff --git a/DocumentOperator.Application/AddStamp/AddStampCommand.cs b/DocumentOperator.Application/AddStamp/AddStampCommand.cs index 9352298..4d4ec0f 100644 --- a/DocumentOperator.Application/AddStamp/AddStampCommand.cs +++ b/DocumentOperator.Application/AddStamp/AddStampCommand.cs @@ -1,7 +1,7 @@ using FluentValidation; using MediatR; -namespace DocumentOperator.Application.AddStamp; +namespace DocumentService.Application.AddStamp; /// /// Command to add a stamp (text, image, or predefined) to PDF pages. diff --git a/DocumentOperator.Application/CheckPdfAttachments/Queries/CheckPdfAttachmentsQuery.cs b/DocumentOperator.Application/CheckPdfAttachments/Queries/CheckPdfAttachmentsQuery.cs index 6cefd9b..8cd9d2f 100644 --- a/DocumentOperator.Application/CheckPdfAttachments/Queries/CheckPdfAttachmentsQuery.cs +++ b/DocumentOperator.Application/CheckPdfAttachments/Queries/CheckPdfAttachmentsQuery.cs @@ -1,9 +1,9 @@ using AutoMapper; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; using MediatR; -namespace DocumentOperator.Application.CheckPdfAttachments.Queries; +namespace DocumentService.Application.CheckPdfAttachments.Queries; /// /// Query for checking PDF attachments (Stream-based) diff --git a/DocumentOperator.Application/CheckPdfAttachments/Queries/CheckPdfAttachmentsQueryValidator.cs b/DocumentOperator.Application/CheckPdfAttachments/Queries/CheckPdfAttachmentsQueryValidator.cs index a075f76..00995e0 100644 --- a/DocumentOperator.Application/CheckPdfAttachments/Queries/CheckPdfAttachmentsQueryValidator.cs +++ b/DocumentOperator.Application/CheckPdfAttachments/Queries/CheckPdfAttachmentsQueryValidator.cs @@ -1,6 +1,6 @@ using FluentValidation; -namespace DocumentOperator.Application.CheckPdfAttachments.Queries; +namespace DocumentService.Application.CheckPdfAttachments.Queries; /// /// Validator for CheckPdfAttachmentsQuery diff --git a/DocumentOperator.Application/Common/Behaviors/LoggingBehavior.cs b/DocumentOperator.Application/Common/Behaviors/LoggingBehavior.cs index 7e2b998..fe68a4b 100644 --- a/DocumentOperator.Application/Common/Behaviors/LoggingBehavior.cs +++ b/DocumentOperator.Application/Common/Behaviors/LoggingBehavior.cs @@ -2,7 +2,7 @@ using MediatR; using Microsoft.Extensions.Logging; using System.Diagnostics; -namespace DocumentOperator.Application.Common.Behaviors; +namespace DocumentService.Application.Common.Behaviors; /// /// MediatR Pipeline Behavior that logs requests and tracks performance diff --git a/DocumentOperator.Application/Common/Behaviors/ValidationBehavior.cs b/DocumentOperator.Application/Common/Behaviors/ValidationBehavior.cs index c853ab0..82b8109 100644 --- a/DocumentOperator.Application/Common/Behaviors/ValidationBehavior.cs +++ b/DocumentOperator.Application/Common/Behaviors/ValidationBehavior.cs @@ -1,7 +1,7 @@ using FluentValidation; using MediatR; -namespace DocumentOperator.Application.Common.Behaviors; +namespace DocumentService.Application.Common.Behaviors; /// /// MediatR Pipeline Behavior that validates requests using FluentValidation diff --git a/DocumentOperator.Application/Common/Configuration/ZugferdSettings.cs b/DocumentOperator.Application/Common/Configuration/ZugferdSettings.cs index 1207eaf..d3dd088 100644 --- a/DocumentOperator.Application/Common/Configuration/ZugferdSettings.cs +++ b/DocumentOperator.Application/Common/Configuration/ZugferdSettings.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.Configuration; +namespace DocumentService.Application.Common.Configuration; /// /// Configuration settings for ZUGFeRD/Factur-X/XRechnung detection diff --git a/DocumentOperator.Application/Common/DTOs/AttachmentCheckResult.cs b/DocumentOperator.Application/Common/DTOs/AttachmentCheckResult.cs index 8a9b57e..a3e0235 100644 --- a/DocumentOperator.Application/Common/DTOs/AttachmentCheckResult.cs +++ b/DocumentOperator.Application/Common/DTOs/AttachmentCheckResult.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// DTO for attachment check result returned to API layer diff --git a/DocumentOperator.Application/Common/DTOs/AttachmentInfo.cs b/DocumentOperator.Application/Common/DTOs/AttachmentInfo.cs index afc9a21..2dc8791 100644 --- a/DocumentOperator.Application/Common/DTOs/AttachmentInfo.cs +++ b/DocumentOperator.Application/Common/DTOs/AttachmentInfo.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// Represents complete attachment information for a PDF document. diff --git a/DocumentOperator.Application/Common/DTOs/AttachmentMetadata.cs b/DocumentOperator.Application/Common/DTOs/AttachmentMetadata.cs index 503c135..9b0c924 100644 --- a/DocumentOperator.Application/Common/DTOs/AttachmentMetadata.cs +++ b/DocumentOperator.Application/Common/DTOs/AttachmentMetadata.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// Represents metadata of a single PDF attachment (embedded file). diff --git a/DocumentOperator.Application/Common/DTOs/PdfAMetadata.cs b/DocumentOperator.Application/Common/DTOs/PdfAMetadata.cs index 6f7a7d6..1b2c3ea 100644 --- a/DocumentOperator.Application/Common/DTOs/PdfAMetadata.cs +++ b/DocumentOperator.Application/Common/DTOs/PdfAMetadata.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// PDF/A validation metadata including conformance level and validation errors/warnings diff --git a/DocumentOperator.Application/Common/DTOs/PdfAValidationResult.cs b/DocumentOperator.Application/Common/DTOs/PdfAValidationResult.cs index 0c381c0..05c62de 100644 --- a/DocumentOperator.Application/Common/DTOs/PdfAValidationResult.cs +++ b/DocumentOperator.Application/Common/DTOs/PdfAValidationResult.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// PDF/A validation result including conformance level and validation errors/warnings diff --git a/DocumentOperator.Application/Common/DTOs/PdfMetadata.cs b/DocumentOperator.Application/Common/DTOs/PdfMetadata.cs index b9a93e5..7f3ebfc 100644 --- a/DocumentOperator.Application/Common/DTOs/PdfMetadata.cs +++ b/DocumentOperator.Application/Common/DTOs/PdfMetadata.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; public sealed class PdfMetadata( int pageCount, diff --git a/DocumentOperator.Application/Common/DTOs/PdfValidationResult.cs b/DocumentOperator.Application/Common/DTOs/PdfValidationResult.cs index 5b977aa..1a4f330 100644 --- a/DocumentOperator.Application/Common/DTOs/PdfValidationResult.cs +++ b/DocumentOperator.Application/Common/DTOs/PdfValidationResult.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// Response mit PDF-Metadaten diff --git a/DocumentOperator.Application/Common/DTOs/SwissQrBillDto.cs b/DocumentOperator.Application/Common/DTOs/SwissQrBillDto.cs index 3f39430..47bb4ae 100644 --- a/DocumentOperator.Application/Common/DTOs/SwissQrBillDto.cs +++ b/DocumentOperator.Application/Common/DTOs/SwissQrBillDto.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// Swiss QR Bill data transfer object (mapped from Codecrete Bill) diff --git a/DocumentOperator.Application/Common/DTOs/SwissQrCodeExtractionResult.cs b/DocumentOperator.Application/Common/DTOs/SwissQrCodeExtractionResult.cs index c0f9738..ff6e7ab 100644 --- a/DocumentOperator.Application/Common/DTOs/SwissQrCodeExtractionResult.cs +++ b/DocumentOperator.Application/Common/DTOs/SwissQrCodeExtractionResult.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// Response containing extracted Swiss QR Code in dual format. diff --git a/DocumentOperator.Application/Common/DTOs/ZugferdCheckResult.cs b/DocumentOperator.Application/Common/DTOs/ZugferdCheckResult.cs index b5d3a98..fadf303 100644 --- a/DocumentOperator.Application/Common/DTOs/ZugferdCheckResult.cs +++ b/DocumentOperator.Application/Common/DTOs/ZugferdCheckResult.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Application.Common.DTOs; +namespace DocumentService.Application.Common.DTOs; /// /// DTO for ZUGFeRD check result diff --git a/DocumentOperator.Application/Common/Interfaces/IPdfProcessor.cs b/DocumentOperator.Application/Common/Interfaces/IPdfProcessor.cs index e1c23da..f66644d 100644 --- a/DocumentOperator.Application/Common/Interfaces/IPdfProcessor.cs +++ b/DocumentOperator.Application/Common/Interfaces/IPdfProcessor.cs @@ -1,6 +1,6 @@ -using DocumentOperator.Application.Common.DTOs; +using DocumentService.Application.Common.DTOs; -namespace DocumentOperator.Application.Common.Interfaces; +namespace DocumentService.Application.Common.Interfaces; public interface IPdfProcessor { diff --git a/DocumentOperator.Application/Common/Interfaces/ISwissQrCodeProcessor.cs b/DocumentOperator.Application/Common/Interfaces/ISwissQrCodeProcessor.cs index 3d95887..20885d2 100644 --- a/DocumentOperator.Application/Common/Interfaces/ISwissQrCodeProcessor.cs +++ b/DocumentOperator.Application/Common/Interfaces/ISwissQrCodeProcessor.cs @@ -1,6 +1,6 @@ using Codecrete.SwissQRBill.Generator; -namespace DocumentOperator.Application.Common.Interfaces; +namespace DocumentService.Application.Common.Interfaces; /// /// Interface for Swiss QR Code processing operations. diff --git a/DocumentOperator.Application/Common/Mapping/MappingProfile.cs b/DocumentOperator.Application/Common/Mapping/MappingProfile.cs index 7203e27..97fb0eb 100644 --- a/DocumentOperator.Application/Common/Mapping/MappingProfile.cs +++ b/DocumentOperator.Application/Common/Mapping/MappingProfile.cs @@ -1,9 +1,9 @@ using AutoMapper; using Codecrete.SwissQRBill.Generator; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Domain.Models.ValueObjects; +using DocumentService.Application.Common.DTOs; +using DocumentService.Domain.Models.ValueObjects; -namespace DocumentOperator.Application.Common.Mapping; +namespace DocumentService.Application.Common.Mapping; /// /// AutoMapper profile for mapping domain entities and external models to DTOs. diff --git a/DocumentOperator.Application/ConvertFromPdfA/ConvertFromPdfACommand.cs b/DocumentOperator.Application/ConvertFromPdfA/ConvertFromPdfACommand.cs index 1ccfb2c..e17e883 100644 --- a/DocumentOperator.Application/ConvertFromPdfA/ConvertFromPdfACommand.cs +++ b/DocumentOperator.Application/ConvertFromPdfA/ConvertFromPdfACommand.cs @@ -1,8 +1,8 @@ -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.Interfaces; using FluentValidation; using MediatR; -namespace DocumentOperator.Application.ConvertFromPdfA; +namespace DocumentService.Application.ConvertFromPdfA; /// /// Command to convert a PDF/A document to a standard PDF (removes PDF/A restrictions) diff --git a/DocumentOperator.Application/ConvertToPdfA/ConvertToPdfACommand.cs b/DocumentOperator.Application/ConvertToPdfA/ConvertToPdfACommand.cs index 4d4e533..08a5c64 100644 --- a/DocumentOperator.Application/ConvertToPdfA/ConvertToPdfACommand.cs +++ b/DocumentOperator.Application/ConvertToPdfA/ConvertToPdfACommand.cs @@ -1,8 +1,8 @@ -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.Interfaces; using FluentValidation; using MediatR; -namespace DocumentOperator.Application.ConvertToPdfA; +namespace DocumentService.Application.ConvertToPdfA; /// /// Command to convert a standard PDF to PDF/A format diff --git a/DocumentOperator.Application/DependencyInjection.cs b/DocumentOperator.Application/DependencyInjection.cs index 5f59e2a..5573c16 100644 --- a/DocumentOperator.Application/DependencyInjection.cs +++ b/DocumentOperator.Application/DependencyInjection.cs @@ -2,7 +2,7 @@ using FluentValidation; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -namespace DocumentOperator.Application; +namespace DocumentService.Application; /// /// Dependency Injection configuration for Application Layer diff --git a/DocumentOperator.Application/ExtractPdfAttachments/ExtractPdfAttachmentsCommand.cs b/DocumentOperator.Application/ExtractPdfAttachments/ExtractPdfAttachmentsCommand.cs index 7572e37..7ba5e06 100644 --- a/DocumentOperator.Application/ExtractPdfAttachments/ExtractPdfAttachmentsCommand.cs +++ b/DocumentOperator.Application/ExtractPdfAttachments/ExtractPdfAttachmentsCommand.cs @@ -1,8 +1,8 @@ -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.Interfaces; using FluentValidation; using MediatR; -namespace DocumentOperator.Application.ExtractPdfAttachments; +namespace DocumentService.Application.ExtractPdfAttachments; /// /// Command to extract all embedded files from a PDF document and return as ZIP archive. diff --git a/DocumentOperator.Application/ExtractZugferd/ExtractZugferdCommand.cs b/DocumentOperator.Application/ExtractZugferd/ExtractZugferdCommand.cs index dc85f0a..ae5de70 100644 --- a/DocumentOperator.Application/ExtractZugferd/ExtractZugferdCommand.cs +++ b/DocumentOperator.Application/ExtractZugferd/ExtractZugferdCommand.cs @@ -1,11 +1,11 @@ -using DocumentOperator.Application.Common.Configuration; -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.Common.Configuration; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Domain.Common.Exceptions; using FluentValidation; using MediatR; using Microsoft.Extensions.Options; -namespace DocumentOperator.Application.ExtractZugferd; +namespace DocumentService.Application.ExtractZugferd; /// /// Command to extract ZUGFeRD XML from a PDF document diff --git a/DocumentOperator.Application/HasZugferd/Queries/HasZugferdQuery.cs b/DocumentOperator.Application/HasZugferd/Queries/HasZugferdQuery.cs index c7c1c31..021e976 100644 --- a/DocumentOperator.Application/HasZugferd/Queries/HasZugferdQuery.cs +++ b/DocumentOperator.Application/HasZugferd/Queries/HasZugferdQuery.cs @@ -1,10 +1,10 @@ -using DocumentOperator.Application.Common.Configuration; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.Configuration; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; using MediatR; using Microsoft.Extensions.Options; -namespace DocumentOperator.Application.HasZugferd.Queries; +namespace DocumentService.Application.HasZugferd.Queries; /// /// Query for checking if PDF contains ZUGFeRD XML attachment diff --git a/DocumentOperator.Application/HasZugferd/Queries/HasZugferdQueryValidator.cs b/DocumentOperator.Application/HasZugferd/Queries/HasZugferdQueryValidator.cs index 04ee98b..31f5c19 100644 --- a/DocumentOperator.Application/HasZugferd/Queries/HasZugferdQueryValidator.cs +++ b/DocumentOperator.Application/HasZugferd/Queries/HasZugferdQueryValidator.cs @@ -1,6 +1,6 @@ using FluentValidation; -namespace DocumentOperator.Application.HasZugferd.Queries; +namespace DocumentService.Application.HasZugferd.Queries; /// /// Validator for HasZugferdQuery diff --git a/DocumentOperator.Application/MergePdfs/MergePdfsCommand.cs b/DocumentOperator.Application/MergePdfs/MergePdfsCommand.cs index 77c8f75..934fda6 100644 --- a/DocumentOperator.Application/MergePdfs/MergePdfsCommand.cs +++ b/DocumentOperator.Application/MergePdfs/MergePdfsCommand.cs @@ -1,8 +1,8 @@ -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.Interfaces; using FluentValidation; using MediatR; -namespace DocumentOperator.Application.MergePdfs; +namespace DocumentService.Application.MergePdfs; /// /// Command to merge multiple PDF documents into a single PDF. diff --git a/DocumentOperator.Application/SwissQrCode/Queries/ExtractSwissQrCodeQuery.cs b/DocumentOperator.Application/SwissQrCode/Queries/ExtractSwissQrCodeQuery.cs index b0992d6..4f8f00e 100644 --- a/DocumentOperator.Application/SwissQrCode/Queries/ExtractSwissQrCodeQuery.cs +++ b/DocumentOperator.Application/SwissQrCode/Queries/ExtractSwissQrCodeQuery.cs @@ -1,9 +1,9 @@ using AutoMapper; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; using MediatR; -namespace DocumentOperator.Application.SwissQrCode.Queries; +namespace DocumentService.Application.SwissQrCode.Queries; /// /// Query for extracting Swiss QR Code from PDF (Stream-based) diff --git a/DocumentOperator.Application/SwissQrCode/Queries/ExtractSwissQrCodeQueryValidator.cs b/DocumentOperator.Application/SwissQrCode/Queries/ExtractSwissQrCodeQueryValidator.cs index f7246ee..0739a35 100644 --- a/DocumentOperator.Application/SwissQrCode/Queries/ExtractSwissQrCodeQueryValidator.cs +++ b/DocumentOperator.Application/SwissQrCode/Queries/ExtractSwissQrCodeQueryValidator.cs @@ -1,7 +1,7 @@ -using DocumentOperator.Application.SwissQrCode.Queries; +using DocumentService.Application.SwissQrCode.Queries; using FluentValidation; -namespace DocumentOperator.Application.SwissQrCode.Queries; +namespace DocumentService.Application.SwissQrCode.Queries; /// /// Validates ExtractSwissQrCodeQuery before handler execution. diff --git a/DocumentOperator.Application/ValidatePdf/Queries/ValidatePdfQuery.cs b/DocumentOperator.Application/ValidatePdf/Queries/ValidatePdfQuery.cs index 453ebac..22e8935 100644 --- a/DocumentOperator.Application/ValidatePdf/Queries/ValidatePdfQuery.cs +++ b/DocumentOperator.Application/ValidatePdf/Queries/ValidatePdfQuery.cs @@ -1,9 +1,9 @@ using AutoMapper; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; using MediatR; -namespace DocumentOperator.Application.ValidatePdf.Queries; +namespace DocumentService.Application.ValidatePdf.Queries; /// /// Query for PDF validation (Stream-based) diff --git a/DocumentOperator.Application/ValidatePdf/Queries/ValidatePdfQueryValidator.cs b/DocumentOperator.Application/ValidatePdf/Queries/ValidatePdfQueryValidator.cs index 4a1dfa8..fbe2f5e 100644 --- a/DocumentOperator.Application/ValidatePdf/Queries/ValidatePdfQueryValidator.cs +++ b/DocumentOperator.Application/ValidatePdf/Queries/ValidatePdfQueryValidator.cs @@ -1,7 +1,7 @@ -using DocumentOperator.Application.ValidatePdf.Queries; +using DocumentService.Application.ValidatePdf.Queries; using FluentValidation; -namespace DocumentOperator.Application.ValidatePdf.Queries; +namespace DocumentService.Application.ValidatePdf.Queries; /// /// Validator for ValidatePdfQuery diff --git a/DocumentOperator.Application/ValidatePdfA/Queries/ValidatePdfAQuery.cs b/DocumentOperator.Application/ValidatePdfA/Queries/ValidatePdfAQuery.cs index 6a23273..002d905 100644 --- a/DocumentOperator.Application/ValidatePdfA/Queries/ValidatePdfAQuery.cs +++ b/DocumentOperator.Application/ValidatePdfA/Queries/ValidatePdfAQuery.cs @@ -1,9 +1,9 @@ using AutoMapper; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; using MediatR; -namespace DocumentOperator.Application.ValidatePdfA.Queries; +namespace DocumentService.Application.ValidatePdfA.Queries; /// /// Query for PDF/A validation (Stream-based) diff --git a/DocumentOperator.Application/ValidatePdfA/Validators/ValidatePdfAQueryValidator.cs b/DocumentOperator.Application/ValidatePdfA/Validators/ValidatePdfAQueryValidator.cs index 67277ed..0352370 100644 --- a/DocumentOperator.Application/ValidatePdfA/Validators/ValidatePdfAQueryValidator.cs +++ b/DocumentOperator.Application/ValidatePdfA/Validators/ValidatePdfAQueryValidator.cs @@ -1,6 +1,6 @@ using FluentValidation; -namespace DocumentOperator.Application.ValidatePdfA.Validators; +namespace DocumentService.Application.ValidatePdfA.Validators; /// /// Validator for ValidatePdfAQuery diff --git a/DocumentOperator.Domain/Common/Exceptions/BadRequestException.cs b/DocumentOperator.Domain/Common/Exceptions/BadRequestException.cs index 7fb8f12..53e9591 100644 --- a/DocumentOperator.Domain/Common/Exceptions/BadRequestException.cs +++ b/DocumentOperator.Domain/Common/Exceptions/BadRequestException.cs @@ -5,7 +5,7 @@ using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; -namespace DocumentOperator.Domain.Common.Exceptions; +namespace DocumentService.Domain.Common.Exceptions; public class BadRequestException : Exception { diff --git a/DocumentOperator.Domain/Common/Exceptions/DomainException.cs b/DocumentOperator.Domain/Common/Exceptions/DomainException.cs index c53ef04..ed208f8 100644 --- a/DocumentOperator.Domain/Common/Exceptions/DomainException.cs +++ b/DocumentOperator.Domain/Common/Exceptions/DomainException.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Common.Exceptions; +namespace DocumentService.Domain.Common.Exceptions; /// /// Base exception for all domain-related exceptions. diff --git a/DocumentOperator.Domain/Common/Exceptions/DomainValidationException.cs b/DocumentOperator.Domain/Common/Exceptions/DomainValidationException.cs index 847f6ef..ed3830c 100644 --- a/DocumentOperator.Domain/Common/Exceptions/DomainValidationException.cs +++ b/DocumentOperator.Domain/Common/Exceptions/DomainValidationException.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Common.Exceptions; +namespace DocumentService.Domain.Common.Exceptions; /// /// Exception thrown when domain validation fails (e.g., invalid Value Objects). diff --git a/DocumentOperator.Domain/Common/Exceptions/NotFoundException.cs b/DocumentOperator.Domain/Common/Exceptions/NotFoundException.cs index 254b3b1..930b528 100644 --- a/DocumentOperator.Domain/Common/Exceptions/NotFoundException.cs +++ b/DocumentOperator.Domain/Common/Exceptions/NotFoundException.cs @@ -1,6 +1,6 @@ using System.Runtime.Serialization; -namespace DocumentOperator.Domain.Common.Exceptions; +namespace DocumentService.Domain.Common.Exceptions; /// /// Exception thrown when a requested resource is not found. diff --git a/DocumentOperator.Domain/Models/ValueObjects/AnnotationOrigin.cs b/DocumentOperator.Domain/Models/ValueObjects/AnnotationOrigin.cs index 3ed0773..0e51731 100644 --- a/DocumentOperator.Domain/Models/ValueObjects/AnnotationOrigin.cs +++ b/DocumentOperator.Domain/Models/ValueObjects/AnnotationOrigin.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Models.ValueObjects; +namespace DocumentService.Domain.Models.ValueObjects; /// /// Coordinate origin point for PDF annotations. diff --git a/DocumentOperator.Domain/Models/ValueObjects/AnnotationType.cs b/DocumentOperator.Domain/Models/ValueObjects/AnnotationType.cs index 4ae3a70..911738f 100644 --- a/DocumentOperator.Domain/Models/ValueObjects/AnnotationType.cs +++ b/DocumentOperator.Domain/Models/ValueObjects/AnnotationType.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Models.ValueObjects; +namespace DocumentService.Domain.Models.ValueObjects; /// /// Supported PDF annotation types diff --git a/DocumentOperator.Domain/Models/ValueObjects/PredefinedStampType.cs b/DocumentOperator.Domain/Models/ValueObjects/PredefinedStampType.cs index e564fcd..6f16954 100644 --- a/DocumentOperator.Domain/Models/ValueObjects/PredefinedStampType.cs +++ b/DocumentOperator.Domain/Models/ValueObjects/PredefinedStampType.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Models.ValueObjects; +namespace DocumentService.Domain.Models.ValueObjects; /// /// Predefined stamp types with standard text and styling. diff --git a/DocumentOperator.Domain/Models/ValueObjects/StampPlacement.cs b/DocumentOperator.Domain/Models/ValueObjects/StampPlacement.cs index cc1af26..4ea9615 100644 --- a/DocumentOperator.Domain/Models/ValueObjects/StampPlacement.cs +++ b/DocumentOperator.Domain/Models/ValueObjects/StampPlacement.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Models.ValueObjects; +namespace DocumentService.Domain.Models.ValueObjects; /// /// Specifies whether the stamp should appear in the foreground (on top of content) or background (behind content). diff --git a/DocumentOperator.Domain/Models/ValueObjects/StampType.cs b/DocumentOperator.Domain/Models/ValueObjects/StampType.cs index e54d924..42aef65 100644 --- a/DocumentOperator.Domain/Models/ValueObjects/StampType.cs +++ b/DocumentOperator.Domain/Models/ValueObjects/StampType.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Models.ValueObjects; +namespace DocumentService.Domain.Models.ValueObjects; /// /// Specifies the type of stamp to add to a PDF document. diff --git a/DocumentOperator.Domain/Models/ValueObjects/TenantId.cs b/DocumentOperator.Domain/Models/ValueObjects/TenantId.cs index 42ff202..c692e3b 100644 --- a/DocumentOperator.Domain/Models/ValueObjects/TenantId.cs +++ b/DocumentOperator.Domain/Models/ValueObjects/TenantId.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Models.ValueObjects; +namespace DocumentService.Domain.Models.ValueObjects; public sealed class TenantId { diff --git a/DocumentOperator.Domain/Models/ValueObjects/TextMarkupStyle.cs b/DocumentOperator.Domain/Models/ValueObjects/TextMarkupStyle.cs index 82681e9..954dd71 100644 --- a/DocumentOperator.Domain/Models/ValueObjects/TextMarkupStyle.cs +++ b/DocumentOperator.Domain/Models/ValueObjects/TextMarkupStyle.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Domain.Models.ValueObjects; +namespace DocumentService.Domain.Models.ValueObjects; /// /// Text markup annotation style (highlight, underline, strikeout) diff --git a/DocumentOperator.Infrastructure/Configuration/ApiKeySettings.cs b/DocumentOperator.Infrastructure/Configuration/ApiKeySettings.cs index 0c6ad7b..53b9716 100644 --- a/DocumentOperator.Infrastructure/Configuration/ApiKeySettings.cs +++ b/DocumentOperator.Infrastructure/Configuration/ApiKeySettings.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Infrastructure.Configuration; +namespace DocumentService.Infrastructure.Configuration; public class ApiKeySettings { diff --git a/DocumentOperator.Infrastructure/Configuration/DocumentOperatorSettings.cs b/DocumentOperator.Infrastructure/Configuration/DocumentServiceSettings.cs similarity index 56% rename from DocumentOperator.Infrastructure/Configuration/DocumentOperatorSettings.cs rename to DocumentOperator.Infrastructure/Configuration/DocumentServiceSettings.cs index 8f5811a..fe40c4e 100644 --- a/DocumentOperator.Infrastructure/Configuration/DocumentOperatorSettings.cs +++ b/DocumentOperator.Infrastructure/Configuration/DocumentServiceSettings.cs @@ -1,8 +1,8 @@ -namespace DocumentOperator.Infrastructure.Configuration; +namespace DocumentService.Infrastructure.Configuration; -public class DocumentOperatorSettings +public class DocumentServiceSettings { - public const string SectionName = "DocumentOperatorSettings"; + public const string SectionName = "DocumentServiceSettings"; public string TempFolderPath { get; set; } = string.Empty; public int TempFileRetentionHours { get; set; } diff --git a/DocumentOperator.Infrastructure/Configuration/RedisSettings.cs b/DocumentOperator.Infrastructure/Configuration/RedisSettings.cs index 407ef5f..d4841d9 100644 --- a/DocumentOperator.Infrastructure/Configuration/RedisSettings.cs +++ b/DocumentOperator.Infrastructure/Configuration/RedisSettings.cs @@ -1,10 +1,10 @@ -namespace DocumentOperator.Infrastructure.Configuration; +namespace DocumentService.Infrastructure.Configuration; public class RedisSettings { public const string SectionName = "RedisSettings"; public string ConnectionString { get; set; } = "localhost:6379"; - public string InstanceName { get; set; } = "DocumentOperator:"; + public string InstanceName { get; set; } = "DocumentService:"; public int CacheExpirationMinutes { get; set; } = 60; } \ No newline at end of file diff --git a/DocumentOperator.Infrastructure/Configuration/TenantInfo.cs b/DocumentOperator.Infrastructure/Configuration/TenantInfo.cs index c10c106..367b4d3 100644 --- a/DocumentOperator.Infrastructure/Configuration/TenantInfo.cs +++ b/DocumentOperator.Infrastructure/Configuration/TenantInfo.cs @@ -1,4 +1,4 @@ -namespace DocumentOperator.Infrastructure.Configuration; +namespace DocumentService.Infrastructure.Configuration; public class TenantInfo { diff --git a/DocumentOperator.Infrastructure/DependencyInjection.cs b/DocumentOperator.Infrastructure/DependencyInjection.cs index e48bb13..8be471f 100644 --- a/DocumentOperator.Infrastructure/DependencyInjection.cs +++ b/DocumentOperator.Infrastructure/DependencyInjection.cs @@ -1,9 +1,9 @@ -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Infrastructure.Services.PdfProcessing; -using DocumentOperator.Infrastructure.Services.QrCodeProcessing; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Infrastructure.Services.PdfProcessing; +using DocumentService.Infrastructure.Services.QrCodeProcessing; using Microsoft.Extensions.DependencyInjection; -namespace DocumentOperator.Infrastructure; +namespace DocumentService.Infrastructure; /// /// Dependency Injection configuration for Infrastructure Layer diff --git a/DocumentOperator.Infrastructure/Services/PdfProcessing/DevExpressPdfProcessor.cs b/DocumentOperator.Infrastructure/Services/PdfProcessing/DevExpressPdfProcessor.cs index 80f140c..372b6c3 100644 --- a/DocumentOperator.Infrastructure/Services/PdfProcessing/DevExpressPdfProcessor.cs +++ b/DocumentOperator.Infrastructure/Services/PdfProcessing/DevExpressPdfProcessor.cs @@ -1,11 +1,11 @@ using DevExpress.Pdf; using DevExpress.Drawing; using System.Drawing; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Domain.Common.Exceptions; -namespace DocumentOperator.Infrastructure.Services.PdfProcessing; +namespace DocumentService.Infrastructure.Services.PdfProcessing; /// /// PDF processor implementation using DevExpress.Pdf library. diff --git a/DocumentOperator.Infrastructure/Services/QrCodeProcessing/DevExpressSwissQrCodeProcessor.cs b/DocumentOperator.Infrastructure/Services/QrCodeProcessing/DevExpressSwissQrCodeProcessor.cs index 50fd34f..e308498 100644 --- a/DocumentOperator.Infrastructure/Services/QrCodeProcessing/DevExpressSwissQrCodeProcessor.cs +++ b/DocumentOperator.Infrastructure/Services/QrCodeProcessing/DevExpressSwissQrCodeProcessor.cs @@ -1,13 +1,13 @@ using Codecrete.SwissQRBill.Generator; using DevExpress.Drawing; using DevExpress.Pdf; -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Domain.Common.Exceptions; using SkiaSharp; using SkiaSharp.QrCode; using System.Collections.Concurrent; -namespace DocumentOperator.Infrastructure.Services.QrCodeProcessing; +namespace DocumentService.Infrastructure.Services.QrCodeProcessing; /// /// Swiss QR Code processor using DevExpress PDF API for image extraction, diff --git a/DocumentOperator.Infrastructure/Services/StringExtensions.cs b/DocumentOperator.Infrastructure/Services/StringExtensions.cs index 8e9ef50..5ebc668 100644 --- a/DocumentOperator.Infrastructure/Services/StringExtensions.cs +++ b/DocumentOperator.Infrastructure/Services/StringExtensions.cs @@ -1,6 +1,6 @@ using System.Xml.Serialization; -namespace DocumentOperator.Infrastructure.Services; +namespace DocumentService.Infrastructure.Services; public static class StringExtensions { diff --git a/DocumentOperator.Tests/Integration/API/ExtractSwissQrCodeEndpointTests.cs b/DocumentOperator.Tests/Integration/API/ExtractSwissQrCodeEndpointTests.cs index 385e784..fe87103 100644 --- a/DocumentOperator.Tests/Integration/API/ExtractSwissQrCodeEndpointTests.cs +++ b/DocumentOperator.Tests/Integration/API/ExtractSwissQrCodeEndpointTests.cs @@ -1,5 +1,5 @@ -using DocumentOperator.API.Controllers; // For ExtractSwissQrCodeBase64Request DTO -using DocumentOperator.Application.Common.DTOs; +using DocumentService.API.Controllers; // For ExtractSwissQrCodeBase64Request DTO +using DocumentService.Application.Common.DTOs; using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; using System.Net; @@ -7,7 +7,7 @@ using System.Net.Http.Json; using System.Text.Json; using Xunit; -namespace DocumentOperator.Tests.Integration.API; +namespace DocumentService.Tests.Integration.API; public sealed class ExtractSwissQrCodeEndpointTests : IClassFixture> { @@ -27,7 +27,7 @@ public sealed class ExtractSwissQrCodeEndpointTests : IClassFixture /// Integration tests for PdfAttachmentController. @@ -31,7 +31,7 @@ public class PdfAttachmentControllerTests : IClassFixture LoadTestPdfAsync(string filename) { var assembly = typeof(PdfAttachmentControllerTests).Assembly; - var resourceName = $"DocumentOperator.Tests.TestData.Pdfs.{filename}"; + var resourceName = $"DocumentService.Tests.TestData.Pdfs.{filename}"; using var stream = assembly.GetManifestResourceStream(resourceName); if (stream == null) diff --git a/DocumentOperator.Tests/Integration/API/PdfOperationsControllerTests.cs b/DocumentOperator.Tests/Integration/API/PdfOperationsControllerTests.cs index 6779c5d..3a29c8e 100644 --- a/DocumentOperator.Tests/Integration/API/PdfOperationsControllerTests.cs +++ b/DocumentOperator.Tests/Integration/API/PdfOperationsControllerTests.cs @@ -3,12 +3,12 @@ using System.Net.Http.Headers; using System.Reflection; using System.Text; using System.Text.Json; -using DocumentOperator.API.Controllers; -using DocumentOperator.Domain.Models.ValueObjects; +using DocumentService.API.Controllers; +using DocumentService.Domain.Models.ValueObjects; using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; -namespace DocumentOperator.Tests.Integration.API; +namespace DocumentService.Tests.Integration.API; public class PdfOperationsControllerTests : IClassFixture> { @@ -22,7 +22,7 @@ public class PdfOperationsControllerTests : IClassFixture> { @@ -27,7 +27,7 @@ public class PdfValidationControllerTests : IClassFixture /// Unit tests for CheckPdfAttachmentsQueryHandler. diff --git a/DocumentOperator.Tests/Unit/Application/Features/ValidatePdf/ValidatePdfHandlerTests.cs b/DocumentOperator.Tests/Unit/Application/Features/ValidatePdf/ValidatePdfHandlerTests.cs index 0a3c649..f1b3699 100644 --- a/DocumentOperator.Tests/Unit/Application/Features/ValidatePdf/ValidatePdfHandlerTests.cs +++ b/DocumentOperator.Tests/Unit/Application/Features/ValidatePdf/ValidatePdfHandlerTests.cs @@ -1,13 +1,13 @@ using AutoMapper; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Application.ValidatePdf.Queries; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Application.ValidatePdf.Queries; +using DocumentService.Domain.Common.Exceptions; using FluentAssertions; using Moq; using Xunit; -namespace DocumentOperator.Tests.Unit.Application.Features.ValidatePdf; +namespace DocumentService.Tests.Unit.Application.Features.ValidatePdf; public class ValidatePdfHandlerTests { diff --git a/DocumentOperator.Tests/Unit/Application/Features/ValidatePdfA/ValidatePdfAQueryHandlerTests.cs b/DocumentOperator.Tests/Unit/Application/Features/ValidatePdfA/ValidatePdfAQueryHandlerTests.cs index a880fb8..22d9c8a 100644 --- a/DocumentOperator.Tests/Unit/Application/Features/ValidatePdfA/ValidatePdfAQueryHandlerTests.cs +++ b/DocumentOperator.Tests/Unit/Application/Features/ValidatePdfA/ValidatePdfAQueryHandlerTests.cs @@ -1,14 +1,14 @@ using AutoMapper; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Application.ValidatePdfA.Queries; -using DocumentOperator.Domain.Common.Exceptions; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Application.ValidatePdfA.Queries; +using DocumentService.Domain.Common.Exceptions; using FluentAssertions; using Moq; using Xunit; -namespace DocumentOperator.Tests.Unit.Application.Features.ValidatePdfA; +namespace DocumentService.Tests.Unit.Application.Features.ValidatePdfA; public class ValidatePdfAQueryHandlerTests { diff --git a/DocumentOperator.Tests/Unit/Infrastructure/Services/PdfProcessing/DevExpressPdfProcessorTests.cs b/DocumentOperator.Tests/Unit/Infrastructure/Services/PdfProcessing/DevExpressPdfProcessorTests.cs index c6616b8..d185666 100644 --- a/DocumentOperator.Tests/Unit/Infrastructure/Services/PdfProcessing/DevExpressPdfProcessorTests.cs +++ b/DocumentOperator.Tests/Unit/Infrastructure/Services/PdfProcessing/DevExpressPdfProcessorTests.cs @@ -1,11 +1,11 @@ using System.Reflection; -using DocumentOperator.Application.Common.DTOs; -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Domain.Common.Exceptions; -using DocumentOperator.Infrastructure.Services.PdfProcessing; +using DocumentService.Application.Common.DTOs; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Domain.Common.Exceptions; +using DocumentService.Infrastructure.Services.PdfProcessing; using FluentAssertions; -namespace DocumentOperator.Tests.Unit.Infrastructure.Services.PdfProcessing; +namespace DocumentService.Tests.Unit.Infrastructure.Services.PdfProcessing; /// /// Unit tests for DevExpressPdfProcessor. @@ -31,7 +31,7 @@ public class DevExpressPdfProcessorTests private static byte[] LoadTestPdf(string filename) { var assembly = Assembly.GetExecutingAssembly(); - var resourceName = $"DocumentOperator.Tests.TestData.Pdfs.{filename}"; + var resourceName = $"DocumentService.Tests.TestData.Pdfs.{filename}"; using var stream = assembly.GetManifestResourceStream(resourceName); diff --git a/DocumentOperator.Tests/Unit/Infrastructure/Services/QrCodeProcessing/DevExpressSwissQrCodeProcessorTests.cs b/DocumentOperator.Tests/Unit/Infrastructure/Services/QrCodeProcessing/DevExpressSwissQrCodeProcessorTests.cs index 5966f07..1c8110b 100644 --- a/DocumentOperator.Tests/Unit/Infrastructure/Services/QrCodeProcessing/DevExpressSwissQrCodeProcessorTests.cs +++ b/DocumentOperator.Tests/Unit/Infrastructure/Services/QrCodeProcessing/DevExpressSwissQrCodeProcessorTests.cs @@ -1,10 +1,10 @@ using System.Reflection; -using DocumentOperator.Application.Common.Interfaces; -using DocumentOperator.Domain.Common.Exceptions; -using DocumentOperator.Infrastructure.Services.QrCodeProcessing; +using DocumentService.Application.Common.Interfaces; +using DocumentService.Domain.Common.Exceptions; +using DocumentService.Infrastructure.Services.QrCodeProcessing; using FluentAssertions; -namespace DocumentOperator.Tests.Unit.Infrastructure.Services.QrCodeProcessing; +namespace DocumentService.Tests.Unit.Infrastructure.Services.QrCodeProcessing; /// /// Unit tests for DevExpressSwissQrCodeProcessor. @@ -30,7 +30,7 @@ public class DevExpressSwissQrCodeProcessorTests private static Stream LoadTestPdf(string filename) { var assembly = Assembly.GetExecutingAssembly(); - var resourceName = $"DocumentOperator.Tests.TestData.Pdfs.{filename}"; + var resourceName = $"DocumentService.Tests.TestData.Pdfs.{filename}"; var stream = assembly.GetManifestResourceStream(resourceName); diff --git a/DocumentService.sln b/DocumentService.sln new file mode 100644 index 0000000..c62e00a --- /dev/null +++ b/DocumentService.sln @@ -0,0 +1,85 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.37328.6 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentService.API", "DocumentOperator.API\DocumentService.API.csproj", "{BA41F6A2-EE29-48F9-A3CB-29A05E57CF30}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentService.Application", "DocumentOperator.Application\DocumentService.Application.csproj", "{B2B735FC-5F39-4CFF-9C54-C4F8820880B6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentService.Infrastructure", "DocumentOperator.Infrastructure\DocumentService.Infrastructure.csproj", "{C4CA19A8-8168-453B-B4ED-77E032CFE52E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentService.Domain", "DocumentOperator.Domain\DocumentService.Domain.csproj", "{B4C1C3ED-D3E8-4272-8704-2E73CEA6A0DD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentService.Tests", "DocumentOperator.Tests\DocumentService.Tests.csproj", "{32D2E997-3DA7-4061-8A50-DBB34BBC3E5A}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3F9E8D8E-1234-4567-89AB-CDEF01234567}" + ProjectSection(SolutionItems) = preProject + AGENTS.md = AGENTS.md + CONTROLLER_ENDPOINTS.md = CONTROLLER_ENDPOINTS.md + REQUIRED_FEATURES.md = REQUIRED_FEATURES.md + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fake-pfd", "fake-pfd", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" + ProjectSection(SolutionItems) = preProject + fake-pdf\form.pdf = fake-pdf\form.pdf + fake-pdf\multi-page.pdf = fake-pdf\multi-page.pdf + fake-pdf\one-page.pdf = fake-pdf\one-page.pdf + fake-pdf\with-image.pdf = fake-pdf\with-image.pdf + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "core", "core", "{0B80DDC4-A13C-4C5F-8520-AA2F3650E884}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "presentation", "presentation", "{62E8F4B3-EA49-41D2-8843-0636EB4421BB}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "infrastructure", "infrastructure", "{9BACC18A-5C6D-4678-A43C-A19907AE9CF3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2B18D2F8-40C1-4CA0-99AB-7F98F254FEB8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{D64772B8-6213-4031-8064-2567F1E724F6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BA41F6A2-EE29-48F9-A3CB-29A05E57CF30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BA41F6A2-EE29-48F9-A3CB-29A05E57CF30}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BA41F6A2-EE29-48F9-A3CB-29A05E57CF30}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BA41F6A2-EE29-48F9-A3CB-29A05E57CF30}.Release|Any CPU.Build.0 = Release|Any CPU + {B2B735FC-5F39-4CFF-9C54-C4F8820880B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B2B735FC-5F39-4CFF-9C54-C4F8820880B6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B2B735FC-5F39-4CFF-9C54-C4F8820880B6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B2B735FC-5F39-4CFF-9C54-C4F8820880B6}.Release|Any CPU.Build.0 = Release|Any CPU + {C4CA19A8-8168-453B-B4ED-77E032CFE52E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C4CA19A8-8168-453B-B4ED-77E032CFE52E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C4CA19A8-8168-453B-B4ED-77E032CFE52E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C4CA19A8-8168-453B-B4ED-77E032CFE52E}.Release|Any CPU.Build.0 = Release|Any CPU + {B4C1C3ED-D3E8-4272-8704-2E73CEA6A0DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B4C1C3ED-D3E8-4272-8704-2E73CEA6A0DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B4C1C3ED-D3E8-4272-8704-2E73CEA6A0DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B4C1C3ED-D3E8-4272-8704-2E73CEA6A0DD}.Release|Any CPU.Build.0 = Release|Any CPU + {32D2E997-3DA7-4061-8A50-DBB34BBC3E5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {32D2E997-3DA7-4061-8A50-DBB34BBC3E5A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {32D2E997-3DA7-4061-8A50-DBB34BBC3E5A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {32D2E997-3DA7-4061-8A50-DBB34BBC3E5A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {BA41F6A2-EE29-48F9-A3CB-29A05E57CF30} = {62E8F4B3-EA49-41D2-8843-0636EB4421BB} + {B2B735FC-5F39-4CFF-9C54-C4F8820880B6} = {0B80DDC4-A13C-4C5F-8520-AA2F3650E884} + {C4CA19A8-8168-453B-B4ED-77E032CFE52E} = {9BACC18A-5C6D-4678-A43C-A19907AE9CF3} + {B4C1C3ED-D3E8-4272-8704-2E73CEA6A0DD} = {0B80DDC4-A13C-4C5F-8520-AA2F3650E884} + {32D2E997-3DA7-4061-8A50-DBB34BBC3E5A} = {D64772B8-6213-4031-8064-2567F1E724F6} + {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {3F9E8D8E-1234-4567-89AB-CDEF01234567} + {0B80DDC4-A13C-4C5F-8520-AA2F3650E884} = {2B18D2F8-40C1-4CA0-99AB-7F98F254FEB8} + {62E8F4B3-EA49-41D2-8843-0636EB4421BB} = {2B18D2F8-40C1-4CA0-99AB-7F98F254FEB8} + {9BACC18A-5C6D-4678-A43C-A19907AE9CF3} = {2B18D2F8-40C1-4CA0-99AB-7F98F254FEB8} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {832CA90A-06D6-4312-9B35-16CC665EB37C} + EndGlobalSection +EndGlobal diff --git a/REQUIRED_FEATURES.md b/REQUIRED_FEATURES.md index ad7d0f8..b25f8ef 100644 --- a/REQUIRED_FEATURES.md +++ b/REQUIRED_FEATURES.md @@ -1,4 +1,4 @@ -# DocumentOperator - Required Functions and Features +# DocumentService - Required Functions and Features **Project:** DocumentService (DOC) **Ticket:** DOC-1 - GDPicture and Nutrient Replacing @@ -9,7 +9,7 @@ ## Overview -This document describes in detail all PDF processing functions that the DocumentOperator service must implement. These functions will be implemented using the DevExpress Office File API as a replacement for the GDPicture and Nutrient libraries. +This document describes in detail all PDF processing functions that the DocumentService service must implement. These functions will be implemented using the DevExpress Office File API as a replacement for the GDPicture and Nutrient libraries. --- @@ -548,7 +548,7 @@ Body: { - **DevExpress PDF API Documentation:** https://docs.devexpress.com/OfficeFileAPI/ - **PDF/A Standard:** ISO 19005 - **ZUGFeRD Standard:** https://www.ferd-net.de/ -- **Ticket:** DOC-1 (M:\Austausch\DocumentOperator) +- **Ticket:** DOC-1 (M:\Austausch\DocumentService) ---