コード例 #1
0
ファイル: Move.cs プロジェクト: kobay/script-for-troubleshoot
        private static async Task <BoxFolder> EnsureTopFolder(BoxClient auClient, TimeLimiter throttle)
        {
            BoxFolder topFolder;

            try
            {
                // トップレベルに親フォルダを作成
                var folderParams = new BoxFolderRequest()
                {
                    Name   = Config.TopFolderName,
                    Parent = new BoxRequestEntity()
                    {
                        Id = "0"
                    }
                };
                await throttle;
                topFolder = await auClient.FoldersManager.CreateAsync(folderParams);
            }
            catch (BoxConflictException <BoxFolder> bce)
            {
                // スクリプトを一度実行して、既にトップレベルフォルダが存在している
                topFolder = bce.ConflictingItems.First();
                Console.WriteLine($"{topFolder.Name} already exists");
            }

            return(topFolder);
        }
コード例 #2
0
        public async Task <FileSystemInfoContract> MoveItemAsync(RootName root, FileSystemId source, string moveName, DirectoryId destination, Func <FileSystemInfoLocator> locatorResolver)
        {
            var context = await RequireContext(root);

            if (source is DirectoryId)
            {
                var request = new BoxFolderRequest()
                {
                    Id = source.Value, Parent = new BoxRequestEntity()
                    {
                        Id = destination.Value, Type = BoxType.folder
                    }, Name = moveName
                };
                var item = await AsyncFunc.Retry <BoxFolder, BoxException>(async() => await context.Client.FoldersManager.UpdateInformationAsync(request, fields: boxFolderFields), RETRIES);

                return(new DirectoryInfoContract(item.Id, item.Name, item.CreatedAt.Value, item.ModifiedAt.Value));
            }
            else
            {
                var request = new BoxFileRequest()
                {
                    Id = source.Value, Parent = new BoxRequestEntity()
                    {
                        Id = destination.Value, Type = BoxType.file
                    }, Name = moveName
                };
                var item = await AsyncFunc.Retry <BoxFile, BoxException>(async() => await context.Client.FilesManager.UpdateInformationAsync(request, fields: boxFileFields), RETRIES);

                return(new FileInfoContract(item.Id, item.Name, item.CreatedAt.Value, item.ModifiedAt.Value, item.Size.Value, item.Sha1.ToLowerInvariant()));
            }
        }
コード例 #3
0
        public async Task RestoreTrashedFolder_ValidResponse_ValidFolder()
        {
            /*** Arrange ***/
            _handler.Setup(h => h.ExecuteAsync <BoxFolder>(It.IsAny <IBoxRequest>()))
            .Returns(() => Task.FromResult <IBoxResponse <BoxFolder> >(new BoxResponse <BoxFolder>()
            {
                Status        = ResponseStatus.Success,
                ContentString = "{ \"type\": \"folder\", \"id\": \"588970022\", \"sequence_id\": \"2\", \"etag\": \"2\", \"name\": \"heloo world\", \"created_at\": \"2013-01-15T16:15:27-08:00\", \"modified_at\": \"2013-02-07T13:26:00-08:00\", \"description\": \"\", \"size\": 0, \"path_collection\": { \"total_count\": 1, \"entries\": [ { \"type\": \"folder\", \"id\": \"0\", \"sequence_id\": null, \"etag\": null, \"name\": \"All Files\" } ] }, \"created_by\": { \"type\": \"user\", \"id\": \"181757341\", \"name\": \"sean test\", \"login\": \"[email protected]\" }, \"modified_by\": { \"type\": \"user\", \"id\": \"181757341\", \"name\": \"sean test\", \"login\": \"[email protected]\" }, \"trashed_at\": null, \"purged_at\": null, \"content_created_at\": \"2013-01-15T16:15:27-08:00\", \"content_modified_at\": \"2013-02-07T13:26:00-08:00\", \"owned_by\": { \"type\": \"user\", \"id\": \"181757341\", \"name\": \"sean test\", \"login\": \"[email protected]\" }, \"shared_link\": null, \"folder_upload_email\": null, \"parent\": { \"type\": \"folder\", \"id\": \"0\", \"sequence_id\": null, \"etag\": null, \"name\": \"All Files\" }, \"item_status\": \"active\" }"
            }));

            /*** Act ***/
            BoxFolderRequest folderReq = new BoxFolderRequest()
            {
                Id     = "fakeId",
                Parent = new BoxRequestEntity()
                {
                    Id = "fakeId"
                }
            };

            BoxFolder f = await _foldersManager.RestoreTrashedFolderAsync(folderReq);

            /*** Assert ***/

            Assert.AreEqual("folder", f.Type);
            Assert.AreEqual("588970022", f.Id);
            Assert.AreEqual("2", f.SequenceId);
            Assert.AreEqual("2", f.ETag);
            Assert.AreEqual("heloo world", f.Name);
        }
