using DigitalData.Core.API; using DigitalData.Core.DTO; using DigitalData.UserManager.Application.Contracts; using DigitalData.UserManager.Application.DTOs.UserRep; using DigitalData.UserManager.Domain.Entities; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Data.SqlClient; namespace DigitalData.UserManager.API.Controllers { [Authorize] public class UserRepController : CRUDControllerBaseWithErrorHandling { public UserRepController(ILogger logger, IUserRepService service) : base(logger, service) { } [NonAction] public override Task GetAll() { return base.GetAll(); } [HttpGet] public async Task GetAll(bool withUser = false, bool withRepGroup = false, bool withRightGroup = false, bool withRepUser = false, int? userId = null) { try { return await _service.ReadAllAsync(withUser, withRepGroup, withRightGroup, withRepUser, userId).ThenAsync(Ok, IActionResult (m, n) => { _logger.LogNotice(n); return NotFound(); }); } catch (Exception ex) { _logger.LogError(ex, "{Message}", ex.Message); return StatusCode(StatusCodes.Status500InternalServerError); } } } }