Refactor scope handling with new IScoped and AuthScope

Introduce IScoped<TScope> interface for unified scope access and add AuthScope record. Remove legacy IScopedRequest interfaces to streamline scope management across the application.
This commit is contained in:
2025-12-17 11:16:22 +01:00
parent ac4c4cb69a
commit cc54539aba
3 changed files with 23 additions and 16 deletions

View File

@@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ReC.Application.Common.Interfaces;
public record AuthScope
{
public string AddedWho { get; } = null!;
}
public interface IAuthScoped : IScoped<AuthScope>
{
public string AddedWho => Scope.AddedWho;
}

View File

@@ -0,0 +1,10 @@
using MediatR;
using System.Text.Json.Serialization;
namespace ReC.Application.Common.Interfaces;
public interface IScoped<TScope> where TScope : notnull
{
[JsonIgnore]
public TScope Scope { get; }
}

View File

@@ -1,16 +0,0 @@
using MediatR;
namespace ReC.Application.Common.Interfaces;
public interface IScopedRequestBase<TScope> where TScope : notnull
{
public TScope Scope { get; }
}
public interface IScopedRequest<TScope> : IRequest, IScopedRequestBase<TScope> where TScope : notnull
{
}
public interface IScopedRequest<TScope, out TResponse> : IRequest<TResponse>, IScopedRequestBase<TScope> where TScope : notnull
{
}