public async Task <IActionResult> DeleteFolder(DeleteFolderAddressModel model) { var folders = _folderLocator.SplitStrings(model.FolderNames); var folder = await _folderLocator.LocateSiteAndFolder(model.AccessToken, model.SiteName, folders); if (folder.ContextId == null) { return(this.Protocol(ErrorType.NotEnoughResources, "We can not delete root folder! If you wanna delete your site, please consider delete your site directly!")); } await _folderOperator.DeleteFolder(folder); await _dbContext.SaveChangesAsync(); return(this.Protocol(ErrorType.Success, "Successfully deleted your folder!")); }
public async Task <IActionResult> DeleteFolder(DeleteFolderAddressModel model) { var folders = _folderSplitter.SplitToFolders(model.FolderNames); var folder = await _folderRepo.GetFolderAsOwner(model.AccessToken, model.SiteName, folders); if (folder == null) { return(this.Protocol(ErrorType.NotFound, "Locate folder failed!")); } if (folder.ContextId == null) { return(this.Protocol(ErrorType.InvalidInput, "We can not delete root folder! If you wanna delete your site, please consider delete your site directly!")); } await _folderRepo.DeleteFolder(folder.Id); return(this.Protocol(ErrorType.Success, "Successfully deleted your folder!")); }