コード例 #4
0
        public static async Task Setup(BoxClient boxClient)
        {
            var folderRequest = new BoxFolderRequest()
            {
                Name = "Test Folder", Parent = new BoxRequestEntity()
                {
                    Id = "0"
                }
            };
            var newFolder = await boxClient.FoldersManager.CreateAsync(folderRequest);

            var pathToFile = HttpContext.Current.Server.MapPath("~/");
            var fileName   = "text.txt";

            using (FileStream fs = File.Open(pathToFile + fileName, FileMode.Open))
            {
                // Create request object with name and parent folder the file should be uploaded to
                BoxFileRequest request = new BoxFileRequest()
                {
                    Name   = fileName,
                    Parent = new BoxRequestEntity()
                    {
                        Id = "0"
                    }
                };
                var boxFile = await boxClient.FilesManager.UploadAsync(request, fs);
            }
        }
コード例 #5
0
        protected async Task RunRename()
        {
            base.CheckForId(this._folderId.Value, this._app);
            base.CheckForValue(this._folderName.Value, _app, "A name value is required to rename a folder.");
            var boxClient           = base.ConfigureBoxClient(oneCallAsUserId: base._asUser.Value(), oneCallWithToken: base._oneUseToken.Value());
            var folderRenameRequest = new BoxFolderRequest()
            {
                Name = this._folderName.Value,
                Id   = this._folderId.Value
            };

            if (this._description.HasValue())
            {
                folderRenameRequest.Description = this._description.Value();
            }
            BoxFolder folder;

            if (this._etag.HasValue())
            {
                folder = await boxClient.FoldersManager.UpdateInformationAsync(folderRenameRequest, etag : this._etag.Value());
            }
            else
            {
                folder = await boxClient.FoldersManager.UpdateInformationAsync(folderRenameRequest);
            }
            if (base._json.HasValue() || this._home.GetBoxHomeSettings().GetOutputJsonSetting())
            {
                base.OutputJson(folder);
                return;
            }
            base.PrintFolder(folder);
        }
コード例 #6
0
        public async Task <FileSystemInfoContract> RenameItemAsync(RootName root, FileSystemId target, string newName, Func <FileSystemInfoLocator> locatorResolver)
        {
            var context = await RequireContext(root);

            if (target is DirectoryId)
            {
                var request = new BoxFolderRequest()
                {
                    Id = target.Value, Name = newName
                };
                var item = await AsyncFunc.Retry <BoxFolder, BoxException>(async() => await context.Client.FoldersManager.UpdateInformationAsync(request, fields: boxFolderFields), RETRIES);

                return(new DirectoryInfoContract(item.Id, item.Name, item.CreatedAt.Value, item.ModifiedAt.Value));
            }
            else
            {
                var request = new BoxFileRequest()
                {
                    Id = target.Value, Name = newName
                };
                var item = await AsyncFunc.Retry <BoxFile, BoxException>(async() => await context.Client.FilesManager.UpdateInformationAsync(request, fields: boxFileFields), RETRIES);

                return(new FileInfoContract(item.Id, item.Name, item.CreatedAt.Value, item.ModifiedAt.Value, item.Size.Value, item.Sha1.ToLowerInvariant()));
            }
        }
