2024-03-07 11:15:47 +01:00

43 lines
1.5 KiB
C#

using DigitalData.Core.API;
using DigitalData.UserManager.Application.Contracts;
using DigitalData.UserManager.Application.DTOs.GroupOfUser;
using DigitalData.UserManager.Domain.Entities;
using DigitalData.UserManager.Infrastructure.Contracts;
using Microsoft.AspNetCore.Mvc;
namespace DigitalData.UserManager.API.Controllers
{
public class GroupOfUserController : CRUDControllerBase<GroupOfUserController, IGroupOfUserService, IGroupOfUserRepository, GroupOfUserCreateDto, GroupOfUserReadDto, GroupOfUserUpdateDto, GroupOfUser, int>
{
public GroupOfUserController(ILogger<GroupOfUserController> logger, IGroupOfUserService service) : base(logger, service)
{
}
[HttpDelete]
public async Task<IActionResult> Delete([FromQuery] int groupId, [FromQuery] int userId)
{
var result = await _service.DeleteAsyncByGroupUserId(groupId, userId);
if (result.IsSuccess)
{
return Ok(result);
}
return BadRequest(result);
}
[NonAction]
public override Task<IActionResult> GetAll() => base.GetAll();
[HttpGet]
public async Task<IActionResult> GetAll([FromQuery]bool withUser = false, [FromQuery]bool withGroup = false)
{
var result = await _service.ReadAllAsyncWith(withUser, withGroup);
if (result.IsSuccess)
{
return Ok(result);
}
return NotFound(result);
}
}
}