This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git


The following commit(s) were added to refs/heads/main by this push:
     new 172df175 Add HTTP services to TopNAggregation operations (#415)
172df175 is described below

commit 172df1753b7e7a6f1ed49db50dd1c77badbdb823
Author: Gao Hongtao <hanahm...@gmail.com>
AuthorDate: Thu Mar 14 18:03:38 2024 +0800

    Add HTTP services to TopNAggregation operations (#415)
---
 CHANGES.md                               |  1 +
 api/proto/banyandb/database/v1/rpc.proto | 27 ++++++++++++++++++++++-----
 banyand/liaison/http/server.go           |  1 +
 docs/api-reference.md                    |  2 +-
 4 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 8d2d91f8..c3df6733 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -20,6 +20,7 @@ Release Notes.
   - Data ingestion and retrieval.
   - Flush memory data to disk.
   - Merge memory data and disk data.
+- Add HTTP services to TopNAggregation operations.
 
 ### Bugs
 
diff --git a/api/proto/banyandb/database/v1/rpc.proto 
b/api/proto/banyandb/database/v1/rpc.proto
index 09ffada3..a3429b7d 100644
--- a/api/proto/banyandb/database/v1/rpc.proto
+++ b/api/proto/banyandb/database/v1/rpc.proto
@@ -459,10 +459,27 @@ message TopNAggregationRegistryServiceExistResponse {
 }
 
 service TopNAggregationRegistryService {
-  rpc Create(TopNAggregationRegistryServiceCreateRequest) returns 
(TopNAggregationRegistryServiceCreateResponse);
-  rpc Update(TopNAggregationRegistryServiceUpdateRequest) returns 
(TopNAggregationRegistryServiceUpdateResponse);
-  rpc Delete(TopNAggregationRegistryServiceDeleteRequest) returns 
(TopNAggregationRegistryServiceDeleteResponse);
-  rpc Get(TopNAggregationRegistryServiceGetRequest) returns 
(TopNAggregationRegistryServiceGetResponse);
-  rpc List(TopNAggregationRegistryServiceListRequest) returns 
(TopNAggregationRegistryServiceListResponse);
+  rpc Create(TopNAggregationRegistryServiceCreateRequest) returns 
(TopNAggregationRegistryServiceCreateResponse) {
+    option (google.api.http) = {
+      post: "/v1/topn-agg/schema"
+      body: "*"
+    };
+  }
+  rpc Update(TopNAggregationRegistryServiceUpdateRequest) returns 
(TopNAggregationRegistryServiceUpdateResponse) {
+    option (google.api.http) = {
+      put: 
"/v1/topn-agg/schema/{top_n_aggregation.metadata.group}/{top_n_aggregation.metadata.name}"
+      body: "*"
+    };
+  }
+  rpc Delete(TopNAggregationRegistryServiceDeleteRequest) returns 
(TopNAggregationRegistryServiceDeleteResponse) {
+    option (google.api.http) = {delete: 
"/v1/topn-agg/schema/{metadata.group}/{metadata.name}"};
+  }
+  rpc Get(TopNAggregationRegistryServiceGetRequest) returns 
(TopNAggregationRegistryServiceGetResponse) {
+    option (google.api.http) = {get: 
"/v1/topn-agg/schema/{metadata.group}/{metadata.name}"};
+  }
+  rpc List(TopNAggregationRegistryServiceListRequest) returns 
(TopNAggregationRegistryServiceListResponse) {
+    option (google.api.http) = {get: "/v1/topn-agg/schema/lists/{group}"};
+  }
+  // Exist doesn't expose an HTTP endpoint. Please use HEAD method to touch 
Get instead
   rpc Exist(TopNAggregationRegistryServiceExistRequest) returns 
(TopNAggregationRegistryServiceExistResponse);
 }
diff --git a/banyand/liaison/http/server.go b/banyand/liaison/http/server.go
index e51cf77b..f1b10053 100644
--- a/banyand/liaison/http/server.go
+++ b/banyand/liaison/http/server.go
@@ -176,6 +176,7 @@ func (p *server) Serve() run.StopNotify {
                
databasev1.RegisterIndexRuleRegistryServiceHandlerFromEndpoint(ctx, gwMux, 
p.grpcAddr, opts),
                
databasev1.RegisterIndexRuleBindingRegistryServiceHandlerFromEndpoint(ctx, 
gwMux, p.grpcAddr, opts),
                databasev1.RegisterGroupRegistryServiceHandlerFromEndpoint(ctx, 
gwMux, p.grpcAddr, opts),
+               
databasev1.RegisterTopNAggregationRegistryServiceHandlerFromEndpoint(ctx, 
gwMux, p.grpcAddr, opts),
                streamv1.RegisterStreamServiceHandlerFromEndpoint(ctx, gwMux, 
p.grpcAddr, opts),
                measurev1.RegisterMeasureServiceHandlerFromEndpoint(ctx, gwMux, 
p.grpcAddr, opts),
                propertyv1.RegisterPropertyServiceHandlerFromEndpoint(ctx, 
gwMux, p.grpcAddr, opts),
diff --git a/docs/api-reference.md b/docs/api-reference.md
index 0d7875e7..f61a6f80 100644
--- a/docs/api-reference.md
+++ b/docs/api-reference.md
@@ -2282,7 +2282,7 @@ Type determine the index structure under the hood
 | Delete | 
[TopNAggregationRegistryServiceDeleteRequest](#banyandb-database-v1-TopNAggregationRegistryServiceDeleteRequest)
 | 
[TopNAggregationRegistryServiceDeleteResponse](#banyandb-database-v1-TopNAggregationRegistryServiceDeleteResponse)
 |  |
 | Get | 
[TopNAggregationRegistryServiceGetRequest](#banyandb-database-v1-TopNAggregationRegistryServiceGetRequest)
 | 
[TopNAggregationRegistryServiceGetResponse](#banyandb-database-v1-TopNAggregationRegistryServiceGetResponse)
 |  |
 | List | 
[TopNAggregationRegistryServiceListRequest](#banyandb-database-v1-TopNAggregationRegistryServiceListRequest)
 | 
[TopNAggregationRegistryServiceListResponse](#banyandb-database-v1-TopNAggregationRegistryServiceListResponse)
 |  |
-| Exist | 
[TopNAggregationRegistryServiceExistRequest](#banyandb-database-v1-TopNAggregationRegistryServiceExistRequest)
 | 
[TopNAggregationRegistryServiceExistResponse](#banyandb-database-v1-TopNAggregationRegistryServiceExistResponse)
 |  |
+| Exist | 
[TopNAggregationRegistryServiceExistRequest](#banyandb-database-v1-TopNAggregationRegistryServiceExistRequest)
 | 
[TopNAggregationRegistryServiceExistResponse](#banyandb-database-v1-TopNAggregationRegistryServiceExistResponse)
 | Exist doesn&#39;t expose an HTTP endpoint. Please use HEAD method to touch 
Get instead |
 
  
 

Reply via email to