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(Name = IdentityRemoteServiceConsts.RemoteServiceName)] [Area("identity")] [ControllerName("organization-units")] [Route("api/identity/organization-units")] public class OrganizationUnitController : AbpController, IOrganizationUnitAppService { protected IOrganizationUnitAppService OrganizationUnitAppService { get; } public OrganizationUnitController( IOrganizationUnitAppService organizationUnitAppService) { OrganizationUnitAppService = organizationUnitAppService; } [HttpPost] public virtual async Task CreateAsync(OrganizationUnitCreateDto input) { return await OrganizationUnitAppService.CreateAsync(input); } [HttpDelete] [Route("{id}")] public virtual async Task DeleteAsync(Guid id) { await OrganizationUnitAppService.DeleteAsync(id); } [HttpGet] [Route("find-children")] public virtual async Task> FindChildrenAsync(OrganizationUnitGetChildrenDto input) { return await OrganizationUnitAppService.FindChildrenAsync(input); } [HttpGet] [Route("{id}")] public virtual async Task GetAsync(Guid id) { return await OrganizationUnitAppService.GetAsync(id); } [HttpGet] [Route("root-node")] public virtual async Task> GetRootAsync() { return await OrganizationUnitAppService.GetRootAsync(); } [HttpGet] [Route("last-children")] public virtual async Task GetLastChildOrNullAsync(Guid? parentId) { return await OrganizationUnitAppService.GetLastChildOrNullAsync(parentId); } [HttpGet] [Route("all")] public virtual async Task> GetAllListAsync() { return await OrganizationUnitAppService.GetAllListAsync(); } [HttpGet] public virtual async Task> GetListAsync(OrganizationUnitGetByPagedDto input) { return await OrganizationUnitAppService.GetListAsync(input); } [HttpGet] [Route("{id}/role-names")] public virtual async Task> GetRoleNamesAsync(Guid id) { return await OrganizationUnitAppService.GetRoleNamesAsync(id); } [HttpGet] [Route("{id}/unadded-roles")] public virtual async Task> GetUnaddedRolesAsync(Guid id, OrganizationUnitGetUnaddedRoleByPagedDto input) { return await OrganizationUnitAppService.GetUnaddedRolesAsync(id, input); } [HttpGet] [Route("{id}/roles")] public virtual async Task> GetRolesAsync(Guid id, PagedAndSortedResultRequestDto input) { return await OrganizationUnitAppService.GetRolesAsync(id, input); } [HttpGet] [Route("{id}/unadded-users")] public virtual async Task> GetUnaddedUsersAsync(Guid id, OrganizationUnitGetUnaddedUserByPagedDto input) { return await OrganizationUnitAppService.GetUnaddedUsersAsync(id, input); } [HttpGet] [Route("{id}/users")] public virtual async Task> GetUsersAsync(Guid id, GetIdentityUsersInput input) { return await OrganizationUnitAppService.GetUsersAsync(id, input); } [HttpPost] [Route("{id}/users")] public virtual async Task AddUsersAsync(Guid id, OrganizationUnitAddUserDto input) { await OrganizationUnitAppService.AddUsersAsync(id, input); } [HttpPost] [Route("{id}/roles")] public virtual async Task AddRolesAsync(Guid id, OrganizationUnitAddRoleDto input) { await OrganizationUnitAppService.AddRolesAsync(id, input); } [HttpPut] [Route("{id}/move")] public virtual async Task MoveAsync(Guid id, OrganizationUnitMoveDto input) { await OrganizationUnitAppService.MoveAsync(id, input); } [HttpPut] [Route("{id}")] public virtual async Task UpdateAsync(Guid id, OrganizationUnitUpdateDto input) { return await OrganizationUnitAppService.UpdateAsync(id, input); } } }