コード例 #7
0
        public async Task GetTrashItemsAsync_ForTrashedFolder_ShouldReturnTrashedFolder()
        {
            var createFolderRequest = new BoxFolderRequest
            {
                Name   = GetUniqueName("folder"),
                Parent = new BoxRequestEntity {
                    Id = FolderId
                }
            };
            var newFolder = await UserClient.FoldersManager.CreateAsync(createFolderRequest);

            await UserClient.FoldersManager.DeleteAsync(newFolder.Id, true);

            var response = await UserClient.FoldersManager.GetTrashItemsAsync(100);

            var trashedFolderFound = false;

            foreach (var item in response.Entries)
            {
                if (item is BoxFolder folder)
                {
                    if (item.Id == newFolder.Id)
                    {
                        trashedFolderFound = true;
                    }
                }
            }

            Assert.IsTrue(trashedFolderFound);

            await UserClient.FoldersManager.PurgeTrashedFolderAsync(newFolder.Id);
        }
コード例 #8
0
        public async Task UpdateFolderInformation_ValidResponse_ValidFolder()
        {
            /*** Arrange ***/
            _handler.Setup(h => h.ExecuteAsync <BoxFolder>(It.IsAny <IBoxRequest>()))
            .Returns(() => Task.FromResult <IBoxResponse <BoxFolder> >(new BoxResponse <BoxFolder>()
            {
                Status        = ResponseStatus.Success,
                ContentString = "{ \"type\": \"folder\", \"id\": \"11446498\", \"sequence_id\": \"1\", \"etag\": \"1\", \"name\": \"New Folder Name!\", \"created_at\": \"2012-12-12T10:53:43-08:00\", \"modified_at\": \"2012-12-12T11:15:04-08:00\", \"description\": \"Some pictures I took\", \"size\": 629644, \"path_collection\": { \"total_count\": 1, \"entries\": [ { \"type\": \"folder\", \"id\": \"0\", \"sequence_id\": null, \"etag\": null, \"name\": \"All Files\" } ] }, \"created_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"modified_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"owned_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"shared_link\": { \"url\": \"https://www.box.com/s/vspke7y05sb214wjokpk\", \"download_url\": \"https://www.box.com/shared/static/vspke7y05sb214wjokpk\", \"vanity_url\": null, \"is_password_enabled\": false, \"unshared_at\": null, \"download_count\": 0, \"preview_count\": 0, \"access\": \"open\", \"permissions\": { \"can_download\": true, \"can_preview\": true } }, \"folder_upload_email\": { \"access\": \"open\", \"email\": \"[email protected]\" }, \"parent\": { \"type\": \"folder\", \"id\": \"0\", \"sequence_id\": null, \"etag\": null, \"name\": \"All Files\" }, \"item_status\": \"active\", \"item_collection\": { \"total_count\": 1, \"entries\": [ { \"type\": \"file\", \"id\": \"5000948880\", \"sequence_id\": \"3\", \"etag\": \"3\", \"sha1\": \"134b65991ed521fcfe4724b7d814ab8ded5185dc\", \"name\": \"tigers.jpeg\" } ], \"offset\": 0, \"limit\": 100 } }"
            }));

            /*** Act ***/
            BoxFolderRequest folderReq = new BoxFolderRequest()
            {
                Id   = "fakeId",
                Name = "New Folder Name!",
                FolderUploadEmail = new BoxEmailRequest()
                {
                    Access = "open"
                }
            };

            BoxFolder f = await _foldersManager.UpdateInformationAsync(folderReq);

            /*** Assert ***/
            Assert.AreEqual("folder", f.Type);
            Assert.AreEqual("11446498", f.Id);
            Assert.AreEqual("1", f.SequenceId);
            Assert.AreEqual("1", f.ETag);
            Assert.AreEqual("New Folder Name!", f.Name);
        }
