From fe358623daf4cfbd3c78df9c8d1850684653e910 Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 24 Jul 2025 13:41:44 +0200 Subject: [PATCH] =?UTF-8?q?feat(ProfileController):=20Hinzuf=C3=BCgen=20vo?= =?UTF-8?q?n=20ProfileController=20mit=20GET-Endpunkt=20unter=20Verwendung?= =?UTF-8?q?=20von=20MediatR=20-=20Implementiert=20die=20Aktion=20`GetAsync?= =?UTF-8?q?`=20zum=20Abrufen=20von=20Profildaten=20=C3=BCber=20MediatR=20-?= =?UTF-8?q?=20F=C3=BCgt=20die=20Attribute=20`[Authorize]`=20und=20`[APIKey?= =?UTF-8?q?Auth]`=20f=C3=BCr=20den=20gesicherten=20Zugriff=20hinzu=20-=20P?= =?UTF-8?q?rotokolliert=20Ausnahmen=20und=20gibt=20entsprechende=20HTTP-St?= =?UTF-8?q?atuscodes=20zur=C3=BCck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ProfileController.cs | 54 ++++--------------- src/WorkFlow.API/Program.cs | 8 ++- src/WorkFlow.API/appsettings.json | 9 +--- 3 files changed, 17 insertions(+), 54 deletions(-) diff --git a/src/WorkFlow.API/Controllers/ProfileController.cs b/src/WorkFlow.API/Controllers/ProfileController.cs index b7aefd8..747d9a4 100644 --- a/src/WorkFlow.API/Controllers/ProfileController.cs +++ b/src/WorkFlow.API/Controllers/ProfileController.cs @@ -1,8 +1,8 @@ -using Microsoft.AspNetCore.Authorization; +using MediatR; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using WorkFlow.API.Attributes; -using WorkFlow.Application.Contracts; -using WorkFlow.Domain.Entities; +using WorkFlow.Application.Profiles; namespace WorkFlow.API.Controllers; @@ -12,56 +12,23 @@ namespace WorkFlow.API.Controllers; [Authorize] public class ProfileController : ControllerBase { - public static readonly Profile Default = new() - { - Id = 1, - TypeId = 1, - Caption = "VA Freigabe", - Subtitle = "Freigabe in Rolle Verantwortlich", - CountObj = 2, - ForeColor = "Yellow", - BackColor = "Black", - Objects = new ProfileObject[] - { - new() - { - ObjStateId = 3, - ObjectId = 21601, - Headline1 = "Aveco Holding", - Headline2 = "Digital Data", - Subline1 = null, - Subline2 = "25 4711", - CmdCheckIn = "" - }, - new() - { - ObjStateId = 4, - ObjectId = 21600, - Headline1 = "Aveco", - Headline2 = "Hammer AF", - Subline1 = null, - Subline2 = "456875", - CmdCheckIn = "" - } - } - }; - private readonly ILogger _logger; - private readonly IProfileService _service; - public ProfileController(ILogger logger, IProfileService service) + private readonly IMediator _mediator; + + public ProfileController(ILogger logger, IMediator mediator) { _logger = logger; - _service = service; + _mediator = mediator; } [HttpGet] - [Authorize] - public IActionResult GetAsync() + public IActionResult GetAsync([FromQuery] ReadProfile profileQ) { try { - return Ok(Default); + var profile = _mediator.Send(profileQ); + return profile is null ? NotFound() : Ok(profile); } catch (Exception ex) { @@ -69,5 +36,4 @@ public class ProfileController : ControllerBase return StatusCode(500); } } - } \ No newline at end of file diff --git a/src/WorkFlow.API/Program.cs b/src/WorkFlow.API/Program.cs index a3f7c1b..646034d 100644 --- a/src/WorkFlow.API/Program.cs +++ b/src/WorkFlow.API/Program.cs @@ -27,8 +27,12 @@ try var config = builder.Configuration; // Add NLogger - builder.Logging.ClearProviders(); - builder.Host.UseNLog(); + builder.Logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace); + if (!builder.Environment.IsDevelopment()) + { + builder.Logging.ClearProviders(); + builder.Host.UseNLog(); + } // Add services to the container var cnn_str = config.GetConnectionString("Default") ?? throw new("Default connection string not found."); diff --git a/src/WorkFlow.API/appsettings.json b/src/WorkFlow.API/appsettings.json index aa54ae8..b3c541b 100644 --- a/src/WorkFlow.API/appsettings.json +++ b/src/WorkFlow.API/appsettings.json @@ -78,14 +78,7 @@ } }, "AuthClientParams": { - "Url": "https://localhost:7192/auth-hub", - "PublicKeys": [ - { - "Issuer": "auth.digitaldata.works", - "Audience": "work-flow.digitaldata.works", - "Content": "-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3QCd7dH/xOUITFZbitMa/xnh8a0LyL6ZBvSRAwkI9ceplTRSHJXoM1oB+xtjWE1kOuHVLe941Tm03szS4+/rHIm0Ejva/KKlv7sPFAHE/pWuoPS303vOHgI4HAFcuwywA8CghUWzaaK5LU/Hl8srWwxBHv5hKIUjJFJygeAIENvFOZ1gFbB3MPEC99PiPOwAmfl4tMQUmSsFyspl/RWVi7bTv26ZE+m3KPcWppmvmYjXlSitxRaySxnfFvpca/qWfd/uUUg2KWKtpAwWVkqr0qD9v3TyKSgHoGDsrFpwSx8qufUJSinmZ1u/0iKl6TXeHubYS4C4SUSVjOWXymI2ZQIDAQAB-----END PUBLIC KEY-----" - } - ], + "Url": "http://172.24.12.39:9090/auth-hub", "RetryDelay": "00:00:05" } } \ No newline at end of file