Logger zu DirectoryController hinzugefügt
This commit is contained in:
parent
d76623155a
commit
766e8d913d
@ -19,8 +19,9 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
private readonly IDirectorySearchService _dirSearchService;
|
private readonly IDirectorySearchService _dirSearchService;
|
||||||
private readonly Dictionary<string, string> _customSearchFilters;
|
private readonly Dictionary<string, string> _customSearchFilters;
|
||||||
private readonly IStringLocalizer<Resource> _localizer;
|
private readonly IStringLocalizer<Resource> _localizer;
|
||||||
|
private readonly ILogger<DirectoryController> _logger;
|
||||||
|
|
||||||
public DirectoryController(IConfiguration configuration, IStringLocalizer<Resource> localizer, IUserService userService, IDirectorySearchService directorySearchService)
|
public DirectoryController(IConfiguration configuration, IStringLocalizer<Resource> localizer, IUserService userService, IDirectorySearchService directorySearchService, ILogger<DirectoryController> logger)
|
||||||
{
|
{
|
||||||
_localizer = localizer;
|
_localizer = localizer;
|
||||||
_userService = userService;
|
_userService = userService;
|
||||||
@ -28,10 +29,13 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
|
|
||||||
var customSearchFiltersSection = configuration.GetSection("DirectorySearch:CustomSearchFilters");
|
var customSearchFiltersSection = configuration.GetSection("DirectorySearch:CustomSearchFilters");
|
||||||
_customSearchFilters = customSearchFiltersSection.Get<Dictionary<string, string>>() ?? new();
|
_customSearchFilters = customSearchFiltersSection.Get<Dictionary<string, string>>() ?? new();
|
||||||
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("Root/{username}")]
|
[HttpGet("Root/{username}")]
|
||||||
public IActionResult GetRootOf(string username)
|
public IActionResult GetRootOf(string username)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var root = _dirSearchService.GetSearchRootCache(username);
|
var root = _dirSearchService.GetSearchRootCache(username);
|
||||||
|
|
||||||
@ -46,9 +50,17 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
schemaClassName = root.SchemaClassName
|
schemaClassName = root.SchemaClassName
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "{Message}", ex.Message);
|
||||||
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet("CustomSearchFilter")]
|
[HttpGet("CustomSearchFilter")]
|
||||||
public IActionResult GetAllCustomFilters(string? filtername)
|
public IActionResult GetAllCustomFilters(string? filtername)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
if (filtername is null)
|
if (filtername is null)
|
||||||
{
|
{
|
||||||
@ -60,9 +72,17 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
return filter is null ? NotFound() : Ok(filter);
|
return filter is null ? NotFound() : Ok(filter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "{Message}", ex.Message);
|
||||||
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost("CreateSearchRoot")]
|
[HttpPost("CreateSearchRoot")]
|
||||||
public async Task<IActionResult> CreateSearchRoot([FromBody] SearchRootCreateDto searchRootCreateDto)
|
public async Task<IActionResult> CreateSearchRoot([FromBody] SearchRootCreateDto searchRootCreateDto)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var dirEntryUsername = searchRootCreateDto.DirEntryUsername ?? CurrentUser;
|
var dirEntryUsername = searchRootCreateDto.DirEntryUsername ?? CurrentUser;
|
||||||
if (dirEntryUsername is null)
|
if (dirEntryUsername is null)
|
||||||
@ -80,9 +100,17 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
_dirSearchService.SetSearchRootCache(userResult.Data.Username, searchRootCreateDto.DirEntryPassword);
|
_dirSearchService.SetSearchRootCache(userResult.Data.Username, searchRootCreateDto.DirEntryPassword);
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "{Message}", ex.Message);
|
||||||
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet("SearchByFilter/{filter}")]
|
[HttpGet("SearchByFilter/{filter}")]
|
||||||
public IActionResult SearchByFilter([FromRoute] string filter, string? dirEntryUsername, params string[] propName)
|
public IActionResult SearchByFilter([FromRoute] string filter, string? dirEntryUsername, params string[] propName)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
dirEntryUsername ??= CurrentUser;
|
dirEntryUsername ??= CurrentUser;
|
||||||
|
|
||||||
@ -92,9 +120,17 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
var result = _dirSearchService.FindAllByUserCache(dirEntryUsername, filter, properties: propName);
|
var result = _dirSearchService.FindAllByUserCache(dirEntryUsername, filter, properties: propName);
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "{Message}", ex.Message);
|
||||||
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet("SearchByFilterName/{filterName}")]
|
[HttpGet("SearchByFilterName/{filterName}")]
|
||||||
public IActionResult SearchByFilterName([FromRoute] string filterName, string? dirEntryUsername, params string[] propName)
|
public IActionResult SearchByFilterName([FromRoute] string filterName, string? dirEntryUsername, params string[] propName)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
dirEntryUsername ??= CurrentUser;
|
dirEntryUsername ??= CurrentUser;
|
||||||
|
|
||||||
@ -110,9 +146,17 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
|
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "{Message}", ex.Message);
|
||||||
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet("Group")]
|
[HttpGet("Group")]
|
||||||
public IActionResult GetGroups(string? dirEntryUsername, params string[] propName)
|
public IActionResult GetGroups(string? dirEntryUsername, params string[] propName)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
dirEntryUsername ??= CurrentUser;
|
dirEntryUsername ??= CurrentUser;
|
||||||
|
|
||||||
@ -128,9 +172,17 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
|
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "{Message}", ex.Message);
|
||||||
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet("User")]
|
[HttpGet("User")]
|
||||||
public IActionResult GetUsersByGroupName(string? dirEntryUsername, [FromQuery] string? groupName = null)
|
public IActionResult GetUsersByGroupName(string? dirEntryUsername, [FromQuery] string? groupName = null)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
string[] propName = { "memberof", "samaccountname", "givenname", "sn", "mail" };
|
string[] propName = { "memberof", "samaccountname", "givenname", "sn", "mail" };
|
||||||
dirEntryUsername ??= CurrentUser;
|
dirEntryUsername ??= CurrentUser;
|
||||||
@ -153,6 +205,12 @@ namespace DigitalData.UserManager.API.Controllers
|
|||||||
|
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "{Message}", ex.Message);
|
||||||
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private string? CurrentUser
|
private string? CurrentUser
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user