/// <summary> /// A new folder will be added. /// </summary> /// <param name="newFolder"></param> /// /// <remarks> /// See the <a href="https://docs.syncthing.net/rest/config.html#rest-config-folders-id-rest-config-devices-id">Config Endpoints</a> for more information. /// </remarks> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> public async Task CreateOrEdit(NewFolder newFolder) { Ensure.ArgumentNotNull(newFolder, nameof(newFolder)); Ensure.ArgumentNotNullOrEmptyString(newFolder.Id, nameof(newFolder.Id)); Ensure.ArgumentNotNullOrEmptyString(newFolder.Path, nameof(newFolder.Path)); await ApiConnection.Post(ApiUrls.Folders(), newFolder); }
private async void FolderTracker_Created(object sender, FileSystemChangeSet e) { foreach (StorageFolder NewFolder in e.StorageItems) { e.ParentNode.Children.Add(new TreeViewNode { Content = NewFolder, HasUnrealizedChildren = (await NewFolder.GetFoldersAsync()).Count != 0 }); } }
private static bool CheckForObjects(NewFolder folder, GameObject[] gameObjects) { if (folder != null) { if (!CheckForObjectInScene(gameObjects, folder.parentFolder)) { return(true); } return(false); } return(false); }
private async void FolderTracker_Renamed(object sender, FileSystemRenameSet e) { foreach (var SubNode in from StorageFolder OldFolder in e.ToDeleteFileList from SubNode in from SubNode in e.ParentNode.Children where (SubNode.Content as StorageFolder).FolderRelativeId == OldFolder.FolderRelativeId select SubNode select SubNode) { e.ParentNode.Children.Remove(SubNode); } foreach (StorageFolder NewFolder in e.ToAddFileList) { e.ParentNode.Children.Add(new TreeViewNode { Content = NewFolder, HasUnrealizedChildren = (await NewFolder.GetFoldersAsync()).Count != 0 }); } }
public IActionResult User_AddFolder(int id, [FromBody] NewFolder folderToAdd) { // verify that the user is either admin or is requesting their own data if (!HelperMethods.ValidateIsUserOrAdmin(_httpContextAccessor, _context, id, _keyAndIV)) { ErrorMessage error = new ErrorMessage("Invalid User", "Caller can only access their information."); return(new UnauthorizedObjectResult(error)); } // folder limit is 10 for now if (_context.Users.Single(a => a.ID == id).Folders.Count >= 10) { ErrorMessage error = new ErrorMessage("Failed to create new account", "User cannot have more than 50 passwords saved at once."); return(new BadRequestObjectResult(error)); } folderToAdd.Parent_ID = folderToAdd.Parent_ID == 0 ? null : folderToAdd.Parent_ID; // parent id goes from 0 to null for simplicity // if user doesnt own the parent we throw error if (folderToAdd.Parent_ID != null && !_context.Users.Single(a => a.ID == id).Folders.Exists(b => b.ID == folderToAdd.Parent_ID)) { ErrorMessage error = new ErrorMessage("Invalid parent ID", "User does not have a folder with that ID"); return(new BadRequestObjectResult(error)); } // use token in header to to Folder new_folder = new Folder(folderToAdd, id); _context.Folders.Add(new_folder); // add new folder // only update parent if needed if (new_folder.ParentID != null) { _context.Users.Single(a => a.ID == id).Folders.Single(b => b.ID == new_folder.ParentID).HasChild = true;// set parent to having child } _context.SaveChanges(); return(Ok()); }
[HttpPost("{id:int}/folders")] // working public IActionResult User_AddFolder(int id, [FromBody] NewFolder folderToAdd) { try { // verify that the user is either admin or is requesting their own data if (!HelperMethods.ValidateIsUserOrAdmin(_httpContextAccessor, _context, id)) { ErrorMessage error = new ErrorMessage("Invalid User", "Caller can only access their information."); return(new UnauthorizedObjectResult(error)); } folderToAdd.Parent_ID = folderToAdd.Parent_ID == 0 ? null : folderToAdd.Parent_ID; // parent id goes from 0 to null for simplicity // if user doesnt own the parent we throw error if (folderToAdd.Parent_ID != null && !_context.Users.Single(a => a.ID == id).Folders.Exists(b => b.ID == folderToAdd.Parent_ID)) { ErrorMessage error = new ErrorMessage("Invalid parent ID", "User does not have a folder with that ID"); return(new BadRequestObjectResult(error)); } // use token in header to to Folder new_folder = new Folder(folderToAdd, id); _context.Folders.Add(new_folder); // add new folder // only update parent if needed if (new_folder.ParentID != null) { _context.Users.Single(a => a.ID == id).Folders.Single(b => b.ID == new_folder.ParentID).HasChild = true;// set parent to having child } _context.SaveChanges(); return(Ok()); } catch (Exception ex) { ErrorMessage error = new ErrorMessage("Error creating new folder.", ex.Message); return(new InternalServerErrorResult(error)); } }
public IHttpActionResult CreateFolder(NewFolder newFolder) { int id = 0; string strID = newFolder.NodeId.Remove(0, 1); if ((newFolder.NodeId[0] == 'F' || newFolder.NodeId[0] == 'P') && int.TryParse(strID, out id)) { Folder folder; using (ApplicationDbContext context = new ApplicationDbContext()) { folder = new Folder() { Name = newFolder.Name.Trim(), ParentID = id, }; context.Folders.Add(folder); context.SaveChanges(); } NotifyTreeNodeUpdate(folder, true); return(Ok()); } return(NotFound()); }
private void BtNewFolder_Click(object sender, EventArgs e) { NewFolder?.Invoke(); }