コード例 #1
0
        public Node GetNode(string nodePath)
        {
            _client.Executor.CheckApiServerVersion();

            #region Parameter Validation

            nodePath.MustValidNodePath(nameof(nodePath));

            #endregion

            string            parentNodePath   = nodePath.Substring(0, nodePath.LastIndexOf('/') + 1);
            string            searchedNodeName = nodePath.Substring(nodePath.LastIndexOf('/') + 1);
            SearchNodesFilter snf = new SearchNodesFilter();
            snf.AddParentPathFilter(SearchNodesFilter.ParentPath.EqualTo(parentNodePath).Build());

            NodeList result = SearchNodes(searchedNodeName, filter: snf);

            foreach (Node currentNode in result.Items)
            {
                if (currentNode.Name.Equals(searchedNodeName))
                {
                    return(currentNode);
                }
            }

            throw new DracoonApiException(DracoonApiCode.SERVER_NODE_NOT_FOUND);
        }
コード例 #2
0
        private static void GetFavorites()
        {
            SearchNodesFilter favoriteFilter = new SearchNodesFilter();

            favoriteFilter.AddIsFavoriteFilter(SearchNodesFilter.IsFavorite.EqualTo(true).Build());

            NodeList favoriteNodes = dc.Nodes.SearchNodes("*", 0, filter: favoriteFilter);

            foreach (Node current in favoriteNodes.Items)
            {
                Console.WriteLine("SearchedNodeId: " + current.Id + "; NodeName: " + current.Name + "; isFavorite: " + current.IsFavorite);
            }
        }
コード例 #3
0
        private static void SearchNodesWithFilterAndSort()
        {
            SearchNodesFilter searchFilter = new SearchNodesFilter();

            searchFilter.AddNodeTypeFilter(SearchNodesFilter.Type.EqualTo(NodeType.File).Build());

            NodeList searchedNodes = dc.Nodes.SearchNodes("Test", 0, filter: searchFilter, sort: SearchNodesSort.Size.Ascending());

            foreach (Node current in searchedNodes.Items)
            {
                Console.WriteLine("SearchedNodeId: " + current.Id + "; NodeName: " + current.Name + "; Size: " + current.Size);
            }
        }
コード例 #4
0
        IRestRequest IRequestBuilder.GetSearchNodes(long parentNodeId, string searchString, long offset, long limit, int depthLevel = -1,
                                                    SearchNodesFilter filter = null, SearchNodesSort sort = null)
        {
            RestRequest request = new RestRequest(ApiConfig.ApiGetSearchNodes, Method.GET);

            SetGeneralRestValues(request, true);
            AddFilters(filter, request);
            AddSort(sort, request);
            request.AddQueryParameter("search_string", searchString);
            request.AddQueryParameter("parent_id", parentNodeId.ToString());
            request.AddQueryParameter("depth_level", depthLevel.ToString());
            request.AddQueryParameter("offset", offset.ToString());
            request.AddQueryParameter("limit", limit.ToString());
            return(request);
        }
コード例 #5
0
        public void Nodes_GetSearchNodes()
        {
            // ARRANGE
            string            searchString = "test";
            long              parent = 234, offset = 2, limit = 3;
            int               depth = 1;
            SearchNodesFilter f     = new SearchNodesFilter();

            f.AddIsFavoriteFilter(SearchNodesFilter.IsFavorite.EqualTo(true).Build());
            SearchNodesSort s        = SearchNodesSort.Name.Ascending();
            IRequestBuilder builder  = new DracoonRequestBuilder(FactoryClients.OAuthMock);
            IRestRequest    expected = FactoryClients.RequestBuilderMock.GetSearchNodes(parent, searchString, offset, limit, depth, f, s);

            // ACT
            IRestRequest actual = builder.GetSearchNodes(parent, searchString, offset, limit, depth, f, s);

            // ASSERT
            Assert.Equal(expected, actual, new RestRequestComparer());
        }
コード例 #6
0
        public NodeList SearchNodes(string searchString, long parentNodeId = 0, long offset = 0, long limit = 500, SearchNodesFilter filter = null,
                                    SearchNodesSort sort = null)
        {
            _client.Executor.CheckApiServerVersion();

            #region Parameter Validation

            searchString.MustNotNullOrEmptyOrWhitespace(nameof(searchString));
            parentNodeId.MustNotNegative(nameof(parentNodeId));
            offset.MustNotNegative(nameof(offset));
            limit.MustPositive(nameof(limit));

            #endregion

            IRestRequest restRequest = _client.Builder.GetSearchNodes(parentNodeId, searchString, offset, limit, filter: filter, sort: sort);
            ApiNodeList  result      = _client.Executor.DoSyncApiCall <ApiNodeList>(restRequest, RequestType.GetSearchNodes);
            return(NodeMapper.FromApiNodeList(result));
        }
コード例 #7
0
        internal static IRestRequest GetSearchNodesMock(long id, string search, long offset, long limit, int depth = -1, SearchNodesFilter f = null, SearchNodesSort s = null)
        {
            RestRequest rr = RestRequestWithAuth(ApiConfig.ApiGetSearchNodes, Method.GET);

            ApplyFilter(f, rr);
            ApplySort(s, rr);
            rr.AddQueryParameter("search_string", search);
            rr.AddQueryParameter("parent_id", id.ToString());
            rr.AddQueryParameter("depth_level", depth.ToString());
            rr.AddQueryParameter("offset", offset.ToString());
            rr.AddQueryParameter("limit", limit.ToString());
            return(rr);
        }