Ejemplo n.º 1
0
        /// <summary>
        /// 分配权限
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task AssignAuthority(AssignAuthDto input)
        {
            var axis = _axisRepository.Get(input.Id);
            var user = await GetCurrentUserAsync();

            if (!_authorityManager.IsCreatedUser(user, axis))
            {
                Throw403Error();
            }

            var targetUser = await _userManager.GetUserByIdAsync(input.UID);

            var auth = Mapper.Map <AuthorityType[]>(input.AuthorizeType);

            if (auth.Length == 0)
            {
                ThrowNoDataError();
            }

            foreach (var type in auth)
            {
                _authorityManager.AssignTo(targetUser, axis, type);
            }
        }