public async Task Should_delete_recursively() { // STEP 1: Create asset folder var createRequest1 = new CreateAssetFolderDto { FolderName = "folder1" }; var folder_1 = await _.Assets.PostAssetFolderAsync(_.AppName, createRequest1); // STEP 2: Create nested asset folder var createRequest2 = new CreateAssetFolderDto { FolderName = "subfolder", ParentId = folder_1.Id }; var folder_2 = await _.Assets.PostAssetFolderAsync(_.AppName, createRequest2); // STEP 3: Create asset in folder var asset_1 = await _.UploadFileAsync("Assets/logo-squared.png", "image/png", null, folder_2.Id); // STEP 4: Delete folder. await _.Assets.DeleteAssetFolderAsync(_.AppName, folder_1.Id); // STEP 5: Wait for recursive deleter to delete the asset. await Task.Delay(5000); var ex = await Assert.ThrowsAnyAsync <SquidexManagementException>(() => _.Assets.GetAssetAsync(_.AppName, asset_1.Id.ToString())); Assert.Equal(404, ex.StatusCode); }
public async Task <IActionResult> PostAssetFolder(string app, [FromBody] CreateAssetFolderDto request) { var command = request.ToCommand(); var response = await InvokeCommandAsync(app, command); return(CreatedAtAction(nameof(GetAssetFolders), new { parentId = request.ParentId, app }, response)); }
public async Task <IActionResult> PostAssetFolder(string app, [FromBody] CreateAssetFolderDto request) { var command = request.ToCommand(); var response = await InvokeCommandAsync(app, command); return(Ok(response)); }
private async Task <FolderNode> AddFolderAsync(FolderNode current, string name) { var request = new CreateAssetFolderDto { FolderName = name, ParentId = current.Id }; var folder = await session.Assets.PostAssetFolderAsync(session.App, request); current = TryAdd(current, folder.Id, name); current.HasBeenQueried = true; return(current); }
public async Task <string> GetIdAsync(string path) { if (path == null || path.Equals(".", StringComparison.OrdinalIgnoreCase)) { return(null); } path = path.Trim(TrimChars); if (path.Length == 0) { return(null); } var names = path.Split(SplitChars, StringSplitOptions.RemoveEmptyEntries); var current = rootNode; foreach (var name in names) { if (current.Children.TryGetValue(name, out var child)) { current = child; continue; } var request = new CreateAssetFolderDto { FolderName = name, ParentId = current.Id }; var folder = await session.Assets.PostAssetFolderAsync(session.App, request); current = TryAdd(current, folder.Id, name); } return(current.Id); }
public async Task Should_query_asset_by_subfolder() { // STEP 1: Create asset folder var folderRequest = new CreateAssetFolderDto { FolderName = "sub" }; var folder = await _.Assets.PostAssetFolderAsync(_.AppName, folderRequest); // STEP 1: Create asset in folder var asset_1 = await _.UploadFileAsync("Assets/logo-squared.png", "image/png", parentId : folder.Id); // STEP 2: Query asset by root folder. var assets_1 = await _.Assets.GetAssetsAsync(_.AppName, new AssetQuery { ParentId = folder.Id }); Assert.Single(assets_1.Items, x => x.Id == asset_1.Id); }