Harden the content contracts and enforce the slug rule

This commit is contained in:
tleininger committed 2026-09-24 12:08:56 +02:00
1 parent d06af2891a
commit 0f7e968c16
13 files changed
+157 -81

No files matched your search

@@ -2,23 +2,27 @@ using Elternbeirat.Contracts;
using Elternbeirat.PocketBase;
using Elternbeirat.Web.Shared;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Http;
namespace Elternbeirat.Web.Features.Pages;
public partial class ContentPage
{
[LoggerMessage(Level = LogLevel.Warning, Message = "Could not load page '{slug}' from PocketBase.")]
private static partial void LogLoadFailed(ILogger logger, string slug, Exception exception);
[LoggerMessage(
Level = LogLevel.Warning,
Message = "Could not load page '{slug}' from PocketBase.")]
private static partial void LogLoadFailed(
ILogger logger,
string slug,
Exception exception);
[Parameter]
public string Slug { get; set; } = "";
public string Slug { get; set; } = string.Empty;
[Inject]
private PocketBaseClient PocketBase { get; set; } = default!;
private PocketBaseClient PocketBase { get; set; } = null!;
[Inject]
private ILogger<ContentPage> Logger { get; set; } = default!;
private ILogger<ContentPage> Logger { get; set; } = null!;
[CascadingParameter]
private HttpContext? HttpContext { get; set; }
@@ -15,7 +15,7 @@ public partial class PostDetail
private static partial void LogLoadFailed(ILogger logger, string slug, Exception exception);
[Parameter]
public string Slug { get; set; } = "";
public string Slug { get; set; } = string.Empty;
[Inject]
private PocketBaseClient PocketBase { get; set; } = default!;