Refaktorisierung der Lokalisierung und DTO-Integration
- Ersetzung von ITranslateService durch IStringLocalizer<X> für verbesserte Lokalisierung. - Aktualisierung der DTO-Klassen entsprechend der neuesten Core.DTO-Struktur. - Integration der neuen Klassen Result und DataResult aus Core.DTO für standardisierte Serviceantworten.
This commit is contained in:
@@ -9,6 +9,8 @@ using DigitalData.UserManager.Application;
|
||||
using DigitalData.UserManager.Application.DTOs.Auth;
|
||||
using DigitalData.Core.Contracts.Application;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using DigitalData.Core.DTO;
|
||||
|
||||
namespace DigitalData.UserManager.API.Controllers
|
||||
{
|
||||
@@ -20,14 +22,16 @@ namespace DigitalData.UserManager.API.Controllers
|
||||
private IMemoryCache _memoryCache;
|
||||
private IConfiguration _configuration;
|
||||
private IDirectorySearchService _dirSearchService;
|
||||
private readonly IStringLocalizer<Resource> _localizer;
|
||||
|
||||
public AuthController(IUserService userService, IGroupOfUserService gouService, IMemoryCache memoryCache, IConfiguration configuration, IDirectorySearchService directorySearchService)
|
||||
public AuthController(IUserService userService, IGroupOfUserService gouService, IMemoryCache memoryCache, IConfiguration configuration, IDirectorySearchService directorySearchService, IStringLocalizer<Resource> localizer)
|
||||
{
|
||||
_userService = userService;
|
||||
_gouService = gouService;
|
||||
_memoryCache = memoryCache;
|
||||
_configuration = configuration;
|
||||
_dirSearchService = directorySearchService;
|
||||
_localizer = localizer;
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
@@ -41,11 +45,11 @@ namespace DigitalData.UserManager.API.Controllers
|
||||
bool isValid = _dirSearchService.ValidateCredentials(login.Username, login.Password);
|
||||
|
||||
if (!isValid)
|
||||
return Unauthorized(_userService.Failed(MessageKey.UserNotFound.ToString()));
|
||||
return Unauthorized(Result.Fail().Message(_localizer[Key.UserNotFound]));
|
||||
|
||||
var gouMsg = await _gouService.HasGroup(login.Username, "PM_USER", caseSensitive:false);
|
||||
if(!gouMsg.IsSuccess)
|
||||
return Unauthorized(_userService.Failed(MessageKey.UnauthorizedUser.ToString()));
|
||||
return Unauthorized(Result.Fail().Message(_localizer[Key.UnauthorizedUser]));
|
||||
|
||||
//find the user
|
||||
var uRes = await _userService.ReadByUsernameAsync(login.Username);
|
||||
@@ -103,7 +107,7 @@ namespace DigitalData.UserManager.API.Controllers
|
||||
|
||||
if (!userDto.IsSuccess || userDto.Data is null)
|
||||
{
|
||||
return NotFound(_userService.Failed("User not found."));
|
||||
return NotFound(Result.Fail().Message(_localizer[Key.UserNotFound]));
|
||||
}
|
||||
|
||||
return Ok(userDto.Data);
|
||||
|
||||
Reference in New Issue
Block a user