From e4ebb29969a769eb1ea8858118a60e1bbb50b58c Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 15 Jun 2026 16:24:45 +0200 Subject: [PATCH] Add authorization and data fetching to sender page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added an `[Authorize]` attribute with the "Sender" policy to restrict access to the `EnvelopeSenderPage.razor`. Updated the page title to "Umschläge" and added placeholder text for data loading. Injected `EnvelopeService` and `IJSRuntime` to fetch and log active and completed envelopes. Introduced `_activeEnvelopes` and `_completedEnvelopes` fields to store fetched data. Configured `JsonSerializerOptions` for consistent JSON handling. Implemented `OnInitializedAsync` to fetch data asynchronously, log results to the console, and handle errors gracefully. --- .../Pages/EnvelopeSenderPage.razor | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeSenderPage.razor b/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeSenderPage.razor index 2b0b9f0e..a91c9290 100644 --- a/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeSenderPage.razor +++ b/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeSenderPage.razor @@ -1,7 +1,37 @@ @page "/sender" +@attribute [Microsoft.AspNetCore.Authorization.Authorize(Policy = "Sender")] -

EnvelopeSender

+@using System.Text.Json +@using EnvelopeGenerator.ReceiverUI.Models +@inject EnvelopeGenerator.ReceiverUI.Services.EnvelopeService EnvelopeService +@inject IJSRuntime JSRuntime + +

Umschläge

+ +

Daten werden geladen und in der Konsole ausgegeben...

@code { + private IEnumerable? _activeEnvelopes; + private IEnumerable? _completedEnvelopes; -} + private static readonly JsonSerializerOptions _jsonOptions = new(JsonSerializerDefaults.Web); + + protected override async Task OnInitializedAsync() + { + try + { + _activeEnvelopes = await EnvelopeService.GetAsync(onlyActive: true); + _completedEnvelopes = await EnvelopeService.GetAsync(onlyCompleted: true); + + await JSRuntime.InvokeVoidAsync("console.log", "----- Aktive Umschläge -----"); + await JSRuntime.InvokeVoidAsync("console.log", _activeEnvelopes); + + await JSRuntime.InvokeVoidAsync("console.log", "----- Abgeschlossene Umschläge -----"); + await JSRuntime.InvokeVoidAsync("console.log", _completedEnvelopes); + } + catch (Exception ex) + { + await JSRuntime.InvokeVoidAsync("console.error", "Fehler beim Laden der Umschläge:", ex.ToString()); + } + } +} \ No newline at end of file