From fa46dd1fa8430569de2339b49cf934385120a2e7 Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 3 Sep 2025 11:06:47 +0200 Subject: [PATCH] feat(Format): create to centrilize the formats. - Add json serializer settings for diagnostics and implement to DocumentController --- EnvelopeGenerator.Domain/Constants/Format.cs | 20 +++++++++++++++++++ .../EnvelopeGenerator.Domain.csproj | 1 + .../Controllers/DocumentController.cs | 14 +++---------- 3 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 EnvelopeGenerator.Domain/Constants/Format.cs diff --git a/EnvelopeGenerator.Domain/Constants/Format.cs b/EnvelopeGenerator.Domain/Constants/Format.cs new file mode 100644 index 00000000..2f5e28af --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/Format.cs @@ -0,0 +1,20 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; + +namespace EnvelopeGenerator.Domain.Constants +{ + public class Format + { + #region Json Serializer Settings + public static class Json + { + public static readonly JsonSerializerSettings ForDiagnostics = new JsonSerializerSettings() + { + ContractResolver = new CamelCasePropertyNamesContractResolver(), + Formatting = Formatting.Indented, + NullValueHandling = NullValueHandling.Include + }; + } + #endregion + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj b/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj index 45489a89..af6c9ace 100644 --- a/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj +++ b/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj @@ -35,6 +35,7 @@ + diff --git a/EnvelopeGenerator.Web/Controllers/DocumentController.cs b/EnvelopeGenerator.Web/Controllers/DocumentController.cs index 2d6f1417..065a914a 100644 --- a/EnvelopeGenerator.Web/Controllers/DocumentController.cs +++ b/EnvelopeGenerator.Web/Controllers/DocumentController.cs @@ -1,15 +1,14 @@ using DigitalData.Core.Exceptions; using EnvelopeGenerator.Application.EnvelopeReceivers.Queries; -using EnvelopeGenerator.Web.Services; +using EnvelopeGenerator.Domain.Constants; using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; namespace EnvelopeGenerator.Web.Controllers; -[Authorize(Roles = Domain.Constants.ReceiverRole.FullyAuth)] +[Authorize(Roles = ReceiverRole.FullyAuth)] [ApiController] [Route("api/[controller]")] public class DocumentController : ControllerBase @@ -34,17 +33,10 @@ public class DocumentController : ControllerBase if(byteData is null || byteData.Length == 0) { _logger.LogError("Document byte data is null or empty for envelope-receiver entity:\n{envelopeKey}.", - JsonConvert.SerializeObject(envRcv, JsonFormattingForDiagnostics)); + JsonConvert.SerializeObject(envRcv, Format.Json.ForDiagnostics)); throw new NotFoundException("Document is empty."); } return File(byteData, "application/octet-stream"); } - - private static readonly JsonSerializerSettings JsonFormattingForDiagnostics = new() - { - ContractResolver = new CamelCasePropertyNamesContractResolver(), - Formatting = Formatting.Indented, - NullValueHandling = NullValueHandling.Include - }; } \ No newline at end of file