generated from egmont11/ASP.Net-Core-MVC-Template
InitEshop+ddd+ca
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public sealed class SignInResultDto
|
||||
{
|
||||
public bool Succeeded { get; private init; }
|
||||
|
||||
public static SignInResultDto Success => new() { Succeeded = true };
|
||||
public static SignInResultDto Failure => new() { Succeeded = false };
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public sealed record UserDataExportDto(
|
||||
string Id,
|
||||
string UserName,
|
||||
string Email,
|
||||
IReadOnlyList<string> Roles,
|
||||
DateTime ExportDate);
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public sealed record UserDto(string Id, string UserName, string Email);
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public sealed record UserProfileDto(string UserName, string Email);
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public sealed record UserWithRolesDto(
|
||||
UserDto User,
|
||||
IReadOnlyList<string> Roles,
|
||||
IReadOnlyList<string> AllRoles);
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public interface IAuthenticationService
|
||||
{
|
||||
Task<SignInResultDto> SignInAsync(
|
||||
string emailOrUsername,
|
||||
string password,
|
||||
bool rememberMe,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task SignOutAsync(CancellationToken cancellationToken = default);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using Eshop.Application.Common;
|
||||
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public interface IUserAccountService
|
||||
{
|
||||
Task<ServiceResult> RegisterAsync(
|
||||
string userName,
|
||||
string email,
|
||||
string password,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<UserProfileDto?> GetProfileAsync(
|
||||
string userId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<ServiceResult> UpdateProfileAsync(
|
||||
string userId,
|
||||
UpdateProfileRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<ServiceResult> DeleteAccountAsync(
|
||||
string userId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<UserDataExportDto?> ExportUserDataAsync(
|
||||
string userId,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using Eshop.Application.Common;
|
||||
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public interface IUserAdministrationService
|
||||
{
|
||||
Task<IReadOnlyList<UserWithRolesDto>> GetAllUsersWithRolesAsync(
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<UserWithRolesDto?> GetUserWithRolesAsync(
|
||||
string userId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<ServiceResult> UpdateUserRolesAsync(
|
||||
string userId,
|
||||
IReadOnlyList<string> selectedRoles,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Eshop.Application.Auth;
|
||||
|
||||
public sealed record UpdateProfileRequest(
|
||||
string UserName,
|
||||
string Email,
|
||||
string? CurrentPassword,
|
||||
string? NewPassword);
|
||||
Reference in New Issue
Block a user