示例#1
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            UpdateFolderRequest request;

            try
            {
                request = new UpdateFolderRequest
                {
                    WorkspaceId         = WorkspaceId,
                    FolderKey           = FolderKey,
                    UpdateFolderDetails = UpdateFolderDetails,
                    OpcRequestId        = OpcRequestId,
                    IfMatch             = IfMatch
                };

                response = client.UpdateFolder(request).GetAwaiter().GetResult();
                WriteOutput(response, response.Folder);
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
        internal static ApiUpdateFolderRequest ToApiUpdateFolderRequest(UpdateFolderRequest updateFolderRequest)
        {
            ApiUpdateFolderRequest apiUpdateFolderRequest = new ApiUpdateFolderRequest {
                Name  = updateFolderRequest.Name,
                Notes = updateFolderRequest.Notes
            };

            return(apiUpdateFolderRequest);
        }
        /// <summary>
        /// Update a folder with new name, description, visibility etc.
        ///
        /// c.f. https://developers.freshdesk.com/api/#solution_folder_attributes
        /// </summary>
        ///
        /// <param name="folderId">
        /// The unique identifier for the folder.
        /// </param>
        ///
        /// <param name="request">
        /// An object containing what information we want to update about the
        /// folder.
        /// </param>
        ///
        /// <param name="languageCode">
        /// The language code (e.g. es) which the translation corresponds to.
        ///
        /// Defaults to null which means update the default language version
        /// of the article.
        /// </param>
        ///
        /// <param name="cancellationToken"></param>
        ///
        /// <returns>
        /// The updated folder information (translated if the language code
        /// was set)
        /// </returns>
        public async Task <Folder> UpdateFolderAsync(
            long folderId,
            UpdateFolderRequest request,
            string languageCode = null,
            CancellationToken cancellationToken = default)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request), "The request must not be null");
            }

            var url = string.IsNullOrWhiteSpace(languageCode)
                ? $"/api/v2/solutions/folders/{folderId}"
                : $"/api/v2/solutions/folders/{folderId}/{languageCode}";

            return(await _freshdeskClient.ApiOperationAsync <Folder>(HttpMethod.Put, url, request, cancellationToken).ConfigureAwait(false));
        }
示例#4
0
        public Node UpdateFolder(UpdateFolderRequest request)
        {
            _client.Executor.CheckApiServerVersion();

            #region Parameter Validation

            request.MustNotNull(nameof(request));
            request.Id.MustPositive(nameof(request.Id));
            request.Name.MustNotNullOrEmptyOrWhitespace(nameof(request.Name), true);

            #endregion

            ApiUpdateFolderRequest apiUpdateFolderRequest = FolderMapper.ToApiUpdateFolderRequest(request);
            IRestRequest           restRequest            = _client.Builder.PutFolder(request.Id, apiUpdateFolderRequest);
            ApiNode result = _client.Executor.DoSyncApiCall <ApiNode>(restRequest, RequestType.PutFolder);
            return(NodeMapper.FromApiNode(result));
        }
示例#5
0
        public void ToApiUpdateFolderRequest()
        {
            // ARRANGE
            ApiUpdateFolderRequest expected = FactoryFolder.ApiUpdateFolderRequest;

            UpdateFolderRequest param = new UpdateFolderRequest(346)
            {
                Name  = expected.Name,
                Notes = expected.Notes
            };

            // ACT
            ApiUpdateFolderRequest actual = FolderMapper.ToApiUpdateFolderRequest(param);

            // ASSERT
            Assert.Equal(expected, actual, new ApiUpdateFolderRequestComparer());
        }
示例#6
0
        public async void update(long device_id, [FromQuery] string account_id, [FromBody] UpdateFolderRequest request)
        {
            using (var dbContext = new PulseDbContext())
            {
                var(account, folder) = await GetFolder(dbContext, device_id, account_id);

                if (folder == null)
                {
                    return;
                }

                folder.Name = request.Name;

                //await FirebaseHelper.SendMessage(account, "updated_folder", folder);

                await dbContext.SaveChangesAsync();
            }
        }
 public void Put(UpdateFolderRequest request)
 {
     Repository.Update(request.Entity);
 }