コード例 #9
0
ファイル: FolderCreateCommand.cs プロジェクト: TinLe/boxcli
        protected async Task RunCreate()
        {
            if (this._bulkPath.HasValue())
            {
                var json = false;
                if (base._json.HasValue() || this._home.GetBoxHomeSettings().GetOutputJsonSetting())
                {
                    json = true;
                }
                await this.CreateFoldersFromFile(this._bulkPath.Value(), this._save.HasValue(),
                                                 this._filePath.Value(), this._fileFormat.Value(), json : json);

                return;
            }
            base.CheckForParentId(this._parentFolderId.Value, this._app);
            var BoxClient     = base.ConfigureBoxClient(oneCallAsUserId: base._asUser.Value(), oneCallWithToken: base._oneUseToken.Value());
            var folderRequest = new BoxFolderRequest();

            folderRequest.Parent    = new BoxItemRequest();
            folderRequest.Parent.Id = this._parentFolderId.Value;
            folderRequest.Name      = this._name.Value;
            var folder = await BoxClient.FoldersManager.CreateAsync(folderRequest);

            if (this._idOnly.HasValue())
            {
                Reporter.WriteInformation(folder.Id);
                return;
            }
            if (base._json.HasValue() || this._home.GetBoxHomeSettings().GetOutputJsonSetting())
            {
                base.OutputJson(folder);
                return;
            }
            base.PrintFolder(folder);
        }
コード例 #10
0
        public async Task <FileSystemInfoContract> CopyItemAsync(RootName root, FileSystemId source, string copyName, DirectoryId destination, bool recurse)
        {
            var context = await RequireContext(root);

            if (source is DirectoryId)
            {
                var request = new BoxFolderRequest()
                {
                    Id = source.Value, Name = copyName, Parent = new BoxRequestEntity()
                    {
                        Id = destination.Value
                    }
                };
                var item = await AsyncFunc.Retry <BoxFolder, BoxException>(async() => await context.Client.FoldersManager.CopyAsync(request, boxFolderFields), RETRIES);

                return(new DirectoryInfoContract(item.Id, item.Name, item.CreatedAt.Value, item.ModifiedAt.Value));
            }
            else
            {
                var request = new BoxFileRequest()
                {
                    Id = source.Value, Name = copyName, Parent = new BoxRequestEntity()
                    {
                        Id = destination.Value
                    }
                };
                var item = await AsyncFunc.Retry <BoxFile, BoxException>(async() => await context.Client.FilesManager.CopyAsync(request, boxFileFields), RETRIES);

                return(new FileInfoContract(item.Id, item.Name, item.CreatedAt.Value, item.ModifiedAt.Value, item.Size.Value, item.Sha1.ToLowerInvariant()));
            }
        }
コード例 #11
0
ファイル: BoxSystem.cs プロジェクト: bassemfg/BoxSMBLibrary
        public FileSystemEntry CreateDirectory(string path)
        {
            FileSystemEntry fileSystemEntry = null;
            string          itemType        = null;
            string          parentPath      = "";// + RemoveLastFolderFromPath(path);
            string          parentFolderId  = GetFileOrFolderIDfromPath(parentPath, ref itemType);

            try
            {
                var boxEntityRequest = new BoxRequestEntity()
                {
                    Id = parentFolderId, Type = BoxType.folder
                };
                BoxFolderRequest folderRequest = new BoxFolderRequest()
                {
                    Parent = boxEntityRequest
                };
                var createDirectory = boxClient.FoldersManager.CreateAsync(folderRequest);
                createDirectory.Wait();
                fileSystemEntry = GetEntry(path);
            }
            catch (Exception e)
            {
                if (e.InnerException != null)
                {
                    EventLog.WriteEntry("Box SMB", e.Message + " Inner Exception: " + e.InnerException.Message, EventLogEntryType.Error);
                }
                else
                {
                    EventLog.WriteEntry("Box SMB", e.Message, EventLogEntryType.Error);
                }
            }

            return(fileSystemEntry);
        }
