public async Task GetListOfResources()
        {
            byte[] resource = new byte[128];

            UpdateResourceRequest request1 = new UpdateResourceRequest()
            {
                Identity = configId,
                Name     = "Resource 1.png",
                Content  = new MemoryStream(resource)
            };

            UpdateResourceRequest request2 = new UpdateResourceRequest()
            {
                Identity = configId,
                Name     = "Resource 2.png",
                Content  = new MemoryStream(resource)
            };

            await target.UpdateResource(request1);

            await target.UpdateResource(request2);

            var result = await target.GetResourceCatalogue(configId);

            Assert.Equal(2, result.Count());
            Assert.Single(result.Where(f => f.Name == request1.Name));
            Assert.Single(result.Where(f => f.Name == request2.Name));
        }
        public async void CanUpdate()
        {
            byte[] resource = new byte[128];

            UpdateResourceRequest request = new UpdateResourceRequest()
            {
                Identity = configId,
                Name     = "Resource 128.png",
                Content  = new MemoryStream(resource)
            };

            await target.UpdateResource(request);

            byte[] resourceUpdated = new byte[16];

            UpdateResourceRequest requestUpdated = new UpdateResourceRequest()
            {
                Identity = configId,
                Name     = "Resource 128.png",
                Content  = new MemoryStream(resourceUpdated)
            };

            await target.UpdateResource(requestUpdated);

            using (var result = await target.GetResource(request.Name, configId))
            {
                Assert.Equal(resourceUpdated.LongCount(), result.Content.Length);
            }
        }
        public async void CopyResources()
        {
            byte[] resource = new byte[128];

            UpdateResourceRequest request = new UpdateResourceRequest()
            {
                Identity = configId,
                Name     = "Resource 128.png",
                Content  = new MemoryStream(resource)
            };
            await target.UpdateResource(request);

            var client2 = new ConfigurationClient
            {
                ClientId    = "3FEE5A18-A00F-4565-BEFE-C79E0823F6D4",
                Name        = "Client 2",
                Description = "A description Client"
            };

            var configId2 = new ConfigurationIdentity(client2, new Version(1, 0));


            await target.CopyResources(configId, configId2);


            var result = await target.GetResourceCatalogue(configId2);

            Assert.Single(result);
            Assert.Equal(request.Name, result.First().Name);
        }
        internal virtual UpdateResourceResponse UpdateResource(UpdateResourceRequest request)
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = UpdateResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateResourceResponseUnmarshaller.Instance;

            return(Invoke <UpdateResourceResponse>(request, options));
        }
        /// <summary>
        /// Updates the data access role used for vending access to the given (registered) resource
        /// in AWS Lake Formation.
        /// </summary>
        /// <param name="request">Container for the necessary parameters to execute the UpdateResource service method.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        ///
        /// <returns>The response from the UpdateResource service method, as returned by LakeFormation.</returns>
        /// <exception cref="Amazon.LakeFormation.Model.EntityNotFoundException">
        /// A specified entity does not exist
        /// </exception>
        /// <exception cref="Amazon.LakeFormation.Model.InternalServiceException">
        /// An internal service error occurred.
        /// </exception>
        /// <exception cref="Amazon.LakeFormation.Model.InvalidInputException">
        /// The input provided was not valid.
        /// </exception>
        /// <exception cref="Amazon.LakeFormation.Model.OperationTimeoutException">
        /// The operation timed out.
        /// </exception>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource">REST API Reference for UpdateResource Operation</seealso>
        public virtual Task <UpdateResourceResponse> UpdateResourceAsync(UpdateResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = UpdateResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateResourceResponseUnmarshaller.Instance;

            return(InvokeAsync <UpdateResourceResponse>(request, options, cancellationToken));
        }
Beispiel #6
0
        public Task UpdateResource(UpdateResourceRequest request)
        {
            string path         = Path.Combine(GetResourceSetFolder(request.Identity).FullName, request.Name);
            var    existingFile = new FileInfo(path);

            ArchiveIfExists(existingFile, request.Identity);
            using (var writeStream = File.Create(path))
            {
                request.Content.Seek(0, SeekOrigin.Begin);
                request.Content.CopyTo(writeStream);
            }

            return(Task.FromResult(true));
        }
        private async Task SaveClientResource(HttpContext context, string resourceName, ConfigurationIdentity clientIdentity, ConfigServerOptions options)
        {
            if (!context.ChallengeClientConfigurator(options, clientIdentity.Client, httpResponseFactory))
            {
                return;
            }

            var file          = context.Request.Form.Files.Single();
            var uploadRequest = new UpdateResourceRequest
            {
                Name     = resourceName,
                Identity = clientIdentity,
                Content  = file.OpenReadStream()
            };
            await resourceStore.UpdateResource(uploadRequest);

            httpResponseFactory.BuildNoContentResponse(context);
        }
        public async void DeleteResources()
        {
            byte[] resource = new byte[128];

            UpdateResourceRequest request = new UpdateResourceRequest()
            {
                Identity = configId,
                Name     = "Resource 128.png",
                Content  = new MemoryStream(resource)
            };
            await target.UpdateResource(request);

            await target.DeleteResources(request.Name, configId);


            var result = await target.GetResourceCatalogue(configId);

            Assert.Empty(result.Where(f => f.Name == request.Name));
        }
        public async Task CanSaveAndRetriveAsync()
        {
            byte[] resource = new byte[128];


            UpdateResourceRequest request = new UpdateResourceRequest()
            {
                Identity = configId,
                Name     = "Resource 128.png",
                Content  = new MemoryStream(resource)
            };

            await target.UpdateResource(request);


            using (var result = await target.GetResource(request.Name, configId))
            {
                Assert.Equal(resource.LongCount(), result.Content.Length);
            }
        }
