public async Task <ApiResourceDto> UpdateAsync(Guid id, UpdateApiResourceInputDto input)
        {
            var nameExist = await _repository.CheckNameExistAsync(input.Name, id);

            if (nameExist)
            {
                throw new ApiResourceNameNowAllowedDuplicateException(input.Name);
            }

            // 新生成密钥为明文,需要sha256
            input.TryEncryptSecrets();

            var apiResource = await _repository.FindAsync(id, true);

            apiResource = ObjectMapper.Map <UpdateApiResourceInputDto, ApiResource>(input, apiResource);

            apiResource.RemoveAllUserClaims();
            input.UserClaims.ForEach(claim =>
            {
                apiResource.AddUserClaim(claim);
            });

            apiResource = await _repository.UpdateAsync(apiResource);

            return(MapToGetListOutputDto(apiResource));
        }
예제 #2
0
        public async Task <ApiResourceDto> UpdateAsync(Guid id, UpdateApiResourceInputDto input)
        {
            var nameExist = await _repository.CheckNameExistAsync(input.Name, id);

            if (nameExist)
            {
                throw new ApiResourceNameNowAllowedDuplicateException(input.Name);
            }
            var apiResource = await _repository.FindAsync(id, true);

            apiResource = ObjectMapper.Map <UpdateApiResourceInputDto, ApiResource>(input, apiResource);
            apiResource = await _repository.UpdateAsync(apiResource);

            return(MapToGetListOutputDto(apiResource));
        }
예제 #3
0
 public async Task <ApiResourceDto> UpdateAsync(Guid id, UpdateApiResourceInputDto input)
 {
     return(await this._apiResourceAppService.UpdateAsync(id, input));
 }