コード例 #12
0
        public BoxFolder RenameFolder(string boxFolderId, string newName)
        {
            var boxFolderRequest = new BoxFolderRequest {
                Id = boxFolderId, Name = newName
            };

            return(_boxClient.FoldersManager.UpdateInformationAsync(boxFolderRequest, _boxFields).Result);
        }
 public async Task UpdateFolderInformation_ValidRequest_Timeout()
 {
     BoxFolderRequest folderReq = new BoxFolderRequest()
     {
         Id = "0"
     };
     var       timeout = new TimeSpan(0, 0, 0, 0, 1); // 1ms timeout, should always cancel the request
     BoxFolder f       = await _client.FoldersManager.UpdateInformationAsync(folderRequest : folderReq, timeout : timeout);
 }
コード例 #14
0
        public async Task RestoreFolder_ValidResponse()
        {
            const string     folderId      = "44086997331";
            BoxFolderRequest folderRequest = new BoxFolderRequest()
            {
                Id = folderId
            };

            var restoredFolder = await _client.FoldersManager.RestoreTrashedFolderAsync(folderRequest);
        }
コード例 #15
0
ファイル: BoxHelper.cs プロジェクト: EdsonF/samples-3
        public static async Task PrepareBoxAppUser(ClaimsIdentity externalIdentity)
        {
            var auth0UserId = externalIdentity.Claims.FirstOrDefault(c => c.Type == "user_id").Value;
            var boxId       = GetBoxIdFromAuth0(auth0UserId);

            if (boxId == null)
            {
                //create a new app user in Box
                string email       = externalIdentity.Claims.FirstOrDefault(c => c.Type == "email").Value;
                var    userRequest = new BoxUserRequest()
                {
                    Name = email, IsPlatformAccessOnly = true
                };
                var appUser = await AdminClient().UsersManager.CreateEnterpriseUserAsync(userRequest);

                boxId = appUser.Id;

                //store the boxId in the user's Auth0 metadata
                var meta = new Dictionary <string, object>();
                meta.Add(BOX_USER_ID_KEY, boxId);
                AUTH0_CLIENT.UpdateUserMetadata(auth0UserId, meta);

                //now do the initial box account setup
                var boxClient     = UserClient((string)boxId);
                var folderRequest = new BoxFolderRequest()
                {
                    Name = "Test Folder", Parent = new BoxRequestEntity()
                    {
                        Id = "0"
                    }
                };
                var newFolder = await boxClient.FoldersManager.CreateAsync(folderRequest);

                var pathToFile = HttpContext.Current.Server.MapPath("~/Assets/");
                var fileName   = "test.txt";
                using (FileStream fs = File.Open(pathToFile + fileName, FileMode.Open))
                {
                    // Create request object with name and parent folder the file should be uploaded to
                    BoxFileRequest request = new BoxFileRequest()
                    {
                        Name   = fileName,
                        Parent = new BoxRequestEntity()
                        {
                            Id = "0"
                        }
                    };
                    var boxFile = await boxClient.FilesManager.UploadAsync(request, fs);
                }
            }

            HttpContext.Current.Session[BOX_USER_ID_KEY] = (string)boxId;
        }
コード例 #16
0
        public BoxFolder CreateFolder(string title, string parentId)
        {
            var boxFolderRequest = new BoxFolderRequest
            {
                Name   = title,
                Parent = new BoxRequestEntity
                {
                    Id = parentId
                }
            };

            return(_boxClient.FoldersManager.CreateAsync(boxFolderRequest, _boxFields).Result);
        }
コード例 #17
0
        public BoxFolder MoveFolder(string boxFolderId, string toFolderId)
        {
            var boxFolderRequest = new BoxFolderRequest
            {
                Id     = boxFolderId,
                Parent = new BoxRequestEntity
                {
                    Id = toFolderId
                }
            };

            return(_boxClient.FoldersManager.UpdateInformationAsync(boxFolderRequest, _boxFields).Result);
        }
コード例 #18
0
        private static Task <BoxFolder> CreateNewFolder(BoxClient userClient)
        {
            var folderRequest = new BoxFolderRequest
            {
                Description = "Test folder",
                Name        = "Misc",
                Parent      = new BoxFolderRequest {
                    Id = "0"
                }
            };

            return(userClient.FoldersManager.CreateAsync(folderRequest));
        }
