using System; using System.Collections.Generic; using System.Threading.Tasks; using UserManagement.Data.Dto; using UserManagement.MediatR.Commands; using UserManagement.MediatR.Queries; using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using UserManagement.Api.Helpers; namespace UserManagement.API.Controllers { /// /// RoleUsers /// [Route("api/[controller]")] [ApiController] [Authorize] public class RoleUsersController : BaseController { public IMediator _mediator { get; set; } /// /// RoleUsers /// /// public RoleUsersController(IMediator mediator) { _mediator = mediator; } /// /// Get Role Users By Id /// /// /// [HttpGet("{id}", Name = "RoleUsers")] [Produces("application/json", "application/xml", Type = typeof(List))] [ClaimCheck("user_role_edit")] public async Task RoleUsers(Guid id) { var getUserQuery = new GetRoleUsersQuery { RoleId = id }; var result = await _mediator.Send(getUserQuery); return Ok(result); } /// /// Update Role Users By Id /// /// /// /// [HttpPut("{id}")] [Produces("application/json", "application/xml", Type = typeof(UserRoleDto))] [ClaimCheck("user_role_edit")] public async Task UpdateRoleUsers(Guid id, UpdateUserRoleCommand updateRoleCommand) { updateRoleCommand.Id = id; var result = await _mediator.Send(updateRoleCommand); return ReturnFormattedResponse(result); } } }