From 74c861342e19611dba534bb719aafda757f0d009 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Mon, 5 Sep 2022 16:46:56 +0300 Subject: [PATCH] [#1753] services/tree: Add parent ID to the `GetNodeByPath` response Currently, you need to use `GetSubTree` to get parent, which seems an overkill. Signed-off-by: Evgenii Stratonikov --- pkg/services/tree/service.go | 3 ++- pkg/services/tree/service.pb.go | Bin 97443 -> 99801 bytes pkg/services/tree/service.proto | 2 ++ pkg/services/tree/service_grpc.pb.go | Bin 15010 -> 15166 bytes pkg/services/tree/service_neofs.pb.go | Bin 46953 -> 47054 bytes pkg/services/tree/types.pb.go | Bin 9666 -> 9843 bytes 6 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/services/tree/service.go b/pkg/services/tree/service.go index 374e80ae..4506095e 100644 --- a/pkg/services/tree/service.go +++ b/pkg/services/tree/service.go @@ -308,12 +308,13 @@ func (s *Service) GetNodeByPath(ctx context.Context, req *GetNodeByPathRequest) info := make([]*GetNodeByPathResponse_Info, 0, len(nodes)) for _, node := range nodes { - m, _, err := s.forest.TreeGetMeta(cid, b.GetTreeId(), node) + m, parent, err := s.forest.TreeGetMeta(cid, b.GetTreeId(), node) if err != nil { return nil, err } var x GetNodeByPathResponse_Info + x.ParentId = parent x.NodeId = node x.Timestamp = m.Time if b.AllAttributes { diff --git a/pkg/services/tree/service.pb.go b/pkg/services/tree/service.pb.go index a278e582772218b74057414d9342863e547151b4..1f4a74c6fe660a3b9365e8fb9ec2d1b4cbcdc854 100644 GIT binary patch delta 5802 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 diff --git a/pkg/services/tree/service.proto b/pkg/services/tree/service.proto index 94741c4d..43aba82c 100644 --- a/pkg/services/tree/service.proto +++ b/pkg/services/tree/service.proto @@ -202,6 +202,8 @@ message GetNodeByPathResponse { uint64 timestamp = 2; // Node meta-information. repeated KeyValue meta = 3; + // Parent ID. + uint64 parent_id = 4; } message Body { // List of nodes stored by path. diff --git a/pkg/services/tree/service_grpc.pb.go b/pkg/services/tree/service_grpc.pb.go index 7de60958c8118e3aa2403261ab52fa45d05b5eee..091f30c5c5604978ac25e24424112f20dbad418b 100644 GIT binary patch delta 172 zcmZ2fy02_P1Ea~t#v=B~ev)i%{slhy=?X=uC8b4q#R`cE#U(|liMa~-X$m>{>FKE{ z3i$=8MTsSu`9Rs?lEk8t%)E4kw4(f6h2s3&RE3Px%=C;Bz0Dul&4j6Go~m@MJOHwW BKbZgk delta 22 ecmdm2wy1PM1Eb-_#v=C3jvOY!n-5D@%L4#zGzg~v diff --git a/pkg/services/tree/service_neofs.pb.go b/pkg/services/tree/service_neofs.pb.go index eb4b2b4732e97e7f4e6281fa4d693ce3fd192ace..0eea38fe017a51f1ba503f3daf78370b59c471bb 100644 GIT binary patch delta 70 zcmV-M0J;C^?gGy50lVBtZ0W`C0B%lG4P;C~I%w`O;KWSqDlW+wPlkj;2 clg~#Tldwk%lO$iIlV5EUldY{4vu|tqOB#6{fB*mh delta 36 ucmV+<0Nel0?*i%W0EwhMBXVYc5Pm@DRHI diff --git a/pkg/services/tree/types.pb.go b/pkg/services/tree/types.pb.go index 5a2173073688a680211ad36e61aaaff21ad73745..5dac12d551c33c492797fb26df806b1128c972ed 100644 GIT binary patch delta 221 zcmY+8y=uZx7=~#x83zX;;?#F69nM)q=PZ>HDFw$)C&{ONn7^K%)O7X&3T~ae1@R7g zOWuG9xVXL#&%^s4T^2JbUwkPMx*cb%bOU3xORUpmU`sed_-4C-)kH9)Yfeb`{%`d# zIei@;N1bb}=Ga+6q4E~?B5DqSHy_@yT4j#J`P19?r!82LW|i>|rKnt-ae^&1PzEWj vxM)`{@J{9H65+?&ttkfMgY?8xr}Mf{-Aj}!DCA^}S`*?jZN&L`@E2SGVO~iL delta 55 zcmezDbI5z5c>$y0#uW>gSiMs#6%;1NGrMoz&D_Mz0^&|Sz$`hrhhL8+I5RyD$WhtM IEKnc@05uE}%>V!Z