コード例 #19
0
        /// <summary>
        /// Used to update information about the folder. To move a folder, update the ID of its parent. To enable an
        /// email address that can be used to upload files to this folder, update the folder_upload_email attribute.
        /// An optional If-Match header can be included to ensure that client only updates the folder if it knows
        /// about the latest version.
        /// </summary>
        /// <returns></returns>
        public async Task <BoxFolder> UpdateInformationAsync(BoxFolderRequest folderRequest, List <string> fields = null)
        {
            folderRequest.ThrowIfNull("folderRequest")
            .Id.ThrowIfNullOrWhiteSpace("folderRequest.Id");

            BoxRequest request = new BoxRequest(_config.FoldersEndpointUri, folderRequest.Id)
                                 .Param(ParamFields, fields)
                                 .Payload(_converter.Serialize(folderRequest))
                                 .Method(RequestMethod.Put);

            IBoxResponse <BoxFolder> response = await ToResponseAsync <BoxFolder>(request).ConfigureAwait(false);

            return(response.ResponseObject);
        }
コード例 #20
0
ファイル: FolderSubCommandBase.cs プロジェクト: TinLe/boxcli
        protected async virtual Task <BoxFolder> MoveFolder(string folderId, string parentFolderId, string etag = "")
        {
            var boxClient     = base.ConfigureBoxClient(oneCallAsUserId: base._asUser.Value(), oneCallWithToken: base._oneUseToken.Value());
            var folderRequest = new BoxFolderRequest()
            {
                Id     = folderId,
                Parent = new BoxItemRequest()
                {
                    Id = parentFolderId
                }
            };

            return(await boxClient.FoldersManager.UpdateInformationAsync(folderRequest, etag : etag));
        }
コード例 #21
0
        private static async Task <FileFolderInfo> CreateFolder(BoxClient client, UserTokenHandler tokenHandler, string name, string parentFolderID)
        {
            var folderRequest = new BoxFolderRequest {
                Name = name, Parent = new BoxRequestEntity {
                    Id = parentFolderID
                }
            };

            Box.V2.Models.BoxFolder folder = await client.FoldersManager.CreateAsync(folderRequest, new List <string> {
                BoxItem.FieldName, BoxItem.FieldModifiedAt
            }).ConfigureAwait(false);

            return(new FileFolderInfo(folder.Id, folder.Name, parentFolderID, folder.ModifiedAt));
        }
コード例 #22
0
        public BoxFolder CopyFolder(string boxFolderId, string newFolderName, string toFolderId)
        {
            var boxFolderRequest = new BoxFolderRequest
            {
                Id     = boxFolderId,
                Name   = newFolderName,
                Parent = new BoxRequestEntity
                {
                    Id = toFolderId
                }
            };

            return(_boxClient.FoldersManager.CopyAsync(boxFolderRequest, _boxFields).Result);
        }
コード例 #23
0
ファイル: Move.cs プロジェクト: kobay/script-for-troubleshoot
 private static async Task MoveFolder(BoxItem item, BoxFolder topFolder, BoxClient auClient,
                                      TimeLimiter throttle)
 {
     var folderRequest = new BoxFolderRequest()
     {
         Id     = item.Id,
         Parent = new BoxRequestEntity()
         {
             Id = topFolder.Id
         }
     };
     await throttle;
     await auClient.FoldersManager.UpdateInformationAsync(folderRequest);
 }
コード例 #24
0
        public async Task <DirectoryInfoContract> NewDirectoryItemAsync(RootName root, DirectoryId parent, string name)
        {
            var context = await RequireContextAsync(root);

            var request = new BoxFolderRequest()
            {
                Name = name, Parent = new BoxRequestEntity()
                {
                    Id = parent.Value
                }
            };
            var item = await retryPolicy.ExecuteAsync(() => context.Client.FoldersManager.CreateAsync(request, boxFolderFields));

            return(new DirectoryInfoContract(item.Id, item.Name, item.CreatedAt.Value, item.ModifiedAt.Value));
        }
