Refactor namespaces from `DigitalData.Core.DTO` to `DigitalData.Core.Abstraction.Application.DTO` in multiple controllers to adopt a new abstraction layer. Update `DigitalData.Core.API` package from version `2.2.0` to `2.2.1` and add `DigitalData.Core.Abstraction.Application` package with version `1.0.0`. Add `[Obsolete("Use MediatR")]` attribute to several controllers to encourage transitioning to MediatR for request handling.
43 lines
1.6 KiB
C#
43 lines
1.6 KiB
C#
using DigitalData.Core.Abstraction.Application.DTO;
|
|
using DigitalData.UserManager.Application.Contracts;
|
|
using DigitalData.UserManager.Application.DTOs.Group;
|
|
using DigitalData.UserManager.Domain.Entities;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace DigitalData.UserManager.API.Controllers;
|
|
|
|
[Authorize]
|
|
[Obsolete("Use MediatR")]
|
|
public class GroupController : BaseAuthController<IGroupService, GroupCreateDto, GroupReadDto, GroupUpdateDto, Group>
|
|
{
|
|
public GroupController(ILogger<GroupController> logger, IGroupService service, IUserService userService) : base(logger, service, userService)
|
|
{
|
|
}
|
|
|
|
[HttpPost("ByDir")]
|
|
public async Task<IActionResult> CreateByDir(DirectoryGroupDto adGroup)
|
|
{
|
|
try
|
|
{
|
|
return await _service.CreateAsync(adGroup).ThenAsync(
|
|
Success: id =>
|
|
{
|
|
var createdResource = new { Id = id };
|
|
var actionName = nameof(GetById);
|
|
var routeValues = new { id = createdResource.Id };
|
|
return CreatedAtAction(actionName, routeValues, createdResource);
|
|
},
|
|
Fail: IActionResult (m, n) =>
|
|
{
|
|
_logger.LogNotice(n);
|
|
return BadRequest();
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "{Message}", ex.Message);
|
|
return StatusCode(StatusCodes.Status500InternalServerError);
|
|
}
|
|
}
|
|
} |