コード例 #1
0
ファイル: AssetTests.cs プロジェクト: pavelkolom/squidex
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        public async Task <IActionResult> PostAssetFolder(string app, [FromBody] CreateAssetFolderDto request)
        {
            var command = request.ToCommand();

            var response = await InvokeCommandAsync(app, command);

            return(Ok(response));
        }
コード例 #4
0
ファイル: FolderTree.cs プロジェクト: slalFe/squidex-samples
        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);
        }
コード例 #5
0
ファイル: FolderTree.cs プロジェクト: Squidex/squidex-samples
        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);
        }
コード例 #6
0
ファイル: AssetTests.cs プロジェクト: pavelkolom/squidex
        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);
        }