Add application services for profiles and neutrino
This commit is contained in:
@@ -61,7 +61,17 @@ public class Profile
|
||||
DeviceIds.Add(deviceId);
|
||||
}
|
||||
|
||||
|
||||
public void Ban()
|
||||
=> IsBanned = true;
|
||||
|
||||
public void Unban()
|
||||
=> IsBanned = false;
|
||||
|
||||
public void GrantModerator()
|
||||
=> IsModerator = true;
|
||||
|
||||
public void RevokeModerator()
|
||||
=> IsModerator = false;
|
||||
|
||||
private static string RequireValue(string value, string parameterName)
|
||||
=> !string.IsNullOrWhiteSpace(value) ? value : throw new DomainException($"{parameterName} is required.");
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
namespace RecNet.Domain.Services.Configuration;
|
||||
|
||||
public interface IConfigService
|
||||
{
|
||||
Task<T?> GetAsync<T>(string key, T? defaultValue = default, CancellationToken ct = default);
|
||||
Task SetAsync<T>(string key, T value, CancellationToken ct = default);
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
using RecNet.Domain.Entities.Profiles;
|
||||
|
||||
namespace RecNet.Domain.Services.Tokens;
|
||||
|
||||
public interface ITokenService
|
||||
{
|
||||
TokenResult GenerateProfileToken(Profile profile);
|
||||
TokenVerifyResult VerifyToken(string token);
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
namespace RecNet.Domain.Services.Tokens;
|
||||
|
||||
public sealed record TokenResult(
|
||||
string AccessToken,
|
||||
int ExpiresIn);
|
||||
@@ -1,21 +0,0 @@
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace RecNet.Domain.Services.Tokens;
|
||||
|
||||
public class TokenVerifyResult
|
||||
{
|
||||
public bool IsError { get; set; }
|
||||
public IEnumerable<Claim> Claims { get; set; }
|
||||
|
||||
private TokenVerifyResult(bool isError, IEnumerable<Claim>? claims)
|
||||
{
|
||||
IsError = isError;
|
||||
Claims = claims ?? [];
|
||||
}
|
||||
|
||||
public static TokenVerifyResult Success(IEnumerable<Claim> claims)
|
||||
=> new(false, claims);
|
||||
|
||||
public static TokenVerifyResult Failure()
|
||||
=> new(true, null);
|
||||
}
|
||||
Reference in New Issue
Block a user