using Microsoft.AspNetCore.Mvc; using Sanhe.Abp.Identity.Dto; using System; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.Identity; namespace Sanhe.Abp.Identity { [RemoteService(true, Name = IdentityRemoteServiceConsts.RemoteServiceName)] [Area("identity")] [ControllerName("Role")] [Route("api/identity/roles")] public class IdentityRoleController : AbpController, IIdentityRoleAppService { protected IIdentityRoleAppService RoleAppService { get; } public IdentityRoleController(IIdentityRoleAppService roleAppService) { RoleAppService = roleAppService; } #region OrganizationUnit /// /// 获取角色组织单元 /// /// /// [HttpGet] [Route("{id}/organization-units")] public virtual Task> GetOrganizationUnitsAsync(Guid id) { return RoleAppService.GetOrganizationUnitsAsync(id); } /// /// 修改角色组织单元 /// /// /// /// [HttpPut] [Route("{id}/organization-units")] public virtual Task SetOrganizationUnitsAsync(Guid id, IdentityRoleAddOrRemoveOrganizationUnitDto input) { return RoleAppService.SetOrganizationUnitsAsync(id, input); } /// /// 删除角色组织单元 /// /// /// /// [HttpDelete] [Route("{id}/organization-units/{ouId}")] public virtual Task RemoveOrganizationUnitsAsync(Guid id, Guid ouId) { return RoleAppService.RemoveOrganizationUnitsAsync(id, ouId); } #endregion #region Claim /// /// 获取角色身份声明 /// /// /// [HttpGet] [Route("{id}/claims")] public virtual Task> GetClaimsAsync(Guid id) { return RoleAppService.GetClaimsAsync(id); } /// /// 创建角色身份声明 /// /// /// /// [HttpPost] [Route("{id}/claims")] public virtual Task AddClaimAsync(Guid id, IdentityRoleClaimCreateDto input) { return RoleAppService.AddClaimAsync(id, input); } /// /// 修改角色身份声明 /// /// /// /// [HttpPut] [Route("{id}/claims")] public virtual Task UpdateClaimAsync(Guid id, IdentityRoleClaimUpdateDto input) { return RoleAppService.UpdateClaimAsync(id, input); } /// /// 删除角色身份声明 /// /// /// /// [HttpDelete] [Route("{id}/claims")] public virtual Task DeleteClaimAsync(Guid id, IdentityRoleClaimDeleteDto input) { return RoleAppService.DeleteClaimAsync(id, input); } #endregion } }