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("User")] [Route("api/identity/users")] public class IdentityUserController : AbpController, IIdentityUserAppService { protected IIdentityUserAppService UserAppService { get; } public IdentityUserController(IIdentityUserAppService userAppService) { UserAppService = userAppService; } #region OrganizationUnit /// /// 获取该用户的组织单位 /// /// /// [HttpGet] [Route("{id}/organization-units")] public async virtual Task> GetOrganizationUnitsAsync(Guid id) { return await UserAppService.GetOrganizationUnitsAsync(id); } /// /// 修改该用户组织单位 /// /// /// /// [HttpPut] [Route("{id}/organization-units")] public async virtual Task SetOrganizationUnitsAsync(Guid id, IdentityUserOrganizationUnitUpdateDto input) { await UserAppService.SetOrganizationUnitsAsync(id, input); } /// /// 删除该用户组织单位 /// /// /// /// [HttpDelete] [Route("{id}/organization-units/{ouId}")] public async virtual Task RemoveOrganizationUnitsAsync(Guid id, Guid ouId) { await UserAppService.RemoveOrganizationUnitsAsync(id, ouId); } #endregion #region Claim /// /// 获取用户身份声明 /// /// /// [HttpGet] [Route("{id}/claims")] public async virtual Task> GetClaimsAsync(Guid id) { return await UserAppService.GetClaimsAsync(id); } /// /// 创建用户身份声明 /// /// /// /// [HttpPost] [Route("{id}/claims")] public async virtual Task AddClaimAsync(Guid id, IdentityUserClaimCreateDto input) { await UserAppService.AddClaimAsync(id, input); } /// /// 修改用户身份声明 /// /// /// /// [HttpPut] [Route("{id}/claims")] public async virtual Task UpdateClaimAsync(Guid id, IdentityUserClaimUpdateDto input) { await UserAppService.UpdateClaimAsync(id, input); } /// /// 删除用户身份声明 /// /// /// /// [HttpDelete] [Route("{id}/claims")] public async virtual Task DeleteClaimAsync(Guid id, IdentityUserClaimDeleteDto input) { await UserAppService.DeleteClaimAsync(id, input); } #endregion /// /// 变更用户双因素验证选项 /// /// /// /// [HttpPut] [Route("change-two-factor")] public async virtual Task ChangeTwoFactorEnabledAsync(Guid id, TwoFactorEnabledDto input) { await UserAppService.ChangeTwoFactorEnabledAsync(id, input); } /// /// 锁定 /// /// 用户Id /// 秒 /// [HttpPut] [Route("{id}/lock/{seconds}")] public async virtual Task LockAsync(Guid id, int seconds) { await UserAppService.LockAsync(id, seconds); } /// /// 解锁 /// /// 用户Id /// [HttpPut] [Route("{id}/unlock")] public async virtual Task UnLockAsync(Guid id) { await UserAppService.UnLockAsync(id); } } }