예제 #1
0
        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!"));
        }
예제 #2
0
        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!"));
        }