コード例 #25
0
        public async Task <DirectoryInfoContract> NewDirectoryItemAsync(RootName root, DirectoryId parent, string name)
        {
            var context = await RequireContext(root);

            var request = new BoxFolderRequest()
            {
                Name = name, Parent = new BoxRequestEntity()
                {
                    Id = parent.Value
                }
            };
            var item = await AsyncFunc.Retry <BoxFolder, BoxException>(async() => await context.Client.FoldersManager.CreateAsync(request, boxFolderFields), RETRIES);

            return(new DirectoryInfoContract(item.Id, item.Name, item.CreatedAt.Value, item.ModifiedAt.Value));
        }
コード例 #26
0
        public async Task UpdateInformationAsync_ForExistingFolder_ShouldCorrectlyUpdateThisFolderName()
        {
            var createdFolder = await CreateFolder(FolderId);

            var newFolderName = GetUniqueName("new_folder_name");
            var updateRequest = new BoxFolderRequest()
            {
                Id   = createdFolder.Id,
                Name = newFolderName,
            };

            BoxFolder folder = await UserClient.FoldersManager.UpdateInformationAsync(updateRequest);

            Assert.AreEqual(folder.Name, newFolderName);
        }
コード例 #27
0
        public async Task CreateAsync_ForCorrectBoxFolderRequest_ShouldCreateNewFolder()
        {
            var folderName = GetUniqueName("Folder");
            var folderReq  = new BoxFolderRequest()
            {
                Name   = folderName,
                Parent = new BoxRequestEntity()
                {
                    Id = FolderId
                }
            };

            BoxFolder folder = await UserClient.FoldersManager.CreateAsync(folderReq);

            Assert.AreEqual(folder.Name, folderName);
        }
コード例 #28
0
        public static async Task <FileFolderInfo> MoveFolder(UserTokenHandler tokenHandler, string movingFolderID, string newParentFolderID)
        {
            var client = GetNewBoxClient(tokenHandler);

            var folderRequest = new BoxFolderRequest {
                Id = movingFolderID, Parent = new BoxRequestEntity()
                {
                    Id = newParentFolderID, Type = BoxType.folder
                }
            };
            BoxFolder folder = await client.FoldersManager.UpdateInformationAsync(folderRequest, new List <string> {
                BoxItem.FieldName, BoxItem.FieldModifiedAt, BoxItem.FieldParent
            }).ConfigureAwait(false);

            return(new FileFolderInfo(folder.Id, folder.Name, folder.Parent.Id, folder.ModifiedAt));
        }
コード例 #29
0
        private static async Task <BoxFolder> CreateFolderAsync(BoxClient auClient, BoxUser appUser, int num,
                                                                TimeLimiter throttle)
        {
            var folderParams = new BoxFolderRequest()
            {
                Name   = "TestFolder" + num,
                Parent = new BoxRequestEntity()
                {
                    Id = "0"
                }
            };
            await throttle;
            var   folder = await auClient.FoldersManager.CreateAsync(folderParams);

            return(folder);
        }
コード例 #30
0
        /// <summary>
        /// Used to create a new empty folder. The new folder will be created inside of the specified parent folder.
        /// </summary>
        /// <param name="folderRequest">BoxFolderRequest object</param>
        /// <param name="fields">Attribute(s) to include in the response</param>
        /// <returns>A full folder object is returned if the parent folder ID is valid and if no name collisions occur.</returns>
        public async Task <BoxFolder> CreateAsync(BoxFolderRequest folderRequest, IEnumerable <string> fields = null)
        {
            folderRequest.ThrowIfNull("folderRequest")
            .Name.ThrowIfNullOrWhiteSpace("folderRequest.Name");
            folderRequest.Parent.ThrowIfNull("folderRequest.Parent")
            .Id.ThrowIfNullOrWhiteSpace("folderRequest.Parent.Id");

            BoxRequest request = new BoxRequest(_config.FoldersEndpointUri)
                                 .Method(RequestMethod.Post)
                                 .Param(ParamFields, fields)
                                 .Payload(_converter.Serialize <BoxFolderRequest>(folderRequest));

            IBoxResponse <BoxFolder> response = await ToResponseAsync <BoxFolder>(request).ConfigureAwait(false);

            return(response.ResponseObject);
        }