Beispiel #10
0
        public async Task UpdateResource(UpdateResourceRequest request)
        {
            Tracer.TraceMessage($"Updating of resource : {request.Id}");
            Tracer.TraceMessage($"Deletion of relations from table <{CategoriesName}>");
            await DeleteRelationsRecord(CategoriesName, request.Id);

            Tracer.TraceMessage($"Deletion of relations from table <{ResourceGroupsName}>");
            await DeleteRelationsRecord(ResourceGroupsName, request.Id);

            Tracer.TraceMessage($"Deletion of relation from table <{Names}>");
            await Redis.HashDeleteAsync(Names, request.Id);

            Tracer.TraceMessage($"Deletion of relations from table <{TagsName}>");
            await DeleteRelationsRecord(TagsName, request.Id);

            Tracer.TraceMessage("Updating of <Resource> table");
            await CreateOrUpdateResourceRecord(request, request.Id);

            await CreateResourceInternal(request, request.Id);
        }
Beispiel #11
0
        public async Task <IActionResult> UpdateResource(UpdateResourceRequest model)
        {
            var updateResource = await _resourceService.UpdateResource(_mapper.Map <UpdateResourceCommand>(model));

            return(NoContent());
        }
Beispiel #12
0
 public async Task UpdateResource(UpdateResourceRequest request)
 {
     await _resourceRepository.UpdateResourceAsync(request);
 }
Beispiel #13
0
        public override ApiHandlerOutput Process(ApiInputHandler input)
        {
            UpdateResourceRequest request = GetEntity <UpdateResourceRequest>(input);

            Guid resourceId = Guid.Parse(request.Id);

            Guid domainId = Guid.Parse(request.Domain);

            using (SqlConnection connection = new SqlConnection(Settings.Current.StorageSource))
            {
                connection.Open();

                using (SqlCommand command = new SqlCommand("Zesty_Resource_Update", connection))
                {
                    command.CommandType = CommandType.StoredProcedure;

                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@resourceId", Value = resourceId
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@url", Value = request.Url.Trim()
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@ParentId", Value = !string.IsNullOrEmpty(request.ParentId) ? Guid.Parse(request.ParentId) : (Object)DBNull.Value
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@isPublic", Value = request.IsPublic ? 1 : 0
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@requireToken", Value = request.RequireToken ? 1 : 0
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@order", Value = request.Order
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@label", Value = !string.IsNullOrEmpty(request.Label) ? request.Label.Trim() : (Object)DBNull.Value
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@title", Value = !string.IsNullOrEmpty(request.Title) ? request.Title.Trim() : (Object)DBNull.Value
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@image", Value = !string.IsNullOrEmpty(request.Image) ? request.Image.Trim() : (Object)DBNull.Value
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@type", Value = !string.IsNullOrEmpty(request.Type) ? request.Type.Trim() : (Object)DBNull.Value
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@domain", Value = domainId
                    });

                    command.ExecuteNonQuery();
                }
            }

            return(GetOutput());
        }
 public Task UpdateResource(UpdateResourceRequest request)
 {
     return(Task.FromResult(true));
 }
 public Task UpdateResource(UpdateResourceRequest request)
 {
     return(SetFileAsync(request.Identity, request.Name, request.Content));
 }
Beispiel #16
0
        private async void SaveButton_OnClick(object sender, RoutedEventArgs e)
        {
            SaveButton.IsEnabled = false;
            RegistryCommon.Instance.MainProgressBar.Text = StatusBarState.Saving;

            if (!ValidateFields())
            {
                SaveButton.IsEnabled = true;
                return;
            }

            var selectedCategory = (TreeViewItem)CategoriesTree.SelectedItem;
            var resourceGroups   = new List <Guid>();

            foreach (CheckBox item in GroupsListBox.Items)
            {
                if (item.IsChecked == true)
                {
                    resourceGroups.Add(Guid.Parse(item.Uid));
                }
            }

            var request = new UpdateResourceRequest
            {
                Id             = _selectedResource.Id,
                Name           = ResourceTitle.Text,
                Description    = ResourceDescription.Text,
                OwnerLogin     = RegistryCommon.Instance.Login,
                CategoryId     = Guid.Parse(selectedCategory.Uid),
                ResourceGroups = resourceGroups.ToArray(),
                SaveDate       = _selectedResource.Id
            };

            if (string.IsNullOrEmpty(ResourceTags.Text))
            {
                request.Tags = new string[0];
            }
            else
            {
                var tags = ResourceTags.Text.Split(',');
                for (int i = 0; i < tags.Length; i++)
                {
                    int count = 0;
                    for (int j = 0; j < tags[i].Length; j++)
                    {
                        if (tags[i][j] != ' ')
                        {
                            break;
                        }

                        count++;
                    }

                    tags[i] = tags[i].Remove(0, count);
                }

                request.Tags = tags;
            }

            try
            {
                if (SetNewFileRadioButton.IsChecked == true)
                {
                    using (var fileStream = new FileStream(FileNameTextBox.Text, FileMode.Open))
                    {
                        request.FileName =
                            FileNameTextBox.Text.Substring(FileNameTextBox.Text.LastIndexOf("\\", StringComparison.Ordinal));
                        request.Url =
                            await
                            _resourceService.UploadToBlob(fileStream,
                                                          $"{request.SaveDate.ToString(CultureInfo.InvariantCulture)}_{request.FileName}");
                    }
                }

                await _resourceService.UpdateResource(request);

                RegistryCommon.Instance.MainGrid.OpenUserControlWithSignOut(new Resources());
                RegistryCommon.Instance.MainProgressBar.Text = StatusBarState.Saved;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Помилка", MessageBoxButton.OK, MessageBoxImage.Error);
                SaveButton.IsEnabled = true;
            }
        }