Abstractions and dtos

This commit is contained in:
Veljko Tosic
2026-02-14 18:45:59 +01:00
parent c2b085ec28
commit 068739c616
7 changed files with 27 additions and 4 deletions

View File

@@ -0,0 +1,12 @@
using AipsCore.Application.Common.Authentication.Models;
using AipsCore.Domain.Models.User.ValueObjects;
namespace AipsCore.Application.Abstract.UserContext;
public interface IRefreshTokenRepository
{
Task AddAsync(string token, UserId userId, CancellationToken cancellationToken = default);
Task<RefreshToken> GetByValueAsync(string token, CancellationToken cancellationToken = default);
Task RevokeAsync(string token, CancellationToken cancellationToken = default);
Task RevokeAllAsync(UserId userId, CancellationToken cancellationToken = default);
}

View File

@@ -5,5 +5,6 @@ namespace AipsCore.Application.Abstract.UserContext;
public interface ITokenProvider public interface ITokenProvider
{ {
string Generate(User user, IList<UserRole> roles); string GenerateAccessToken(User user, IList<UserRole> roles);
string GenerateRefreshToken();
} }

View File

@@ -0,0 +1,3 @@
namespace AipsCore.Application.Common.Authentication.Dtos;
public record LogInUserResultDto(string AccessToken, string RefreshToken);

View File

@@ -1,3 +1,4 @@
using AipsCore.Application.Common.Authentication.Models;
using AipsCore.Domain.Models.User; using AipsCore.Domain.Models.User;
namespace AipsCore.Application.Common.Authentication; namespace AipsCore.Application.Common.Authentication;
@@ -6,4 +7,5 @@ public interface IAuthService
{ {
Task SignUpWithPasswordAsync(User user, string password, CancellationToken cancellationToken = default); Task SignUpWithPasswordAsync(User user, string password, CancellationToken cancellationToken = default);
Task<LoginResult> LoginWithEmailAndPasswordAsync(string email, string password, CancellationToken cancellationToken = default); Task<LoginResult> LoginWithEmailAndPasswordAsync(string email, string password, CancellationToken cancellationToken = default);
Task<LoginResult> LoginWithRefreshTokenAsync(RefreshToken refreshToken, CancellationToken cancellationToken = default);
} }

View File

@@ -0,0 +1,3 @@
namespace AipsCore.Application.Common.Authentication.Models;
public record AccessToken(string Value);

View File

@@ -0,0 +1,5 @@
using AipsCore.Domain.Models.User.ValueObjects;
namespace AipsCore.Application.Common.Authentication.Models;
public record RefreshToken(string Value, string UserId, DateTime ExpiresAt);

View File

@@ -1,3 +0,0 @@
namespace AipsCore.Application.Common.Authentication;
public record Token(string Value);