@@ -94,6 +94,26 @@ service RegistryServer{
9494
9595}
9696
97+ // Common pagination and sorting messages
98+ message PaginationParams {
99+ int32 page = 1 ; // 1-based page number
100+ int32 limit = 2 ; // Number of items per page
101+ }
102+
103+ message SortingParams {
104+ string sort_by = 1 ; // Field to sort by (supports dot notation)
105+ string sort_order = 2 ; // "asc" or "desc"
106+ }
107+
108+ message PaginationMetadata {
109+ int32 page = 1 ;
110+ int32 limit = 2 ;
111+ int32 total_count = 3 ;
112+ int32 total_pages = 4 ;
113+ bool has_next = 5 ;
114+ bool has_previous = 6 ;
115+ }
116+
97117message RefreshRequest {
98118 string project = 1 ;
99119}
@@ -142,10 +162,13 @@ message ListEntitiesRequest {
142162 string project = 1 ;
143163 bool allow_cache = 2 ;
144164 map <string ,string > tags = 3 ;
165+ PaginationParams pagination = 4 ;
166+ SortingParams sorting = 5 ;
145167}
146168
147169message ListEntitiesResponse {
148170 repeated feast.core.Entity entities = 1 ;
171+ PaginationMetadata pagination = 2 ;
149172}
150173
151174message DeleteEntityRequest {
@@ -172,10 +195,13 @@ message ListDataSourcesRequest {
172195 string project = 1 ;
173196 bool allow_cache = 2 ;
174197 map <string ,string > tags = 3 ;
198+ PaginationParams pagination = 4 ;
199+ SortingParams sorting = 5 ;
175200}
176201
177202message ListDataSourcesResponse {
178203 repeated feast.core.DataSource data_sources = 1 ;
204+ PaginationMetadata pagination = 2 ;
179205}
180206
181207message DeleteDataSourceRequest {
@@ -206,10 +232,13 @@ message ListFeatureViewsRequest {
206232 string project = 1 ;
207233 bool allow_cache = 2 ;
208234 map <string ,string > tags = 3 ;
235+ PaginationParams pagination = 4 ;
236+ SortingParams sorting = 5 ;
209237}
210238
211239message ListFeatureViewsResponse {
212240 repeated feast.core.FeatureView feature_views = 1 ;
241+ PaginationMetadata pagination = 2 ;
213242}
214243
215244message DeleteFeatureViewRequest {
@@ -240,10 +269,13 @@ message ListAllFeatureViewsRequest {
240269 string project = 1 ;
241270 bool allow_cache = 2 ;
242271 map <string ,string > tags = 3 ;
272+ PaginationParams pagination = 4 ;
273+ SortingParams sorting = 5 ;
243274}
244275
245276message ListAllFeatureViewsResponse {
246277 repeated AnyFeatureView feature_views = 1 ;
278+ PaginationMetadata pagination = 2 ;
247279}
248280
249281
@@ -259,10 +291,13 @@ message ListStreamFeatureViewsRequest {
259291 string project = 1 ;
260292 bool allow_cache = 2 ;
261293 map <string ,string > tags = 3 ;
294+ PaginationParams pagination = 4 ;
295+ SortingParams sorting = 5 ;
262296}
263297
264298message ListStreamFeatureViewsResponse {
265299 repeated feast.core.StreamFeatureView stream_feature_views = 1 ;
300+ PaginationMetadata pagination = 2 ;
266301}
267302
268303// OnDemandFeatureView
@@ -277,10 +312,13 @@ message ListOnDemandFeatureViewsRequest {
277312 string project = 1 ;
278313 bool allow_cache = 2 ;
279314 map <string ,string > tags = 3 ;
315+ PaginationParams pagination = 4 ;
316+ SortingParams sorting = 5 ;
280317}
281318
282319message ListOnDemandFeatureViewsResponse {
283320 repeated feast.core.OnDemandFeatureView on_demand_feature_views = 1 ;
321+ PaginationMetadata pagination = 2 ;
284322}
285323
286324// FeatureServices
@@ -301,10 +339,13 @@ message ListFeatureServicesRequest {
301339 string project = 1 ;
302340 bool allow_cache = 2 ;
303341 map <string ,string > tags = 3 ;
342+ PaginationParams pagination = 4 ;
343+ SortingParams sorting = 5 ;
304344}
305345
306346message ListFeatureServicesResponse {
307347 repeated feast.core.FeatureService feature_services = 1 ;
348+ PaginationMetadata pagination = 2 ;
308349}
309350
310351message DeleteFeatureServiceRequest {
@@ -331,10 +372,13 @@ message ListSavedDatasetsRequest {
331372 string project = 1 ;
332373 bool allow_cache = 2 ;
333374 map <string ,string > tags = 3 ;
375+ PaginationParams pagination = 4 ;
376+ SortingParams sorting = 5 ;
334377}
335378
336379message ListSavedDatasetsResponse {
337380 repeated feast.core.SavedDataset saved_datasets = 1 ;
381+ PaginationMetadata pagination = 2 ;
338382}
339383
340384message DeleteSavedDatasetRequest {
@@ -361,10 +405,13 @@ message ListValidationReferencesRequest {
361405 string project = 1 ;
362406 bool allow_cache = 2 ;
363407 map <string ,string > tags = 3 ;
408+ PaginationParams pagination = 4 ;
409+ SortingParams sorting = 5 ;
364410}
365411
366412message ListValidationReferencesResponse {
367413 repeated feast.core.ValidationReference validation_references = 1 ;
414+ PaginationMetadata pagination = 2 ;
368415}
369416
370417message DeleteValidationReferenceRequest {
@@ -391,10 +438,13 @@ message ListPermissionsRequest {
391438 string project = 1 ;
392439 bool allow_cache = 2 ;
393440 map <string ,string > tags = 3 ;
441+ PaginationParams pagination = 4 ;
442+ SortingParams sorting = 5 ;
394443}
395444
396445message ListPermissionsResponse {
397446 repeated feast.core.Permission permissions = 1 ;
447+ PaginationMetadata pagination = 2 ;
398448}
399449
400450message DeletePermissionRequest {
@@ -418,10 +468,13 @@ message GetProjectRequest {
418468message ListProjectsRequest {
419469 bool allow_cache = 1 ;
420470 map <string ,string > tags = 2 ;
471+ PaginationParams pagination = 3 ;
472+ SortingParams sorting = 4 ;
421473}
422474
423475message ListProjectsResponse {
424476 repeated feast.core.Project projects = 1 ;
477+ PaginationMetadata pagination = 2 ;
425478}
426479
427480message DeleteProjectRequest {
@@ -446,11 +499,15 @@ message GetRegistryLineageRequest {
446499 bool allow_cache = 2 ;
447500 string filter_object_type = 3 ;
448501 string filter_object_name = 4 ;
502+ PaginationParams pagination = 5 ;
503+ SortingParams sorting = 6 ;
449504}
450505
451506message GetRegistryLineageResponse {
452507 repeated EntityRelation relationships = 1 ;
453508 repeated EntityRelation indirect_relationships = 2 ;
509+ PaginationMetadata relationships_pagination = 3 ;
510+ PaginationMetadata indirect_relationships_pagination = 4 ;
454511}
455512
456513message GetObjectRelationshipsRequest {
@@ -459,8 +516,11 @@ message GetObjectRelationshipsRequest {
459516 string object_name = 3 ;
460517 bool include_indirect = 4 ;
461518 bool allow_cache = 5 ;
519+ PaginationParams pagination = 6 ;
520+ SortingParams sorting = 7 ;
462521}
463522
464523message GetObjectRelationshipsResponse {
465524 repeated EntityRelation relationships = 1 ;
525+ PaginationMetadata pagination = 2 ;
466526}
0 commit comments