using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; using zero.Core.Api; using zero.Core.Entities; using zero.Core.Identity; using zero.Web.Models; namespace zero.Web.Controllers { [ZeroAuthorize(Permissions.Settings.Users, PermissionsValue.Read)] public class UserRolesController : BackofficeController { IUserRolesApi Api; IPermissionsApi PermissionsApi; public UserRolesController(IUserRolesApi api, IPermissionsApi permissionsApi) { Api = api; PermissionsApi = permissionsApi; } /// /// Get role by id /// public async Task GetById([FromQuery] string id) { return Edit(await Api.GetById(id)); } /// /// Get all roles /// public async Task GetAll() { return await As(await Api.GetAll()); } /// /// Get all permissions for selection /// public IActionResult GetAllPermissions() { return Json(PermissionsApi.GetAll()); } /// /// Save country /// [ZeroAuthorize(Permissions.Settings.Users, PermissionsValue.Write)] public async Task Save([FromBody] UserRoleEditModel model) { UserRole role = await Mapper.Map(model, await Api.GetById(model.Id)); return await As(await Api.Save(role)); } /// /// Deletes a country /// [ZeroAuthorize(Permissions.Settings.Users, PermissionsValue.Write)] public async Task Delete([FromQuery] string id) { return await As(await Api.Delete(id)); } } }