Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [ApiVersion( "1.0" )]
- [Authorize(Roles = "SuperAdmin,Admin")]
- [Route( "api/v{version:apiVersion}/role" )]
- public class RoleController : BaseApiController
- {
- private readonly IRoleQueryService _roleQueryService;
- private readonly IRoleCommandService _roleCommandService;
- private readonly Config _config;
- public RoleController(IRoleQueryService roleQueryService,
- IRoleCommandService roleCommandService,
- Config config)
- {
- _roleQueryService = roleQueryService;
- _roleCommandService = roleCommandService;
- _config = config;
- }
- [Route("", Name = "GetAllRoles")]
- [HttpGet]
- public IActionResult GetAllRoles()
- {
- var roles = _roleQueryService.GetRoles();
- if (roles != null)
- {
- return Ok(RoleGetRoleMapper.MapEntityRoleListToGetRoleViewModelList(roles, Url, _config));
- }
- return NotFound();
- }
- [Route("{roleId}", Name = "GetRoleById")]
- [HttpGet]
- public async Task<IActionResult> GetRoleById(string roleId)
- {
- var role = await _roleQueryService.GetRoleByIdAsync(roleId);
- if (role != null)
- {
- return Ok(RoleGetRoleMapper.MapEntityRoleToGetRoleViewModel(role, Url, _config));
- }
- return NotFound();
- }
- [Route("create", Name = "CreateRole")]
- [ValidateModel]
- [HttpPost]
- public async Task<IActionResult> CreateRole([FromBody] CreateRoleViewModel createRoleViewModel)
- {
- var entityRole = RoleCreateRoleMapper.MapCreateRoleViewModelToEntityRole(createRoleViewModel);
- var addRoleResult = await _roleCommandService.CreateRoleAsync(entityRole);
- if (!addRoleResult.Succeeded)
- {
- return GetErrorResult(addRoleResult);
- }
- // var locationHeader = new Uri(Url.Link("GetRoleById", new {id = entityRole.RoleId}));
- var locationHeader = _config.ProxyApiV1BaseUrl+_config.GetRoleByIdUrl+$"/{entityRole.RoleId}";
- return Created(locationHeader, entityRole);
- }
- [Route("{roleId}", Name = "DeleteRole")]
- [HttpDelete]
- public async Task<IActionResult> DeleteRole(string roleId)
- {
- var result = await _roleCommandService.DeleteRoleAsync(roleId);
- return Ok();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement