Decouple UserType, add Role entity and management
Removed all UserType logic and references, replacing them with a new Role model and management system. Introduced RoleManager service, repository, and API endpoint for role CRUD operations. Updated user flows and JWT claims to use RoleCode. Removed admin-only user CRUD endpoints. Updated DI, documentation, and error handling for consistency. Appsettings and DTOs now reflect the new role-based approach.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
using AuthHex.Models;
|
||||
|
||||
namespace AuthHex.Interfaces
|
||||
{
|
||||
public interface IRoleManageRepository
|
||||
{
|
||||
Task<Role> AddRoleAsync(Role role, CancellationToken ct = default);
|
||||
Task<Role?> GetRoleByIdAsync(Guid roleId, CancellationToken ct = default);
|
||||
Task<List<Role>> ListRolesAsync(CancellationToken ct = default);
|
||||
//Task<bool> RoleInUseAsync(Guid roleId, CancellationToken ct = default);
|
||||
Task DeleteRoleAsync(Role role, CancellationToken ct = default);
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ namespace AuthHex.Interfaces
|
||||
Task<User> AddUserAsync(User user, CancellationToken ct = default);
|
||||
Task<Token> AddTokenAsync(Token token, CancellationToken ct = default);
|
||||
Task<List<User>> GetUserByIdentifiers(string? email, string? mobileNumber, string? nic, string? username, string? Optional1);
|
||||
Task<User?> GetUserByIdentifierAndType(string identifier, Guid? userTypeId);
|
||||
Task<User?> GetUserByIdentifierAndType(string identifier);
|
||||
Task<User?> GetUserByIdAsync(Guid userId, CancellationToken ct = default);
|
||||
Task UpdateUserAsync(User user, CancellationToken ct = default);
|
||||
Task<List<UserSession>> GetUserSessionsAsync(Guid userId, CancellationToken ct = default);
|
||||
|
||||
Reference in New Issue
Block a user