From 01f1b961e192c79caf1086981e908db2211e931a Mon Sep 17 00:00:00 2001 From: johnnyjoy Date: Sat, 17 Aug 2024 21:40:51 +0800 Subject: [PATCH] chore: tweak collection service response --- frontend/web/src/stores/collection.ts | 24 +- proto/api/v1/collection_service.proto | 29 +- proto/gen/api/v1/README.md | 85 +-- proto/gen/api/v1/collection_service.pb.go | 653 +++++------------- .../gen/api/v1/collection_service_grpc.pb.go | 51 +- proto/gen/apidocs.swagger.yaml | 31 +- server/route/api/v1/collection_service.go | 34 +- 7 files changed, 224 insertions(+), 683 deletions(-) diff --git a/frontend/web/src/stores/collection.ts b/frontend/web/src/stores/collection.ts index 72192b6..ec6ed54 100644 --- a/frontend/web/src/stores/collection.ts +++ b/frontend/web/src/stores/collection.ts @@ -31,13 +31,9 @@ const useCollectionStore = create()((set, get) => ({ return collectionMap[id] as Collection; } - const { collection } = await collectionServiceClient.getCollection({ + const collection = await collectionServiceClient.getCollection({ id: id, }); - if (!collection) { - throw new Error(`Collection with id ${id} not found`); - } - collectionMap[id] = collection; set(collectionMap); return collection; @@ -50,40 +46,28 @@ const useCollectionStore = create()((set, get) => ({ return Object.values(get().collectionMapById); }, fetchCollectionByName: async (collectionName: string) => { - const { collection } = await collectionServiceClient.getCollectionByName({ + const collection = await collectionServiceClient.getCollectionByName({ name: collectionName, }); - if (!collection) { - throw new Error(`Collection with name ${collectionName} not found`); - } - const collectionMap = get().collectionMapById; collectionMap[collection.id] = collection; set(collectionMap); return collection; }, createCollection: async (collection: Collection) => { - const { collection: createdCollection } = await collectionServiceClient.createCollection({ + const createdCollection = await collectionServiceClient.createCollection({ collection: collection, }); - if (!createdCollection) { - throw new Error(`Failed to create collection`); - } - const collectionMap = get().collectionMapById; collectionMap[createdCollection.id] = createdCollection; set(collectionMap); return createdCollection; }, updateCollection: async (collection: Partial, updateMask: string[]) => { - const { collection: updatedCollection } = await collectionServiceClient.updateCollection({ + const updatedCollection = await collectionServiceClient.updateCollection({ collection: collection, updateMask: updateMask, }); - if (!updatedCollection) { - throw new Error("Collection not found"); - } - const collectionMap = get().collectionMapById; collectionMap[updatedCollection.id] = updatedCollection; set(collectionMap); diff --git a/proto/api/v1/collection_service.proto b/proto/api/v1/collection_service.proto index cdd6448..c5a2e48 100644 --- a/proto/api/v1/collection_service.proto +++ b/proto/api/v1/collection_service.proto @@ -5,6 +5,7 @@ package slash.api.v1; import "api/v1/common.proto"; import "google/api/annotations.proto"; import "google/api/client.proto"; +import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; @@ -16,21 +17,21 @@ service CollectionService { option (google.api.http) = {get: "/api/v1/collections"}; } // GetCollection returns a collection by id. - rpc GetCollection(GetCollectionRequest) returns (GetCollectionResponse) { + rpc GetCollection(GetCollectionRequest) returns (Collection) { option (google.api.http) = {get: "/api/v1/collections/{id}"}; option (google.api.method_signature) = "id"; } // GetCollectionByName returns a collection by name. - rpc GetCollectionByName(GetCollectionByNameRequest) returns (GetCollectionByNameResponse) {} + rpc GetCollectionByName(GetCollectionByNameRequest) returns (Collection) {} // CreateCollection creates a collection. - rpc CreateCollection(CreateCollectionRequest) returns (CreateCollectionResponse) { + rpc CreateCollection(CreateCollectionRequest) returns (Collection) { option (google.api.http) = { post: "/api/v1/collections" body: "collection" }; } // UpdateCollection updates a collection. - rpc UpdateCollection(UpdateCollectionRequest) returns (UpdateCollectionResponse) { + rpc UpdateCollection(UpdateCollectionRequest) returns (Collection) { option (google.api.http) = { put: "/api/v1/collections/{collection.id}" body: "collection" @@ -38,7 +39,7 @@ service CollectionService { option (google.api.method_signature) = "collection,update_mask"; } // DeleteCollection deletes a collection by id. - rpc DeleteCollection(DeleteCollectionRequest) returns (DeleteCollectionResponse) { + rpc DeleteCollection(DeleteCollectionRequest) returns (google.protobuf.Empty) { option (google.api.http) = {delete: "/api/v1/collections/{id}"}; option (google.api.method_signature) = "id"; } @@ -74,38 +75,20 @@ message GetCollectionRequest { int32 id = 1; } -message GetCollectionResponse { - Collection collection = 1; -} - message GetCollectionByNameRequest { string name = 1; } -message GetCollectionByNameResponse { - Collection collection = 1; -} - message CreateCollectionRequest { Collection collection = 1; } -message CreateCollectionResponse { - Collection collection = 1; -} - message UpdateCollectionRequest { Collection collection = 1; google.protobuf.FieldMask update_mask = 2; } -message UpdateCollectionResponse { - Collection collection = 1; -} - message DeleteCollectionRequest { int32 id = 1; } - -message DeleteCollectionResponse {} diff --git a/proto/gen/api/v1/README.md b/proto/gen/api/v1/README.md index cbe5001..c809fb8 100644 --- a/proto/gen/api/v1/README.md +++ b/proto/gen/api/v1/README.md @@ -37,17 +37,12 @@ - [api/v1/collection_service.proto](#api_v1_collection_service-proto) - [Collection](#slash-api-v1-Collection) - [CreateCollectionRequest](#slash-api-v1-CreateCollectionRequest) - - [CreateCollectionResponse](#slash-api-v1-CreateCollectionResponse) - [DeleteCollectionRequest](#slash-api-v1-DeleteCollectionRequest) - - [DeleteCollectionResponse](#slash-api-v1-DeleteCollectionResponse) - [GetCollectionByNameRequest](#slash-api-v1-GetCollectionByNameRequest) - - [GetCollectionByNameResponse](#slash-api-v1-GetCollectionByNameResponse) - [GetCollectionRequest](#slash-api-v1-GetCollectionRequest) - - [GetCollectionResponse](#slash-api-v1-GetCollectionResponse) - [ListCollectionsRequest](#slash-api-v1-ListCollectionsRequest) - [ListCollectionsResponse](#slash-api-v1-ListCollectionsResponse) - [UpdateCollectionRequest](#slash-api-v1-UpdateCollectionRequest) - - [UpdateCollectionResponse](#slash-api-v1-UpdateCollectionResponse) - [CollectionService](#slash-api-v1-CollectionService) @@ -529,21 +524,6 @@ - - -### CreateCollectionResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| collection | [Collection](#slash-api-v1-Collection) | | | - - - - - - ### DeleteCollectionRequest @@ -559,16 +539,6 @@ - - -### DeleteCollectionResponse - - - - - - - ### GetCollectionByNameRequest @@ -584,21 +554,6 @@ - - -### GetCollectionByNameResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| collection | [Collection](#slash-api-v1-Collection) | | | - - - - - - ### GetCollectionRequest @@ -614,21 +569,6 @@ - - -### GetCollectionResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| collection | [Collection](#slash-api-v1-Collection) | | | - - - - - - ### ListCollectionsRequest @@ -669,21 +609,6 @@ - - - -### UpdateCollectionResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| collection | [Collection](#slash-api-v1-Collection) | | | - - - - - @@ -699,11 +624,11 @@ | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| | ListCollections | [ListCollectionsRequest](#slash-api-v1-ListCollectionsRequest) | [ListCollectionsResponse](#slash-api-v1-ListCollectionsResponse) | ListCollections returns a list of collections. | -| GetCollection | [GetCollectionRequest](#slash-api-v1-GetCollectionRequest) | [GetCollectionResponse](#slash-api-v1-GetCollectionResponse) | GetCollection returns a collection by id. | -| GetCollectionByName | [GetCollectionByNameRequest](#slash-api-v1-GetCollectionByNameRequest) | [GetCollectionByNameResponse](#slash-api-v1-GetCollectionByNameResponse) | GetCollectionByName returns a collection by name. | -| CreateCollection | [CreateCollectionRequest](#slash-api-v1-CreateCollectionRequest) | [CreateCollectionResponse](#slash-api-v1-CreateCollectionResponse) | CreateCollection creates a collection. | -| UpdateCollection | [UpdateCollectionRequest](#slash-api-v1-UpdateCollectionRequest) | [UpdateCollectionResponse](#slash-api-v1-UpdateCollectionResponse) | UpdateCollection updates a collection. | -| DeleteCollection | [DeleteCollectionRequest](#slash-api-v1-DeleteCollectionRequest) | [DeleteCollectionResponse](#slash-api-v1-DeleteCollectionResponse) | DeleteCollection deletes a collection by id. | +| GetCollection | [GetCollectionRequest](#slash-api-v1-GetCollectionRequest) | [Collection](#slash-api-v1-Collection) | GetCollection returns a collection by id. | +| GetCollectionByName | [GetCollectionByNameRequest](#slash-api-v1-GetCollectionByNameRequest) | [Collection](#slash-api-v1-Collection) | GetCollectionByName returns a collection by name. | +| CreateCollection | [CreateCollectionRequest](#slash-api-v1-CreateCollectionRequest) | [Collection](#slash-api-v1-Collection) | CreateCollection creates a collection. | +| UpdateCollection | [UpdateCollectionRequest](#slash-api-v1-UpdateCollectionRequest) | [Collection](#slash-api-v1-Collection) | UpdateCollection updates a collection. | +| DeleteCollection | [DeleteCollectionRequest](#slash-api-v1-DeleteCollectionRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | DeleteCollection deletes a collection by id. | diff --git a/proto/gen/api/v1/collection_service.pb.go b/proto/gen/api/v1/collection_service.pb.go index 7e12a9e..86ae3a2 100644 --- a/proto/gen/api/v1/collection_service.pb.go +++ b/proto/gen/api/v1/collection_service.pb.go @@ -10,6 +10,7 @@ import ( _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" @@ -266,53 +267,6 @@ func (x *GetCollectionRequest) GetId() int32 { return 0 } -type GetCollectionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Collection *Collection `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` -} - -func (x *GetCollectionResponse) Reset() { - *x = GetCollectionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetCollectionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetCollectionResponse) ProtoMessage() {} - -func (x *GetCollectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetCollectionResponse.ProtoReflect.Descriptor instead. -func (*GetCollectionResponse) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{4} -} - -func (x *GetCollectionResponse) GetCollection() *Collection { - if x != nil { - return x.Collection - } - return nil -} - type GetCollectionByNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -324,7 +278,7 @@ type GetCollectionByNameRequest struct { func (x *GetCollectionByNameRequest) Reset() { *x = GetCollectionByNameRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[5] + mi := &file_api_v1_collection_service_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -337,7 +291,7 @@ func (x *GetCollectionByNameRequest) String() string { func (*GetCollectionByNameRequest) ProtoMessage() {} func (x *GetCollectionByNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[5] + mi := &file_api_v1_collection_service_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -350,7 +304,7 @@ func (x *GetCollectionByNameRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCollectionByNameRequest.ProtoReflect.Descriptor instead. func (*GetCollectionByNameRequest) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{5} + return file_api_v1_collection_service_proto_rawDescGZIP(), []int{4} } func (x *GetCollectionByNameRequest) GetName() string { @@ -360,53 +314,6 @@ func (x *GetCollectionByNameRequest) GetName() string { return "" } -type GetCollectionByNameResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Collection *Collection `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` -} - -func (x *GetCollectionByNameResponse) Reset() { - *x = GetCollectionByNameResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetCollectionByNameResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetCollectionByNameResponse) ProtoMessage() {} - -func (x *GetCollectionByNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetCollectionByNameResponse.ProtoReflect.Descriptor instead. -func (*GetCollectionByNameResponse) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{6} -} - -func (x *GetCollectionByNameResponse) GetCollection() *Collection { - if x != nil { - return x.Collection - } - return nil -} - type CreateCollectionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -418,7 +325,7 @@ type CreateCollectionRequest struct { func (x *CreateCollectionRequest) Reset() { *x = CreateCollectionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[7] + mi := &file_api_v1_collection_service_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -431,7 +338,7 @@ func (x *CreateCollectionRequest) String() string { func (*CreateCollectionRequest) ProtoMessage() {} func (x *CreateCollectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[7] + mi := &file_api_v1_collection_service_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -444,7 +351,7 @@ func (x *CreateCollectionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateCollectionRequest.ProtoReflect.Descriptor instead. func (*CreateCollectionRequest) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{7} + return file_api_v1_collection_service_proto_rawDescGZIP(), []int{5} } func (x *CreateCollectionRequest) GetCollection() *Collection { @@ -454,53 +361,6 @@ func (x *CreateCollectionRequest) GetCollection() *Collection { return nil } -type CreateCollectionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Collection *Collection `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` -} - -func (x *CreateCollectionResponse) Reset() { - *x = CreateCollectionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateCollectionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateCollectionResponse) ProtoMessage() {} - -func (x *CreateCollectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateCollectionResponse.ProtoReflect.Descriptor instead. -func (*CreateCollectionResponse) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{8} -} - -func (x *CreateCollectionResponse) GetCollection() *Collection { - if x != nil { - return x.Collection - } - return nil -} - type UpdateCollectionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -513,7 +373,7 @@ type UpdateCollectionRequest struct { func (x *UpdateCollectionRequest) Reset() { *x = UpdateCollectionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[9] + mi := &file_api_v1_collection_service_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -526,7 +386,7 @@ func (x *UpdateCollectionRequest) String() string { func (*UpdateCollectionRequest) ProtoMessage() {} func (x *UpdateCollectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[9] + mi := &file_api_v1_collection_service_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -539,7 +399,7 @@ func (x *UpdateCollectionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateCollectionRequest.ProtoReflect.Descriptor instead. func (*UpdateCollectionRequest) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{9} + return file_api_v1_collection_service_proto_rawDescGZIP(), []int{6} } func (x *UpdateCollectionRequest) GetCollection() *Collection { @@ -556,53 +416,6 @@ func (x *UpdateCollectionRequest) GetUpdateMask() *fieldmaskpb.FieldMask { return nil } -type UpdateCollectionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Collection *Collection `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` -} - -func (x *UpdateCollectionResponse) Reset() { - *x = UpdateCollectionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateCollectionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateCollectionResponse) ProtoMessage() {} - -func (x *UpdateCollectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateCollectionResponse.ProtoReflect.Descriptor instead. -func (*UpdateCollectionResponse) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{10} -} - -func (x *UpdateCollectionResponse) GetCollection() *Collection { - if x != nil { - return x.Collection - } - return nil -} - type DeleteCollectionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -614,7 +427,7 @@ type DeleteCollectionRequest struct { func (x *DeleteCollectionRequest) Reset() { *x = DeleteCollectionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[11] + mi := &file_api_v1_collection_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -627,7 +440,7 @@ func (x *DeleteCollectionRequest) String() string { func (*DeleteCollectionRequest) ProtoMessage() {} func (x *DeleteCollectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[11] + mi := &file_api_v1_collection_service_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -640,7 +453,7 @@ func (x *DeleteCollectionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteCollectionRequest.ProtoReflect.Descriptor instead. func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{11} + return file_api_v1_collection_service_proto_rawDescGZIP(), []int{7} } func (x *DeleteCollectionRequest) GetId() int32 { @@ -650,44 +463,6 @@ func (x *DeleteCollectionRequest) GetId() int32 { return 0 } -type DeleteCollectionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DeleteCollectionResponse) Reset() { - *x = DeleteCollectionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_api_v1_collection_service_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteCollectionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteCollectionResponse) ProtoMessage() {} - -func (x *DeleteCollectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_api_v1_collection_service_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteCollectionResponse.ProtoReflect.Descriptor instead. -func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) { - return file_api_v1_collection_service_proto_rawDescGZIP(), []int{12} -} - var File_api_v1_collection_service_proto protoreflect.FileDescriptor var file_api_v1_collection_service_proto_rawDesc = []byte{ @@ -698,152 +473,126 @@ var file_api_v1_collection_service_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, - 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, - 0x75, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x49, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x76, 0x69, 0x73, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, - 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x73, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, - 0x17, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x30, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x57, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x53, 0x0a, 0x17, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x54, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x54, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x29, - 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x02, 0x0a, 0x0a, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x63, 0x75, 0x74, 0x49, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, + 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x22, 0x18, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, + 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x26, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xcd, 0x06, 0x0a, 0x11, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x0f, 0x4c, - 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, - 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, - 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x25, 0xda, 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, - 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6c, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x28, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x73, 0x6c, 0x61, - 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x73, - 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x21, 0x3a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x26, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0xda, 0x41, 0x16, 0x63, 0x6f, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x17, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, + 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x90, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, + 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x22, 0x29, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x32, 0x83, + 0x06, 0x0a, 0x11, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x25, 0xda, 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x21, 0x3a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x13, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, + 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0xda, 0x41, 0x16, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0x88, 0x01, 0x0a, 0x10, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, - 0xda, 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0xb4, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x6c, - 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x42, 0x16, 0x43, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x79, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x6c, 0x66, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x2f, - 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, - 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x0c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x18, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x53, 0x6c, - 0x61, 0x73, 0x68, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0x78, 0x0a, 0x10, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x25, 0xda, + 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x42, 0xb4, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x6c, 0x61, + 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x42, 0x16, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x79, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x6c, 0x66, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x2f, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x41, + 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x0c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, + 0x02, 0x18, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x53, 0x6c, 0x61, + 0x73, 0x68, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -858,54 +607,46 @@ func file_api_v1_collection_service_proto_rawDescGZIP() []byte { return file_api_v1_collection_service_proto_rawDescData } -var file_api_v1_collection_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_api_v1_collection_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_api_v1_collection_service_proto_goTypes = []any{ - (*Collection)(nil), // 0: slash.api.v1.Collection - (*ListCollectionsRequest)(nil), // 1: slash.api.v1.ListCollectionsRequest - (*ListCollectionsResponse)(nil), // 2: slash.api.v1.ListCollectionsResponse - (*GetCollectionRequest)(nil), // 3: slash.api.v1.GetCollectionRequest - (*GetCollectionResponse)(nil), // 4: slash.api.v1.GetCollectionResponse - (*GetCollectionByNameRequest)(nil), // 5: slash.api.v1.GetCollectionByNameRequest - (*GetCollectionByNameResponse)(nil), // 6: slash.api.v1.GetCollectionByNameResponse - (*CreateCollectionRequest)(nil), // 7: slash.api.v1.CreateCollectionRequest - (*CreateCollectionResponse)(nil), // 8: slash.api.v1.CreateCollectionResponse - (*UpdateCollectionRequest)(nil), // 9: slash.api.v1.UpdateCollectionRequest - (*UpdateCollectionResponse)(nil), // 10: slash.api.v1.UpdateCollectionResponse - (*DeleteCollectionRequest)(nil), // 11: slash.api.v1.DeleteCollectionRequest - (*DeleteCollectionResponse)(nil), // 12: slash.api.v1.DeleteCollectionResponse - (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp - (Visibility)(0), // 14: slash.api.v1.Visibility - (*fieldmaskpb.FieldMask)(nil), // 15: google.protobuf.FieldMask + (*Collection)(nil), // 0: slash.api.v1.Collection + (*ListCollectionsRequest)(nil), // 1: slash.api.v1.ListCollectionsRequest + (*ListCollectionsResponse)(nil), // 2: slash.api.v1.ListCollectionsResponse + (*GetCollectionRequest)(nil), // 3: slash.api.v1.GetCollectionRequest + (*GetCollectionByNameRequest)(nil), // 4: slash.api.v1.GetCollectionByNameRequest + (*CreateCollectionRequest)(nil), // 5: slash.api.v1.CreateCollectionRequest + (*UpdateCollectionRequest)(nil), // 6: slash.api.v1.UpdateCollectionRequest + (*DeleteCollectionRequest)(nil), // 7: slash.api.v1.DeleteCollectionRequest + (*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp + (Visibility)(0), // 9: slash.api.v1.Visibility + (*fieldmaskpb.FieldMask)(nil), // 10: google.protobuf.FieldMask + (*emptypb.Empty)(nil), // 11: google.protobuf.Empty } var file_api_v1_collection_service_proto_depIdxs = []int32{ - 13, // 0: slash.api.v1.Collection.created_time:type_name -> google.protobuf.Timestamp - 13, // 1: slash.api.v1.Collection.updated_time:type_name -> google.protobuf.Timestamp - 14, // 2: slash.api.v1.Collection.visibility:type_name -> slash.api.v1.Visibility + 8, // 0: slash.api.v1.Collection.created_time:type_name -> google.protobuf.Timestamp + 8, // 1: slash.api.v1.Collection.updated_time:type_name -> google.protobuf.Timestamp + 9, // 2: slash.api.v1.Collection.visibility:type_name -> slash.api.v1.Visibility 0, // 3: slash.api.v1.ListCollectionsResponse.collections:type_name -> slash.api.v1.Collection - 0, // 4: slash.api.v1.GetCollectionResponse.collection:type_name -> slash.api.v1.Collection - 0, // 5: slash.api.v1.GetCollectionByNameResponse.collection:type_name -> slash.api.v1.Collection - 0, // 6: slash.api.v1.CreateCollectionRequest.collection:type_name -> slash.api.v1.Collection - 0, // 7: slash.api.v1.CreateCollectionResponse.collection:type_name -> slash.api.v1.Collection - 0, // 8: slash.api.v1.UpdateCollectionRequest.collection:type_name -> slash.api.v1.Collection - 15, // 9: slash.api.v1.UpdateCollectionRequest.update_mask:type_name -> google.protobuf.FieldMask - 0, // 10: slash.api.v1.UpdateCollectionResponse.collection:type_name -> slash.api.v1.Collection - 1, // 11: slash.api.v1.CollectionService.ListCollections:input_type -> slash.api.v1.ListCollectionsRequest - 3, // 12: slash.api.v1.CollectionService.GetCollection:input_type -> slash.api.v1.GetCollectionRequest - 5, // 13: slash.api.v1.CollectionService.GetCollectionByName:input_type -> slash.api.v1.GetCollectionByNameRequest - 7, // 14: slash.api.v1.CollectionService.CreateCollection:input_type -> slash.api.v1.CreateCollectionRequest - 9, // 15: slash.api.v1.CollectionService.UpdateCollection:input_type -> slash.api.v1.UpdateCollectionRequest - 11, // 16: slash.api.v1.CollectionService.DeleteCollection:input_type -> slash.api.v1.DeleteCollectionRequest - 2, // 17: slash.api.v1.CollectionService.ListCollections:output_type -> slash.api.v1.ListCollectionsResponse - 4, // 18: slash.api.v1.CollectionService.GetCollection:output_type -> slash.api.v1.GetCollectionResponse - 6, // 19: slash.api.v1.CollectionService.GetCollectionByName:output_type -> slash.api.v1.GetCollectionByNameResponse - 8, // 20: slash.api.v1.CollectionService.CreateCollection:output_type -> slash.api.v1.CreateCollectionResponse - 10, // 21: slash.api.v1.CollectionService.UpdateCollection:output_type -> slash.api.v1.UpdateCollectionResponse - 12, // 22: slash.api.v1.CollectionService.DeleteCollection:output_type -> slash.api.v1.DeleteCollectionResponse - 17, // [17:23] is the sub-list for method output_type - 11, // [11:17] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 0, // 4: slash.api.v1.CreateCollectionRequest.collection:type_name -> slash.api.v1.Collection + 0, // 5: slash.api.v1.UpdateCollectionRequest.collection:type_name -> slash.api.v1.Collection + 10, // 6: slash.api.v1.UpdateCollectionRequest.update_mask:type_name -> google.protobuf.FieldMask + 1, // 7: slash.api.v1.CollectionService.ListCollections:input_type -> slash.api.v1.ListCollectionsRequest + 3, // 8: slash.api.v1.CollectionService.GetCollection:input_type -> slash.api.v1.GetCollectionRequest + 4, // 9: slash.api.v1.CollectionService.GetCollectionByName:input_type -> slash.api.v1.GetCollectionByNameRequest + 5, // 10: slash.api.v1.CollectionService.CreateCollection:input_type -> slash.api.v1.CreateCollectionRequest + 6, // 11: slash.api.v1.CollectionService.UpdateCollection:input_type -> slash.api.v1.UpdateCollectionRequest + 7, // 12: slash.api.v1.CollectionService.DeleteCollection:input_type -> slash.api.v1.DeleteCollectionRequest + 2, // 13: slash.api.v1.CollectionService.ListCollections:output_type -> slash.api.v1.ListCollectionsResponse + 0, // 14: slash.api.v1.CollectionService.GetCollection:output_type -> slash.api.v1.Collection + 0, // 15: slash.api.v1.CollectionService.GetCollectionByName:output_type -> slash.api.v1.Collection + 0, // 16: slash.api.v1.CollectionService.CreateCollection:output_type -> slash.api.v1.Collection + 0, // 17: slash.api.v1.CollectionService.UpdateCollection:output_type -> slash.api.v1.Collection + 11, // 18: slash.api.v1.CollectionService.DeleteCollection:output_type -> google.protobuf.Empty + 13, // [13:19] is the sub-list for method output_type + 7, // [7:13] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_api_v1_collection_service_proto_init() } @@ -964,18 +705,6 @@ func file_api_v1_collection_service_proto_init() { } } file_api_v1_collection_service_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*GetCollectionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_v1_collection_service_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*GetCollectionByNameRequest); i { case 0: return &v.state @@ -987,19 +716,7 @@ func file_api_v1_collection_service_proto_init() { return nil } } - file_api_v1_collection_service_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*GetCollectionByNameResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_v1_collection_service_proto_msgTypes[7].Exporter = func(v any, i int) any { + file_api_v1_collection_service_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*CreateCollectionRequest); i { case 0: return &v.state @@ -1011,19 +728,7 @@ func file_api_v1_collection_service_proto_init() { return nil } } - file_api_v1_collection_service_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*CreateCollectionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_v1_collection_service_proto_msgTypes[9].Exporter = func(v any, i int) any { + file_api_v1_collection_service_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*UpdateCollectionRequest); i { case 0: return &v.state @@ -1035,19 +740,7 @@ func file_api_v1_collection_service_proto_init() { return nil } } - file_api_v1_collection_service_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*UpdateCollectionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_v1_collection_service_proto_msgTypes[11].Exporter = func(v any, i int) any { + file_api_v1_collection_service_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*DeleteCollectionRequest); i { case 0: return &v.state @@ -1059,18 +752,6 @@ func file_api_v1_collection_service_proto_init() { return nil } } - file_api_v1_collection_service_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*DeleteCollectionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1078,7 +759,7 @@ func file_api_v1_collection_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_v1_collection_service_proto_rawDesc, NumEnums: 0, - NumMessages: 13, + NumMessages: 8, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/gen/api/v1/collection_service_grpc.pb.go b/proto/gen/api/v1/collection_service_grpc.pb.go index cda707b..071c3d9 100644 --- a/proto/gen/api/v1/collection_service_grpc.pb.go +++ b/proto/gen/api/v1/collection_service_grpc.pb.go @@ -11,6 +11,7 @@ import ( grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" ) // This is a compile-time assertion to ensure that this generated file @@ -34,15 +35,15 @@ type CollectionServiceClient interface { // ListCollections returns a list of collections. ListCollections(ctx context.Context, in *ListCollectionsRequest, opts ...grpc.CallOption) (*ListCollectionsResponse, error) // GetCollection returns a collection by id. - GetCollection(ctx context.Context, in *GetCollectionRequest, opts ...grpc.CallOption) (*GetCollectionResponse, error) + GetCollection(ctx context.Context, in *GetCollectionRequest, opts ...grpc.CallOption) (*Collection, error) // GetCollectionByName returns a collection by name. - GetCollectionByName(ctx context.Context, in *GetCollectionByNameRequest, opts ...grpc.CallOption) (*GetCollectionByNameResponse, error) + GetCollectionByName(ctx context.Context, in *GetCollectionByNameRequest, opts ...grpc.CallOption) (*Collection, error) // CreateCollection creates a collection. - CreateCollection(ctx context.Context, in *CreateCollectionRequest, opts ...grpc.CallOption) (*CreateCollectionResponse, error) + CreateCollection(ctx context.Context, in *CreateCollectionRequest, opts ...grpc.CallOption) (*Collection, error) // UpdateCollection updates a collection. - UpdateCollection(ctx context.Context, in *UpdateCollectionRequest, opts ...grpc.CallOption) (*UpdateCollectionResponse, error) + UpdateCollection(ctx context.Context, in *UpdateCollectionRequest, opts ...grpc.CallOption) (*Collection, error) // DeleteCollection deletes a collection by id. - DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) + DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) } type collectionServiceClient struct { @@ -63,9 +64,9 @@ func (c *collectionServiceClient) ListCollections(ctx context.Context, in *ListC return out, nil } -func (c *collectionServiceClient) GetCollection(ctx context.Context, in *GetCollectionRequest, opts ...grpc.CallOption) (*GetCollectionResponse, error) { +func (c *collectionServiceClient) GetCollection(ctx context.Context, in *GetCollectionRequest, opts ...grpc.CallOption) (*Collection, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(GetCollectionResponse) + out := new(Collection) err := c.cc.Invoke(ctx, CollectionService_GetCollection_FullMethodName, in, out, cOpts...) if err != nil { return nil, err @@ -73,9 +74,9 @@ func (c *collectionServiceClient) GetCollection(ctx context.Context, in *GetColl return out, nil } -func (c *collectionServiceClient) GetCollectionByName(ctx context.Context, in *GetCollectionByNameRequest, opts ...grpc.CallOption) (*GetCollectionByNameResponse, error) { +func (c *collectionServiceClient) GetCollectionByName(ctx context.Context, in *GetCollectionByNameRequest, opts ...grpc.CallOption) (*Collection, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(GetCollectionByNameResponse) + out := new(Collection) err := c.cc.Invoke(ctx, CollectionService_GetCollectionByName_FullMethodName, in, out, cOpts...) if err != nil { return nil, err @@ -83,9 +84,9 @@ func (c *collectionServiceClient) GetCollectionByName(ctx context.Context, in *G return out, nil } -func (c *collectionServiceClient) CreateCollection(ctx context.Context, in *CreateCollectionRequest, opts ...grpc.CallOption) (*CreateCollectionResponse, error) { +func (c *collectionServiceClient) CreateCollection(ctx context.Context, in *CreateCollectionRequest, opts ...grpc.CallOption) (*Collection, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(CreateCollectionResponse) + out := new(Collection) err := c.cc.Invoke(ctx, CollectionService_CreateCollection_FullMethodName, in, out, cOpts...) if err != nil { return nil, err @@ -93,9 +94,9 @@ func (c *collectionServiceClient) CreateCollection(ctx context.Context, in *Crea return out, nil } -func (c *collectionServiceClient) UpdateCollection(ctx context.Context, in *UpdateCollectionRequest, opts ...grpc.CallOption) (*UpdateCollectionResponse, error) { +func (c *collectionServiceClient) UpdateCollection(ctx context.Context, in *UpdateCollectionRequest, opts ...grpc.CallOption) (*Collection, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(UpdateCollectionResponse) + out := new(Collection) err := c.cc.Invoke(ctx, CollectionService_UpdateCollection_FullMethodName, in, out, cOpts...) if err != nil { return nil, err @@ -103,9 +104,9 @@ func (c *collectionServiceClient) UpdateCollection(ctx context.Context, in *Upda return out, nil } -func (c *collectionServiceClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) { +func (c *collectionServiceClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(DeleteCollectionResponse) + out := new(emptypb.Empty) err := c.cc.Invoke(ctx, CollectionService_DeleteCollection_FullMethodName, in, out, cOpts...) if err != nil { return nil, err @@ -120,15 +121,15 @@ type CollectionServiceServer interface { // ListCollections returns a list of collections. ListCollections(context.Context, *ListCollectionsRequest) (*ListCollectionsResponse, error) // GetCollection returns a collection by id. - GetCollection(context.Context, *GetCollectionRequest) (*GetCollectionResponse, error) + GetCollection(context.Context, *GetCollectionRequest) (*Collection, error) // GetCollectionByName returns a collection by name. - GetCollectionByName(context.Context, *GetCollectionByNameRequest) (*GetCollectionByNameResponse, error) + GetCollectionByName(context.Context, *GetCollectionByNameRequest) (*Collection, error) // CreateCollection creates a collection. - CreateCollection(context.Context, *CreateCollectionRequest) (*CreateCollectionResponse, error) + CreateCollection(context.Context, *CreateCollectionRequest) (*Collection, error) // UpdateCollection updates a collection. - UpdateCollection(context.Context, *UpdateCollectionRequest) (*UpdateCollectionResponse, error) + UpdateCollection(context.Context, *UpdateCollectionRequest) (*Collection, error) // DeleteCollection deletes a collection by id. - DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error) + DeleteCollection(context.Context, *DeleteCollectionRequest) (*emptypb.Empty, error) mustEmbedUnimplementedCollectionServiceServer() } @@ -142,19 +143,19 @@ type UnimplementedCollectionServiceServer struct{} func (UnimplementedCollectionServiceServer) ListCollections(context.Context, *ListCollectionsRequest) (*ListCollectionsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListCollections not implemented") } -func (UnimplementedCollectionServiceServer) GetCollection(context.Context, *GetCollectionRequest) (*GetCollectionResponse, error) { +func (UnimplementedCollectionServiceServer) GetCollection(context.Context, *GetCollectionRequest) (*Collection, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCollection not implemented") } -func (UnimplementedCollectionServiceServer) GetCollectionByName(context.Context, *GetCollectionByNameRequest) (*GetCollectionByNameResponse, error) { +func (UnimplementedCollectionServiceServer) GetCollectionByName(context.Context, *GetCollectionByNameRequest) (*Collection, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCollectionByName not implemented") } -func (UnimplementedCollectionServiceServer) CreateCollection(context.Context, *CreateCollectionRequest) (*CreateCollectionResponse, error) { +func (UnimplementedCollectionServiceServer) CreateCollection(context.Context, *CreateCollectionRequest) (*Collection, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateCollection not implemented") } -func (UnimplementedCollectionServiceServer) UpdateCollection(context.Context, *UpdateCollectionRequest) (*UpdateCollectionResponse, error) { +func (UnimplementedCollectionServiceServer) UpdateCollection(context.Context, *UpdateCollectionRequest) (*Collection, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateCollection not implemented") } -func (UnimplementedCollectionServiceServer) DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error) { +func (UnimplementedCollectionServiceServer) DeleteCollection(context.Context, *DeleteCollectionRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteCollection not implemented") } func (UnimplementedCollectionServiceServer) mustEmbedUnimplementedCollectionServiceServer() {} diff --git a/proto/gen/apidocs.swagger.yaml b/proto/gen/apidocs.swagger.yaml index 0b3e9ac..369293f 100644 --- a/proto/gen/apidocs.swagger.yaml +++ b/proto/gen/apidocs.swagger.yaml @@ -151,7 +151,7 @@ paths: "200": description: A successful response. schema: - $ref: '#/definitions/v1CreateCollectionResponse' + $ref: '#/definitions/apiv1Collection' default: description: An unexpected error response. schema: @@ -172,7 +172,7 @@ paths: "200": description: A successful response. schema: - $ref: '#/definitions/v1UpdateCollectionResponse' + $ref: '#/definitions/apiv1Collection' default: description: An unexpected error response. schema: @@ -225,7 +225,7 @@ paths: "200": description: A successful response. schema: - $ref: '#/definitions/v1GetCollectionResponse' + $ref: '#/definitions/apiv1Collection' default: description: An unexpected error response. schema: @@ -245,7 +245,8 @@ paths: "200": description: A successful response. schema: - $ref: '#/definitions/v1DeleteCollectionResponse' + type: object + properties: {} default: description: An unexpected error response. schema: @@ -986,23 +987,6 @@ definitions: items: type: object $ref: '#/definitions/protobufAny' - v1CreateCollectionResponse: - type: object - properties: - collection: - $ref: '#/definitions/apiv1Collection' - v1DeleteCollectionResponse: - type: object - v1GetCollectionByNameResponse: - type: object - properties: - collection: - $ref: '#/definitions/apiv1Collection' - v1GetCollectionResponse: - type: object - properties: - collection: - $ref: '#/definitions/apiv1Collection' v1GetShortcutAnalyticsResponse: type: object properties: @@ -1108,11 +1092,6 @@ definitions: type: integer format: int32 readOnly: true - v1UpdateCollectionResponse: - type: object - properties: - collection: - $ref: '#/definitions/apiv1Collection' v1UpdateSubscriptionRequest: type: object properties: diff --git a/server/route/api/v1/collection_service.go b/server/route/api/v1/collection_service.go index 59eea6d..9c99943 100644 --- a/server/route/api/v1/collection_service.go +++ b/server/route/api/v1/collection_service.go @@ -6,6 +6,7 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/timestamppb" v1pb "github.com/yourselfhosted/slash/proto/gen/api/v1" @@ -52,7 +53,7 @@ func (s *APIV1Service) ListCollections(ctx context.Context, _ *v1pb.ListCollecti return response, nil } -func (s *APIV1Service) GetCollection(ctx context.Context, request *v1pb.GetCollectionRequest) (*v1pb.GetCollectionResponse, error) { +func (s *APIV1Service) GetCollection(ctx context.Context, request *v1pb.GetCollectionRequest) (*v1pb.Collection, error) { collection, err := s.Store.GetCollection(ctx, &store.FindCollection{ ID: &request.Id, }) @@ -70,13 +71,10 @@ func (s *APIV1Service) GetCollection(ctx context.Context, request *v1pb.GetColle if collection.Visibility == storepb.Visibility_PRIVATE && collection.CreatorId != user.ID { return nil, status.Errorf(codes.PermissionDenied, "Permission denied") } - response := &v1pb.GetCollectionResponse{ - Collection: convertCollectionFromStore(collection), - } - return response, nil + return convertCollectionFromStore(collection), nil } -func (s *APIV1Service) GetCollectionByName(ctx context.Context, request *v1pb.GetCollectionByNameRequest) (*v1pb.GetCollectionByNameResponse, error) { +func (s *APIV1Service) GetCollectionByName(ctx context.Context, request *v1pb.GetCollectionByNameRequest) (*v1pb.Collection, error) { collection, err := s.Store.GetCollection(ctx, &store.FindCollection{ Name: &request.Name, }) @@ -97,13 +95,10 @@ func (s *APIV1Service) GetCollectionByName(ctx context.Context, request *v1pb.Ge return nil, status.Errorf(codes.PermissionDenied, "Permission denied") } } - response := &v1pb.GetCollectionByNameResponse{ - Collection: convertCollectionFromStore(collection), - } - return response, nil + return convertCollectionFromStore(collection), nil } -func (s *APIV1Service) CreateCollection(ctx context.Context, request *v1pb.CreateCollectionRequest) (*v1pb.CreateCollectionResponse, error) { +func (s *APIV1Service) CreateCollection(ctx context.Context, request *v1pb.CreateCollectionRequest) (*v1pb.Collection, error) { if request.Collection.Name == "" || request.Collection.Title == "" { return nil, status.Errorf(codes.InvalidArgument, "name and title are required") } @@ -136,14 +131,11 @@ func (s *APIV1Service) CreateCollection(ctx context.Context, request *v1pb.Creat return nil, status.Errorf(codes.Internal, "failed to create collection, err: %v", err) } - response := &v1pb.CreateCollectionResponse{ - Collection: convertCollectionFromStore(collection), - } metric.Enqueue("collection create") - return response, nil + return convertCollectionFromStore(collection), nil } -func (s *APIV1Service) UpdateCollection(ctx context.Context, request *v1pb.UpdateCollectionRequest) (*v1pb.UpdateCollectionResponse, error) { +func (s *APIV1Service) UpdateCollection(ctx context.Context, request *v1pb.UpdateCollectionRequest) (*v1pb.Collection, error) { if request.UpdateMask == nil || len(request.UpdateMask.Paths) == 0 { return nil, status.Errorf(codes.InvalidArgument, "updateMask is required") } @@ -188,13 +180,10 @@ func (s *APIV1Service) UpdateCollection(ctx context.Context, request *v1pb.Updat return nil, status.Errorf(codes.Internal, "failed to update collection, err: %v", err) } - response := &v1pb.UpdateCollectionResponse{ - Collection: convertCollectionFromStore(collection), - } - return response, nil + return convertCollectionFromStore(collection), nil } -func (s *APIV1Service) DeleteCollection(ctx context.Context, request *v1pb.DeleteCollectionRequest) (*v1pb.DeleteCollectionResponse, error) { +func (s *APIV1Service) DeleteCollection(ctx context.Context, request *v1pb.DeleteCollectionRequest) (*emptypb.Empty, error) { user, err := getCurrentUser(ctx, s.Store) if err != nil { return nil, status.Errorf(codes.Unauthenticated, "failed to get current user: %v", err) @@ -218,8 +207,7 @@ func (s *APIV1Service) DeleteCollection(ctx context.Context, request *v1pb.Delet if err != nil { return nil, status.Errorf(codes.Internal, "failed to delete collection, err: %v", err) } - response := &v1pb.DeleteCollectionResponse{} - return response, nil + return &emptypb.Empty{}, nil } func convertCollectionFromStore(collection *storepb.Collection) *v1pb.Collection {