diff --git a/lib/rpc/shoppinglist/shoppinglist.pb.go b/lib/rpc/shoppinglist/shoppinglist.pb.go deleted file mode 100644 index 25a8daf7..00000000 --- a/lib/rpc/shoppinglist/shoppinglist.pb.go +++ /dev/null @@ -1,1718 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.25.1 -// source: shoppinglist/shoppinglist.proto - -package shoppinglist - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type UserShoppingList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - UserId uint64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - Completed bool `protobuf:"varint,4,opt,name=completed,proto3" json:"completed,omitempty"` -} - -func (x *UserShoppingList) Reset() { - *x = UserShoppingList{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserShoppingList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserShoppingList) ProtoMessage() {} - -func (x *UserShoppingList) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[0] - 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 UserShoppingList.ProtoReflect.Descriptor instead. -func (*UserShoppingList) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{0} -} - -func (x *UserShoppingList) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *UserShoppingList) GetUserId() uint64 { - if x != nil { - return x.UserId - } - return 0 -} - -func (x *UserShoppingList) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *UserShoppingList) GetCompleted() bool { - if x != nil { - return x.Completed - } - return false -} - -type UserShoppingListEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ShoppingListId uint64 `protobuf:"varint,1,opt,name=shoppingListId,proto3" json:"shoppingListId,omitempty"` - ProductId uint64 `protobuf:"varint,2,opt,name=productId,proto3" json:"productId,omitempty"` - Count uint64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` - Note string `protobuf:"bytes,4,opt,name=note,proto3" json:"note,omitempty"` - Checked bool `protobuf:"varint,5,opt,name=checked,proto3" json:"checked,omitempty"` -} - -func (x *UserShoppingListEntry) Reset() { - *x = UserShoppingListEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserShoppingListEntry) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserShoppingListEntry) ProtoMessage() {} - -func (x *UserShoppingListEntry) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[1] - 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 UserShoppingListEntry.ProtoReflect.Descriptor instead. -func (*UserShoppingListEntry) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{1} -} - -func (x *UserShoppingListEntry) GetShoppingListId() uint64 { - if x != nil { - return x.ShoppingListId - } - return 0 -} - -func (x *UserShoppingListEntry) GetProductId() uint64 { - if x != nil { - return x.ProductId - } - return 0 -} - -func (x *UserShoppingListEntry) GetCount() uint64 { - if x != nil { - return x.Count - } - return 0 -} - -func (x *UserShoppingListEntry) GetNote() string { - if x != nil { - return x.Note - } - return "" -} - -func (x *UserShoppingListEntry) GetChecked() bool { - if x != nil { - return x.Checked - } - return false -} - -// Request- and Response-Messages for CreateUserShoppingList -type CreateUserShoppingListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingList *UserShoppingList `protobuf:"bytes,1,opt,name=userShoppingList,proto3" json:"userShoppingList,omitempty"` -} - -func (x *CreateUserShoppingListRequest) Reset() { - *x = CreateUserShoppingListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserShoppingListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserShoppingListRequest) ProtoMessage() {} - -func (x *CreateUserShoppingListRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[2] - 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 CreateUserShoppingListRequest.ProtoReflect.Descriptor instead. -func (*CreateUserShoppingListRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{2} -} - -func (x *CreateUserShoppingListRequest) GetUserShoppingList() *UserShoppingList { - if x != nil { - return x.UserShoppingList - } - return nil -} - -type CreateUserShoppingListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingList *UserShoppingList `protobuf:"bytes,1,opt,name=userShoppingList,proto3" json:"userShoppingList,omitempty"` -} - -func (x *CreateUserShoppingListResponse) Reset() { - *x = CreateUserShoppingListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserShoppingListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserShoppingListResponse) ProtoMessage() {} - -func (x *CreateUserShoppingListResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[3] - 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 CreateUserShoppingListResponse.ProtoReflect.Descriptor instead. -func (*CreateUserShoppingListResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{3} -} - -func (x *CreateUserShoppingListResponse) GetUserShoppingList() *UserShoppingList { - if x != nil { - return x.UserShoppingList - } - return nil -} - -// Request- and Response-Messages for GetUserShoppingList -type GetUserShoppingListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` -} - -func (x *GetUserShoppingListRequest) Reset() { - *x = GetUserShoppingListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserShoppingListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserShoppingListRequest) ProtoMessage() {} - -func (x *GetUserShoppingListRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_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 GetUserShoppingListRequest.ProtoReflect.Descriptor instead. -func (*GetUserShoppingListRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{4} -} - -func (x *GetUserShoppingListRequest) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -type GetUserShoppingListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingList *UserShoppingList `protobuf:"bytes,1,opt,name=userShoppingList,proto3" json:"userShoppingList,omitempty"` -} - -func (x *GetUserShoppingListResponse) Reset() { - *x = GetUserShoppingListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserShoppingListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserShoppingListResponse) ProtoMessage() {} - -func (x *GetUserShoppingListResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[5] - 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 GetUserShoppingListResponse.ProtoReflect.Descriptor instead. -func (*GetUserShoppingListResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{5} -} - -func (x *GetUserShoppingListResponse) GetUserShoppingList() *UserShoppingList { - if x != nil { - return x.UserShoppingList - } - return nil -} - -// Request- and Response-Messages for ListProducts -type GetAllUserShoppingListsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId uint64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` -} - -func (x *GetAllUserShoppingListsRequest) Reset() { - *x = GetAllUserShoppingListsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllUserShoppingListsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllUserShoppingListsRequest) ProtoMessage() {} - -func (x *GetAllUserShoppingListsRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_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 GetAllUserShoppingListsRequest.ProtoReflect.Descriptor instead. -func (*GetAllUserShoppingListsRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{6} -} - -func (x *GetAllUserShoppingListsRequest) GetUserId() uint64 { - if x != nil { - return x.UserId - } - return 0 -} - -type GetAllUserShoppingListsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingList []*UserShoppingList `protobuf:"bytes,1,rep,name=userShoppingList,proto3" json:"userShoppingList,omitempty"` -} - -func (x *GetAllUserShoppingListsResponse) Reset() { - *x = GetAllUserShoppingListsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllUserShoppingListsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllUserShoppingListsResponse) ProtoMessage() {} - -func (x *GetAllUserShoppingListsResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[7] - 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 GetAllUserShoppingListsResponse.ProtoReflect.Descriptor instead. -func (*GetAllUserShoppingListsResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{7} -} - -func (x *GetAllUserShoppingListsResponse) GetUserShoppingList() []*UserShoppingList { - if x != nil { - return x.UserShoppingList - } - return nil -} - -// Request- and Response-Messages for UpdateUserShoppingList -type UpdateUserShoppingListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingList *UserShoppingList `protobuf:"bytes,1,opt,name=userShoppingList,proto3" json:"userShoppingList,omitempty"` -} - -func (x *UpdateUserShoppingListRequest) Reset() { - *x = UpdateUserShoppingListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserShoppingListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserShoppingListRequest) ProtoMessage() {} - -func (x *UpdateUserShoppingListRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_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 UpdateUserShoppingListRequest.ProtoReflect.Descriptor instead. -func (*UpdateUserShoppingListRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{8} -} - -func (x *UpdateUserShoppingListRequest) GetUserShoppingList() *UserShoppingList { - if x != nil { - return x.UserShoppingList - } - return nil -} - -type UpdateUserShoppingListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingList *UserShoppingList `protobuf:"bytes,1,opt,name=userShoppingList,proto3" json:"userShoppingList,omitempty"` -} - -func (x *UpdateUserShoppingListResponse) Reset() { - *x = UpdateUserShoppingListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserShoppingListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserShoppingListResponse) ProtoMessage() {} - -func (x *UpdateUserShoppingListResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[9] - 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 UpdateUserShoppingListResponse.ProtoReflect.Descriptor instead. -func (*UpdateUserShoppingListResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{9} -} - -func (x *UpdateUserShoppingListResponse) GetUserShoppingList() *UserShoppingList { - if x != nil { - return x.UserShoppingList - } - return nil -} - -// Request- and Response-Messages for DeleteUserShoppingList -type DeleteUserShoppingListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *DeleteUserShoppingListRequest) Reset() { - *x = DeleteUserShoppingListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteUserShoppingListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteUserShoppingListRequest) ProtoMessage() {} - -func (x *DeleteUserShoppingListRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_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 DeleteUserShoppingListRequest.ProtoReflect.Descriptor instead. -func (*DeleteUserShoppingListRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{10} -} - -func (x *DeleteUserShoppingListRequest) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -type DeleteUserShoppingListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DeleteUserShoppingListResponse) Reset() { - *x = DeleteUserShoppingListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteUserShoppingListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteUserShoppingListResponse) ProtoMessage() {} - -func (x *DeleteUserShoppingListResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[11] - 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 DeleteUserShoppingListResponse.ProtoReflect.Descriptor instead. -func (*DeleteUserShoppingListResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{11} -} - -// Request- and Response-Messages for CreateUserShoppingListEntry -type CreateUserShoppingListEntryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingListEntry *UserShoppingListEntry `protobuf:"bytes,1,opt,name=userShoppingListEntry,proto3" json:"userShoppingListEntry,omitempty"` -} - -func (x *CreateUserShoppingListEntryRequest) Reset() { - *x = CreateUserShoppingListEntryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserShoppingListEntryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserShoppingListEntryRequest) ProtoMessage() {} - -func (x *CreateUserShoppingListEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_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 CreateUserShoppingListEntryRequest.ProtoReflect.Descriptor instead. -func (*CreateUserShoppingListEntryRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{12} -} - -func (x *CreateUserShoppingListEntryRequest) GetUserShoppingListEntry() *UserShoppingListEntry { - if x != nil { - return x.UserShoppingListEntry - } - return nil -} - -type CreateUserShoppingListEntryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingListEntry *UserShoppingListEntry `protobuf:"bytes,1,opt,name=userShoppingListEntry,proto3" json:"userShoppingListEntry,omitempty"` -} - -func (x *CreateUserShoppingListEntryResponse) Reset() { - *x = CreateUserShoppingListEntryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserShoppingListEntryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserShoppingListEntryResponse) ProtoMessage() {} - -func (x *CreateUserShoppingListEntryResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[13] - 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 CreateUserShoppingListEntryResponse.ProtoReflect.Descriptor instead. -func (*CreateUserShoppingListEntryResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{13} -} - -func (x *CreateUserShoppingListEntryResponse) GetUserShoppingListEntry() *UserShoppingListEntry { - if x != nil { - return x.UserShoppingListEntry - } - return nil -} - -// Request- and Response-Messages for GetUserShoppingListEntry -type GetUserShoppingListEntryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ShoppingListId uint64 `protobuf:"varint,1,opt,name=shoppingListId,proto3" json:"shoppingListId,omitempty"` - ProductId uint64 `protobuf:"varint,2,opt,name=productId,proto3" json:"productId,omitempty"` -} - -func (x *GetUserShoppingListEntryRequest) Reset() { - *x = GetUserShoppingListEntryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserShoppingListEntryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserShoppingListEntryRequest) ProtoMessage() {} - -func (x *GetUserShoppingListEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[14] - 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 GetUserShoppingListEntryRequest.ProtoReflect.Descriptor instead. -func (*GetUserShoppingListEntryRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{14} -} - -func (x *GetUserShoppingListEntryRequest) GetShoppingListId() uint64 { - if x != nil { - return x.ShoppingListId - } - return 0 -} - -func (x *GetUserShoppingListEntryRequest) GetProductId() uint64 { - if x != nil { - return x.ProductId - } - return 0 -} - -type GetUserShoppingListEntryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingListEntry *UserShoppingListEntry `protobuf:"bytes,1,opt,name=userShoppingListEntry,proto3" json:"userShoppingListEntry,omitempty"` -} - -func (x *GetUserShoppingListEntryResponse) Reset() { - *x = GetUserShoppingListEntryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserShoppingListEntryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserShoppingListEntryResponse) ProtoMessage() {} - -func (x *GetUserShoppingListEntryResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[15] - 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 GetUserShoppingListEntryResponse.ProtoReflect.Descriptor instead. -func (*GetUserShoppingListEntryResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{15} -} - -func (x *GetUserShoppingListEntryResponse) GetUserShoppingListEntry() *UserShoppingListEntry { - if x != nil { - return x.UserShoppingListEntry - } - return nil -} - -// Request- and Response-Messages for GetAllUserShoppingListEntries -type GetAllUserShoppingListEntriesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *GetAllUserShoppingListEntriesRequest) Reset() { - *x = GetAllUserShoppingListEntriesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllUserShoppingListEntriesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllUserShoppingListEntriesRequest) ProtoMessage() {} - -func (x *GetAllUserShoppingListEntriesRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[16] - 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 GetAllUserShoppingListEntriesRequest.ProtoReflect.Descriptor instead. -func (*GetAllUserShoppingListEntriesRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{16} -} - -func (x *GetAllUserShoppingListEntriesRequest) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -type GetAllUserShoppingListEntriesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingListEntries []*UserShoppingListEntry `protobuf:"bytes,1,rep,name=userShoppingListEntries,proto3" json:"userShoppingListEntries,omitempty"` -} - -func (x *GetAllUserShoppingListEntriesResponse) Reset() { - *x = GetAllUserShoppingListEntriesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllUserShoppingListEntriesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllUserShoppingListEntriesResponse) ProtoMessage() {} - -func (x *GetAllUserShoppingListEntriesResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[17] - 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 GetAllUserShoppingListEntriesResponse.ProtoReflect.Descriptor instead. -func (*GetAllUserShoppingListEntriesResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{17} -} - -func (x *GetAllUserShoppingListEntriesResponse) GetUserShoppingListEntries() []*UserShoppingListEntry { - if x != nil { - return x.UserShoppingListEntries - } - return nil -} - -// Request- and Response-Messages for UpdateUserShoppingList -type UpdateUserShoppingListEntryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingListEntry *UserShoppingListEntry `protobuf:"bytes,1,opt,name=userShoppingListEntry,proto3" json:"userShoppingListEntry,omitempty"` -} - -func (x *UpdateUserShoppingListEntryRequest) Reset() { - *x = UpdateUserShoppingListEntryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserShoppingListEntryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserShoppingListEntryRequest) ProtoMessage() {} - -func (x *UpdateUserShoppingListEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[18] - 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 UpdateUserShoppingListEntryRequest.ProtoReflect.Descriptor instead. -func (*UpdateUserShoppingListEntryRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{18} -} - -func (x *UpdateUserShoppingListEntryRequest) GetUserShoppingListEntry() *UserShoppingListEntry { - if x != nil { - return x.UserShoppingListEntry - } - return nil -} - -type UpdateUserShoppingListEntryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserShoppingListEntry *UserShoppingListEntry `protobuf:"bytes,1,opt,name=userShoppingListEntry,proto3" json:"userShoppingListEntry,omitempty"` -} - -func (x *UpdateUserShoppingListEntryResponse) Reset() { - *x = UpdateUserShoppingListEntryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserShoppingListEntryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserShoppingListEntryResponse) ProtoMessage() {} - -func (x *UpdateUserShoppingListEntryResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[19] - 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 UpdateUserShoppingListEntryResponse.ProtoReflect.Descriptor instead. -func (*UpdateUserShoppingListEntryResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{19} -} - -func (x *UpdateUserShoppingListEntryResponse) GetUserShoppingListEntry() *UserShoppingListEntry { - if x != nil { - return x.UserShoppingListEntry - } - return nil -} - -// Request- and Response-Messages for DeleteUserShoppingList -type DeleteUserShoppingListEntryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ShoppingListId uint64 `protobuf:"varint,1,opt,name=shoppingListId,proto3" json:"shoppingListId,omitempty"` - ProductId uint64 `protobuf:"varint,2,opt,name=productId,proto3" json:"productId,omitempty"` -} - -func (x *DeleteUserShoppingListEntryRequest) Reset() { - *x = DeleteUserShoppingListEntryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteUserShoppingListEntryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteUserShoppingListEntryRequest) ProtoMessage() {} - -func (x *DeleteUserShoppingListEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[20] - 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 DeleteUserShoppingListEntryRequest.ProtoReflect.Descriptor instead. -func (*DeleteUserShoppingListEntryRequest) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{20} -} - -func (x *DeleteUserShoppingListEntryRequest) GetShoppingListId() uint64 { - if x != nil { - return x.ShoppingListId - } - return 0 -} - -func (x *DeleteUserShoppingListEntryRequest) GetProductId() uint64 { - if x != nil { - return x.ProductId - } - return 0 -} - -type DeleteUserShoppingListEntryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DeleteUserShoppingListEntryResponse) Reset() { - *x = DeleteUserShoppingListEntryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteUserShoppingListEntryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteUserShoppingListEntryResponse) ProtoMessage() {} - -func (x *DeleteUserShoppingListEntryResponse) ProtoReflect() protoreflect.Message { - mi := &file_shoppinglist_shoppinglist_proto_msgTypes[21] - 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 DeleteUserShoppingListEntryResponse.ProtoReflect.Descriptor instead. -func (*DeleteUserShoppingListEntryResponse) Descriptor() ([]byte, []int) { - return file_shoppinglist_shoppinglist_proto_rawDescGZIP(), []int{21} -} - -var File_shoppinglist_shoppinglist_proto protoreflect.FileDescriptor - -var file_shoppinglist_shoppinglist_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x73, - 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0c, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x22, - 0x7a, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x15, - 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, - 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x22, - 0x6b, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x4a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, - 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x6c, 0x0a, 0x1e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, - 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2c, 0x0a, 0x1a, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, - 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x38, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, - 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6d, 0x0a, - 0x1f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, - 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x1d, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, - 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x6c, 0x0a, 0x1e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x75, - 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x22, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x59, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x80, 0x01, 0x0a, 0x23, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, - 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x67, - 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x7d, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x15, 0x75, - 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x36, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, - 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x86, - 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, - 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x68, 0x6f, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, - 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x7f, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, - 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, - 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x80, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x59, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x6a, 0x0a, 0x22, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdc, - 0x04, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x73, 0x0a, 0x16, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, - 0x69, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6a, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x29, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, - 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x2e, - 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x73, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x2b, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, - 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb3, 0x05, - 0x0a, 0x1c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x82, - 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x30, - 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x2d, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, - 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, - 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x12, 0x32, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, - 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x73, 0x68, 0x6f, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x68, - 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, - 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x30, - 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x42, 0x14, 0x5a, 0x12, 0x2e, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x68, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} - -var ( - file_shoppinglist_shoppinglist_proto_rawDescOnce sync.Once - file_shoppinglist_shoppinglist_proto_rawDescData = file_shoppinglist_shoppinglist_proto_rawDesc -) - -func file_shoppinglist_shoppinglist_proto_rawDescGZIP() []byte { - file_shoppinglist_shoppinglist_proto_rawDescOnce.Do(func() { - file_shoppinglist_shoppinglist_proto_rawDescData = protoimpl.X.CompressGZIP(file_shoppinglist_shoppinglist_proto_rawDescData) - }) - return file_shoppinglist_shoppinglist_proto_rawDescData -} - -var file_shoppinglist_shoppinglist_proto_msgTypes = make([]protoimpl.MessageInfo, 22) -var file_shoppinglist_shoppinglist_proto_goTypes = []interface{}{ - (*UserShoppingList)(nil), // 0: shoppinglist.UserShoppingList - (*UserShoppingListEntry)(nil), // 1: shoppinglist.UserShoppingListEntry - (*CreateUserShoppingListRequest)(nil), // 2: shoppinglist.CreateUserShoppingListRequest - (*CreateUserShoppingListResponse)(nil), // 3: shoppinglist.CreateUserShoppingListResponse - (*GetUserShoppingListRequest)(nil), // 4: shoppinglist.GetUserShoppingListRequest - (*GetUserShoppingListResponse)(nil), // 5: shoppinglist.GetUserShoppingListResponse - (*GetAllUserShoppingListsRequest)(nil), // 6: shoppinglist.GetAllUserShoppingListsRequest - (*GetAllUserShoppingListsResponse)(nil), // 7: shoppinglist.GetAllUserShoppingListsResponse - (*UpdateUserShoppingListRequest)(nil), // 8: shoppinglist.UpdateUserShoppingListRequest - (*UpdateUserShoppingListResponse)(nil), // 9: shoppinglist.UpdateUserShoppingListResponse - (*DeleteUserShoppingListRequest)(nil), // 10: shoppinglist.DeleteUserShoppingListRequest - (*DeleteUserShoppingListResponse)(nil), // 11: shoppinglist.DeleteUserShoppingListResponse - (*CreateUserShoppingListEntryRequest)(nil), // 12: shoppinglist.CreateUserShoppingListEntryRequest - (*CreateUserShoppingListEntryResponse)(nil), // 13: shoppinglist.CreateUserShoppingListEntryResponse - (*GetUserShoppingListEntryRequest)(nil), // 14: shoppinglist.GetUserShoppingListEntryRequest - (*GetUserShoppingListEntryResponse)(nil), // 15: shoppinglist.GetUserShoppingListEntryResponse - (*GetAllUserShoppingListEntriesRequest)(nil), // 16: shoppinglist.GetAllUserShoppingListEntriesRequest - (*GetAllUserShoppingListEntriesResponse)(nil), // 17: shoppinglist.GetAllUserShoppingListEntriesResponse - (*UpdateUserShoppingListEntryRequest)(nil), // 18: shoppinglist.UpdateUserShoppingListEntryRequest - (*UpdateUserShoppingListEntryResponse)(nil), // 19: shoppinglist.UpdateUserShoppingListEntryResponse - (*DeleteUserShoppingListEntryRequest)(nil), // 20: shoppinglist.DeleteUserShoppingListEntryRequest - (*DeleteUserShoppingListEntryResponse)(nil), // 21: shoppinglist.DeleteUserShoppingListEntryResponse -} -var file_shoppinglist_shoppinglist_proto_depIdxs = []int32{ - 0, // 0: shoppinglist.CreateUserShoppingListRequest.userShoppingList:type_name -> shoppinglist.UserShoppingList - 0, // 1: shoppinglist.CreateUserShoppingListResponse.userShoppingList:type_name -> shoppinglist.UserShoppingList - 0, // 2: shoppinglist.GetUserShoppingListResponse.userShoppingList:type_name -> shoppinglist.UserShoppingList - 0, // 3: shoppinglist.GetAllUserShoppingListsResponse.userShoppingList:type_name -> shoppinglist.UserShoppingList - 0, // 4: shoppinglist.UpdateUserShoppingListRequest.userShoppingList:type_name -> shoppinglist.UserShoppingList - 0, // 5: shoppinglist.UpdateUserShoppingListResponse.userShoppingList:type_name -> shoppinglist.UserShoppingList - 1, // 6: shoppinglist.CreateUserShoppingListEntryRequest.userShoppingListEntry:type_name -> shoppinglist.UserShoppingListEntry - 1, // 7: shoppinglist.CreateUserShoppingListEntryResponse.userShoppingListEntry:type_name -> shoppinglist.UserShoppingListEntry - 1, // 8: shoppinglist.GetUserShoppingListEntryResponse.userShoppingListEntry:type_name -> shoppinglist.UserShoppingListEntry - 1, // 9: shoppinglist.GetAllUserShoppingListEntriesResponse.userShoppingListEntries:type_name -> shoppinglist.UserShoppingListEntry - 1, // 10: shoppinglist.UpdateUserShoppingListEntryRequest.userShoppingListEntry:type_name -> shoppinglist.UserShoppingListEntry - 1, // 11: shoppinglist.UpdateUserShoppingListEntryResponse.userShoppingListEntry:type_name -> shoppinglist.UserShoppingListEntry - 2, // 12: shoppinglist.UserShoppingListService.CreateUserShoppingList:input_type -> shoppinglist.CreateUserShoppingListRequest - 4, // 13: shoppinglist.UserShoppingListService.GetUserShoppingList:input_type -> shoppinglist.GetUserShoppingListRequest - 6, // 14: shoppinglist.UserShoppingListService.GetAllUserShoppingLists:input_type -> shoppinglist.GetAllUserShoppingListsRequest - 8, // 15: shoppinglist.UserShoppingListService.UpdateUserShoppingList:input_type -> shoppinglist.UpdateUserShoppingListRequest - 10, // 16: shoppinglist.UserShoppingListService.DeleteUserShoppingList:input_type -> shoppinglist.DeleteUserShoppingListRequest - 12, // 17: shoppinglist.UserShoppingListEntryService.CreateUserShoppingListEntry:input_type -> shoppinglist.CreateUserShoppingListEntryRequest - 14, // 18: shoppinglist.UserShoppingListEntryService.GetUserShoppingListEntry:input_type -> shoppinglist.GetUserShoppingListEntryRequest - 16, // 19: shoppinglist.UserShoppingListEntryService.GetAllUserShoppingListEntries:input_type -> shoppinglist.GetAllUserShoppingListEntriesRequest - 18, // 20: shoppinglist.UserShoppingListEntryService.UpdateUserShoppingListEntry:input_type -> shoppinglist.UpdateUserShoppingListEntryRequest - 20, // 21: shoppinglist.UserShoppingListEntryService.DeleteUserShoppingListEntry:input_type -> shoppinglist.DeleteUserShoppingListEntryRequest - 3, // 22: shoppinglist.UserShoppingListService.CreateUserShoppingList:output_type -> shoppinglist.CreateUserShoppingListResponse - 5, // 23: shoppinglist.UserShoppingListService.GetUserShoppingList:output_type -> shoppinglist.GetUserShoppingListResponse - 7, // 24: shoppinglist.UserShoppingListService.GetAllUserShoppingLists:output_type -> shoppinglist.GetAllUserShoppingListsResponse - 9, // 25: shoppinglist.UserShoppingListService.UpdateUserShoppingList:output_type -> shoppinglist.UpdateUserShoppingListResponse - 11, // 26: shoppinglist.UserShoppingListService.DeleteUserShoppingList:output_type -> shoppinglist.DeleteUserShoppingListResponse - 13, // 27: shoppinglist.UserShoppingListEntryService.CreateUserShoppingListEntry:output_type -> shoppinglist.CreateUserShoppingListEntryResponse - 15, // 28: shoppinglist.UserShoppingListEntryService.GetUserShoppingListEntry:output_type -> shoppinglist.GetUserShoppingListEntryResponse - 17, // 29: shoppinglist.UserShoppingListEntryService.GetAllUserShoppingListEntries:output_type -> shoppinglist.GetAllUserShoppingListEntriesResponse - 19, // 30: shoppinglist.UserShoppingListEntryService.UpdateUserShoppingListEntry:output_type -> shoppinglist.UpdateUserShoppingListEntryResponse - 21, // 31: shoppinglist.UserShoppingListEntryService.DeleteUserShoppingListEntry:output_type -> shoppinglist.DeleteUserShoppingListEntryResponse - 22, // [22:32] is the sub-list for method output_type - 12, // [12:22] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name -} - -func init() { file_shoppinglist_shoppinglist_proto_init() } -func file_shoppinglist_shoppinglist_proto_init() { - if File_shoppinglist_shoppinglist_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_shoppinglist_shoppinglist_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserShoppingList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserShoppingListEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserShoppingListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserShoppingListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserShoppingListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserShoppingListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllUserShoppingListsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllUserShoppingListsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserShoppingListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserShoppingListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserShoppingListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserShoppingListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserShoppingListEntryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserShoppingListEntryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserShoppingListEntryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserShoppingListEntryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllUserShoppingListEntriesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllUserShoppingListEntriesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserShoppingListEntryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserShoppingListEntryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserShoppingListEntryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_shoppinglist_shoppinglist_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserShoppingListEntryResponse); 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{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_shoppinglist_shoppinglist_proto_rawDesc, - NumEnums: 0, - NumMessages: 22, - NumExtensions: 0, - NumServices: 2, - }, - GoTypes: file_shoppinglist_shoppinglist_proto_goTypes, - DependencyIndexes: file_shoppinglist_shoppinglist_proto_depIdxs, - MessageInfos: file_shoppinglist_shoppinglist_proto_msgTypes, - }.Build() - File_shoppinglist_shoppinglist_proto = out.File - file_shoppinglist_shoppinglist_proto_rawDesc = nil - file_shoppinglist_shoppinglist_proto_goTypes = nil - file_shoppinglist_shoppinglist_proto_depIdxs = nil -} diff --git a/lib/rpc/shoppinglist/shoppinglist.proto b/lib/rpc/shoppinglist/shoppinglist.proto deleted file mode 100644 index 19ee4573..00000000 --- a/lib/rpc/shoppinglist/shoppinglist.proto +++ /dev/null @@ -1,144 +0,0 @@ -syntax = "proto3"; - -package shoppinglist; - -option go_package = "./rpc/shoppinglist"; - -message UserShoppingList { - uint64 id = 1; - uint64 userId = 2; - string description = 3; - bool completed = 4; -} - -message UserShoppingListEntry { - uint64 shoppingListId = 1; - uint64 productId = 2; - uint64 count = 3; - string note = 4; - bool checked = 5; -} - -service UserShoppingListService { - // create method for adding a new shopping list - rpc CreateUserShoppingList(CreateUserShoppingListRequest) returns (CreateUserShoppingListResponse); - - // read method for getting a specific shopping list - rpc GetUserShoppingList(GetUserShoppingListRequest) returns (GetUserShoppingListResponse); - - // read method for getting all shopping lists for an user - rpc GetAllUserShoppingLists(GetAllUserShoppingListsRequest) returns (GetAllUserShoppingListsResponse); - - // update method for updating a shopping list - rpc UpdateUserShoppingList(UpdateUserShoppingListRequest) returns (UpdateUserShoppingListResponse); - - // delete method to get rid of a shopping list - rpc DeleteUserShoppingList(DeleteUserShoppingListRequest) returns (DeleteUserShoppingListResponse); -} - -service UserShoppingListEntryService { - // create method for adding a new shopping list entry - rpc CreateUserShoppingListEntry(CreateUserShoppingListEntryRequest) returns (CreateUserShoppingListEntryResponse); - - // read method for getting a specific shopping list entry - rpc GetUserShoppingListEntry(GetUserShoppingListEntryRequest) returns (GetUserShoppingListEntryResponse); - - // read method for getting all shopping list entry for a specific shopping list - rpc GetAllUserShoppingListEntries(GetAllUserShoppingListEntriesRequest) returns (GetAllUserShoppingListEntriesResponse); - - // update method for updating a shopping list - rpc UpdateUserShoppingListEntry(UpdateUserShoppingListEntryRequest) returns (UpdateUserShoppingListEntryResponse); - - // delete method to get rid of a shopping list - rpc DeleteUserShoppingListEntry(DeleteUserShoppingListEntryRequest) returns (DeleteUserShoppingListEntryResponse); -} - -// Request- and Response-Messages for CreateUserShoppingList -message CreateUserShoppingListRequest { - UserShoppingList userShoppingList = 1; -} - -message CreateUserShoppingListResponse { - UserShoppingList userShoppingList = 1; -} - -// Request- and Response-Messages for GetUserShoppingList -message GetUserShoppingListRequest { - uint64 Id = 1; -} - -message GetUserShoppingListResponse { - UserShoppingList userShoppingList = 1; -} - -// Request- and Response-Messages for ListProducts -message GetAllUserShoppingListsRequest { - uint64 userId = 1; -} - -message GetAllUserShoppingListsResponse { - repeated UserShoppingList userShoppingList = 1; -} - -// Request- and Response-Messages for UpdateUserShoppingList -message UpdateUserShoppingListRequest { - UserShoppingList userShoppingList = 1; -} - -message UpdateUserShoppingListResponse { - UserShoppingList userShoppingList = 1; -} - -// Request- and Response-Messages for DeleteUserShoppingList -message DeleteUserShoppingListRequest { - uint64 id = 1; -} - -message DeleteUserShoppingListResponse { -} - -// Request- and Response-Messages for CreateUserShoppingListEntry -message CreateUserShoppingListEntryRequest { - UserShoppingListEntry userShoppingListEntry = 1; -} - -message CreateUserShoppingListEntryResponse { - UserShoppingListEntry userShoppingListEntry = 1; -} - -// Request- and Response-Messages for GetUserShoppingListEntry -message GetUserShoppingListEntryRequest { - uint64 shoppingListId = 1; - uint64 productId = 2; -} - -message GetUserShoppingListEntryResponse { - UserShoppingListEntry userShoppingListEntry = 1; -} - -// Request- and Response-Messages for GetAllUserShoppingListEntries -message GetAllUserShoppingListEntriesRequest { - uint64 id = 1; -} - -message GetAllUserShoppingListEntriesResponse { - repeated UserShoppingListEntry userShoppingListEntries = 1; -} - -// Request- and Response-Messages for UpdateUserShoppingList -message UpdateUserShoppingListEntryRequest { - UserShoppingListEntry userShoppingListEntry = 1; -} - -message UpdateUserShoppingListEntryResponse { - UserShoppingListEntry userShoppingListEntry = 1; -} - -// Request- and Response-Messages for DeleteUserShoppingList -message DeleteUserShoppingListEntryRequest { - uint64 shoppingListId = 1; - uint64 productId = 2; -} - -message DeleteUserShoppingListEntryResponse { -} \ No newline at end of file diff --git a/lib/rpc/shoppinglist/shoppinglist_grpc.pb.go b/lib/rpc/shoppinglist/shoppinglist_grpc.pb.go deleted file mode 100644 index a599bec8..00000000 --- a/lib/rpc/shoppinglist/shoppinglist_grpc.pb.go +++ /dev/null @@ -1,517 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.1 -// source: shoppinglist/shoppinglist.proto - -package shoppinglist - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -const ( - UserShoppingListService_CreateUserShoppingList_FullMethodName = "/shoppinglist.UserShoppingListService/CreateUserShoppingList" - UserShoppingListService_GetUserShoppingList_FullMethodName = "/shoppinglist.UserShoppingListService/GetUserShoppingList" - UserShoppingListService_GetAllUserShoppingLists_FullMethodName = "/shoppinglist.UserShoppingListService/GetAllUserShoppingLists" - UserShoppingListService_UpdateUserShoppingList_FullMethodName = "/shoppinglist.UserShoppingListService/UpdateUserShoppingList" - UserShoppingListService_DeleteUserShoppingList_FullMethodName = "/shoppinglist.UserShoppingListService/DeleteUserShoppingList" -) - -// UserShoppingListServiceClient is the client API for UserShoppingListService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type UserShoppingListServiceClient interface { - // create method for adding a new shopping list - CreateUserShoppingList(ctx context.Context, in *CreateUserShoppingListRequest, opts ...grpc.CallOption) (*CreateUserShoppingListResponse, error) - // read method for getting a specific shopping list - GetUserShoppingList(ctx context.Context, in *GetUserShoppingListRequest, opts ...grpc.CallOption) (*GetUserShoppingListResponse, error) - // read method for getting all shopping lists for an user - GetAllUserShoppingLists(ctx context.Context, in *GetAllUserShoppingListsRequest, opts ...grpc.CallOption) (*GetAllUserShoppingListsResponse, error) - // update method for updating a shopping list - UpdateUserShoppingList(ctx context.Context, in *UpdateUserShoppingListRequest, opts ...grpc.CallOption) (*UpdateUserShoppingListResponse, error) - // delete method to get rid of a shopping list - DeleteUserShoppingList(ctx context.Context, in *DeleteUserShoppingListRequest, opts ...grpc.CallOption) (*DeleteUserShoppingListResponse, error) -} - -type userShoppingListServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewUserShoppingListServiceClient(cc grpc.ClientConnInterface) UserShoppingListServiceClient { - return &userShoppingListServiceClient{cc} -} - -func (c *userShoppingListServiceClient) CreateUserShoppingList(ctx context.Context, in *CreateUserShoppingListRequest, opts ...grpc.CallOption) (*CreateUserShoppingListResponse, error) { - out := new(CreateUserShoppingListResponse) - err := c.cc.Invoke(ctx, UserShoppingListService_CreateUserShoppingList_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userShoppingListServiceClient) GetUserShoppingList(ctx context.Context, in *GetUserShoppingListRequest, opts ...grpc.CallOption) (*GetUserShoppingListResponse, error) { - out := new(GetUserShoppingListResponse) - err := c.cc.Invoke(ctx, UserShoppingListService_GetUserShoppingList_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userShoppingListServiceClient) GetAllUserShoppingLists(ctx context.Context, in *GetAllUserShoppingListsRequest, opts ...grpc.CallOption) (*GetAllUserShoppingListsResponse, error) { - out := new(GetAllUserShoppingListsResponse) - err := c.cc.Invoke(ctx, UserShoppingListService_GetAllUserShoppingLists_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userShoppingListServiceClient) UpdateUserShoppingList(ctx context.Context, in *UpdateUserShoppingListRequest, opts ...grpc.CallOption) (*UpdateUserShoppingListResponse, error) { - out := new(UpdateUserShoppingListResponse) - err := c.cc.Invoke(ctx, UserShoppingListService_UpdateUserShoppingList_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userShoppingListServiceClient) DeleteUserShoppingList(ctx context.Context, in *DeleteUserShoppingListRequest, opts ...grpc.CallOption) (*DeleteUserShoppingListResponse, error) { - out := new(DeleteUserShoppingListResponse) - err := c.cc.Invoke(ctx, UserShoppingListService_DeleteUserShoppingList_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// UserShoppingListServiceServer is the server API for UserShoppingListService service. -// All implementations must embed UnimplementedUserShoppingListServiceServer -// for forward compatibility -type UserShoppingListServiceServer interface { - // create method for adding a new shopping list - CreateUserShoppingList(context.Context, *CreateUserShoppingListRequest) (*CreateUserShoppingListResponse, error) - // read method for getting a specific shopping list - GetUserShoppingList(context.Context, *GetUserShoppingListRequest) (*GetUserShoppingListResponse, error) - // read method for getting all shopping lists for an user - GetAllUserShoppingLists(context.Context, *GetAllUserShoppingListsRequest) (*GetAllUserShoppingListsResponse, error) - // update method for updating a shopping list - UpdateUserShoppingList(context.Context, *UpdateUserShoppingListRequest) (*UpdateUserShoppingListResponse, error) - // delete method to get rid of a shopping list - DeleteUserShoppingList(context.Context, *DeleteUserShoppingListRequest) (*DeleteUserShoppingListResponse, error) - mustEmbedUnimplementedUserShoppingListServiceServer() -} - -// UnimplementedUserShoppingListServiceServer must be embedded to have forward compatible implementations. -type UnimplementedUserShoppingListServiceServer struct { -} - -func (UnimplementedUserShoppingListServiceServer) CreateUserShoppingList(context.Context, *CreateUserShoppingListRequest) (*CreateUserShoppingListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateUserShoppingList not implemented") -} -func (UnimplementedUserShoppingListServiceServer) GetUserShoppingList(context.Context, *GetUserShoppingListRequest) (*GetUserShoppingListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserShoppingList not implemented") -} -func (UnimplementedUserShoppingListServiceServer) GetAllUserShoppingLists(context.Context, *GetAllUserShoppingListsRequest) (*GetAllUserShoppingListsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAllUserShoppingLists not implemented") -} -func (UnimplementedUserShoppingListServiceServer) UpdateUserShoppingList(context.Context, *UpdateUserShoppingListRequest) (*UpdateUserShoppingListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateUserShoppingList not implemented") -} -func (UnimplementedUserShoppingListServiceServer) DeleteUserShoppingList(context.Context, *DeleteUserShoppingListRequest) (*DeleteUserShoppingListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteUserShoppingList not implemented") -} -func (UnimplementedUserShoppingListServiceServer) mustEmbedUnimplementedUserShoppingListServiceServer() { -} - -// UnsafeUserShoppingListServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to UserShoppingListServiceServer will -// result in compilation errors. -type UnsafeUserShoppingListServiceServer interface { - mustEmbedUnimplementedUserShoppingListServiceServer() -} - -func RegisterUserShoppingListServiceServer(s grpc.ServiceRegistrar, srv UserShoppingListServiceServer) { - s.RegisterService(&UserShoppingListService_ServiceDesc, srv) -} - -func _UserShoppingListService_CreateUserShoppingList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateUserShoppingListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListServiceServer).CreateUserShoppingList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListService_CreateUserShoppingList_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListServiceServer).CreateUserShoppingList(ctx, req.(*CreateUserShoppingListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserShoppingListService_GetUserShoppingList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserShoppingListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListServiceServer).GetUserShoppingList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListService_GetUserShoppingList_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListServiceServer).GetUserShoppingList(ctx, req.(*GetUserShoppingListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserShoppingListService_GetAllUserShoppingLists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAllUserShoppingListsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListServiceServer).GetAllUserShoppingLists(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListService_GetAllUserShoppingLists_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListServiceServer).GetAllUserShoppingLists(ctx, req.(*GetAllUserShoppingListsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserShoppingListService_UpdateUserShoppingList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateUserShoppingListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListServiceServer).UpdateUserShoppingList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListService_UpdateUserShoppingList_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListServiceServer).UpdateUserShoppingList(ctx, req.(*UpdateUserShoppingListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserShoppingListService_DeleteUserShoppingList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteUserShoppingListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListServiceServer).DeleteUserShoppingList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListService_DeleteUserShoppingList_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListServiceServer).DeleteUserShoppingList(ctx, req.(*DeleteUserShoppingListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// UserShoppingListService_ServiceDesc is the grpc.ServiceDesc for UserShoppingListService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var UserShoppingListService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "shoppinglist.UserShoppingListService", - HandlerType: (*UserShoppingListServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "CreateUserShoppingList", - Handler: _UserShoppingListService_CreateUserShoppingList_Handler, - }, - { - MethodName: "GetUserShoppingList", - Handler: _UserShoppingListService_GetUserShoppingList_Handler, - }, - { - MethodName: "GetAllUserShoppingLists", - Handler: _UserShoppingListService_GetAllUserShoppingLists_Handler, - }, - { - MethodName: "UpdateUserShoppingList", - Handler: _UserShoppingListService_UpdateUserShoppingList_Handler, - }, - { - MethodName: "DeleteUserShoppingList", - Handler: _UserShoppingListService_DeleteUserShoppingList_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "shoppinglist/shoppinglist.proto", -} - -const ( - UserShoppingListEntryService_CreateUserShoppingListEntry_FullMethodName = "/shoppinglist.UserShoppingListEntryService/CreateUserShoppingListEntry" - UserShoppingListEntryService_GetUserShoppingListEntry_FullMethodName = "/shoppinglist.UserShoppingListEntryService/GetUserShoppingListEntry" - UserShoppingListEntryService_GetAllUserShoppingListEntries_FullMethodName = "/shoppinglist.UserShoppingListEntryService/GetAllUserShoppingListEntries" - UserShoppingListEntryService_UpdateUserShoppingListEntry_FullMethodName = "/shoppinglist.UserShoppingListEntryService/UpdateUserShoppingListEntry" - UserShoppingListEntryService_DeleteUserShoppingListEntry_FullMethodName = "/shoppinglist.UserShoppingListEntryService/DeleteUserShoppingListEntry" -) - -// UserShoppingListEntryServiceClient is the client API for UserShoppingListEntryService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type UserShoppingListEntryServiceClient interface { - // create method for adding a new shopping list entry - CreateUserShoppingListEntry(ctx context.Context, in *CreateUserShoppingListEntryRequest, opts ...grpc.CallOption) (*CreateUserShoppingListEntryResponse, error) - // read method for getting a specific shopping list entry - GetUserShoppingListEntry(ctx context.Context, in *GetUserShoppingListEntryRequest, opts ...grpc.CallOption) (*GetUserShoppingListEntryResponse, error) - // read method for getting all shopping list entry for a specific shopping list - GetAllUserShoppingListEntries(ctx context.Context, in *GetAllUserShoppingListEntriesRequest, opts ...grpc.CallOption) (*GetAllUserShoppingListEntriesResponse, error) - // update method for updating a shopping list - UpdateUserShoppingListEntry(ctx context.Context, in *UpdateUserShoppingListEntryRequest, opts ...grpc.CallOption) (*UpdateUserShoppingListEntryResponse, error) - // delete method to get rid of a shopping list - DeleteUserShoppingListEntry(ctx context.Context, in *DeleteUserShoppingListEntryRequest, opts ...grpc.CallOption) (*DeleteUserShoppingListEntryResponse, error) -} - -type userShoppingListEntryServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewUserShoppingListEntryServiceClient(cc grpc.ClientConnInterface) UserShoppingListEntryServiceClient { - return &userShoppingListEntryServiceClient{cc} -} - -func (c *userShoppingListEntryServiceClient) CreateUserShoppingListEntry(ctx context.Context, in *CreateUserShoppingListEntryRequest, opts ...grpc.CallOption) (*CreateUserShoppingListEntryResponse, error) { - out := new(CreateUserShoppingListEntryResponse) - err := c.cc.Invoke(ctx, UserShoppingListEntryService_CreateUserShoppingListEntry_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userShoppingListEntryServiceClient) GetUserShoppingListEntry(ctx context.Context, in *GetUserShoppingListEntryRequest, opts ...grpc.CallOption) (*GetUserShoppingListEntryResponse, error) { - out := new(GetUserShoppingListEntryResponse) - err := c.cc.Invoke(ctx, UserShoppingListEntryService_GetUserShoppingListEntry_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userShoppingListEntryServiceClient) GetAllUserShoppingListEntries(ctx context.Context, in *GetAllUserShoppingListEntriesRequest, opts ...grpc.CallOption) (*GetAllUserShoppingListEntriesResponse, error) { - out := new(GetAllUserShoppingListEntriesResponse) - err := c.cc.Invoke(ctx, UserShoppingListEntryService_GetAllUserShoppingListEntries_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userShoppingListEntryServiceClient) UpdateUserShoppingListEntry(ctx context.Context, in *UpdateUserShoppingListEntryRequest, opts ...grpc.CallOption) (*UpdateUserShoppingListEntryResponse, error) { - out := new(UpdateUserShoppingListEntryResponse) - err := c.cc.Invoke(ctx, UserShoppingListEntryService_UpdateUserShoppingListEntry_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userShoppingListEntryServiceClient) DeleteUserShoppingListEntry(ctx context.Context, in *DeleteUserShoppingListEntryRequest, opts ...grpc.CallOption) (*DeleteUserShoppingListEntryResponse, error) { - out := new(DeleteUserShoppingListEntryResponse) - err := c.cc.Invoke(ctx, UserShoppingListEntryService_DeleteUserShoppingListEntry_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// UserShoppingListEntryServiceServer is the server API for UserShoppingListEntryService service. -// All implementations must embed UnimplementedUserShoppingListEntryServiceServer -// for forward compatibility -type UserShoppingListEntryServiceServer interface { - // create method for adding a new shopping list entry - CreateUserShoppingListEntry(context.Context, *CreateUserShoppingListEntryRequest) (*CreateUserShoppingListEntryResponse, error) - // read method for getting a specific shopping list entry - GetUserShoppingListEntry(context.Context, *GetUserShoppingListEntryRequest) (*GetUserShoppingListEntryResponse, error) - // read method for getting all shopping list entry for a specific shopping list - GetAllUserShoppingListEntries(context.Context, *GetAllUserShoppingListEntriesRequest) (*GetAllUserShoppingListEntriesResponse, error) - // update method for updating a shopping list - UpdateUserShoppingListEntry(context.Context, *UpdateUserShoppingListEntryRequest) (*UpdateUserShoppingListEntryResponse, error) - // delete method to get rid of a shopping list - DeleteUserShoppingListEntry(context.Context, *DeleteUserShoppingListEntryRequest) (*DeleteUserShoppingListEntryResponse, error) - mustEmbedUnimplementedUserShoppingListEntryServiceServer() -} - -// UnimplementedUserShoppingListEntryServiceServer must be embedded to have forward compatible implementations. -type UnimplementedUserShoppingListEntryServiceServer struct { -} - -func (UnimplementedUserShoppingListEntryServiceServer) CreateUserShoppingListEntry(context.Context, *CreateUserShoppingListEntryRequest) (*CreateUserShoppingListEntryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateUserShoppingListEntry not implemented") -} -func (UnimplementedUserShoppingListEntryServiceServer) GetUserShoppingListEntry(context.Context, *GetUserShoppingListEntryRequest) (*GetUserShoppingListEntryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserShoppingListEntry not implemented") -} -func (UnimplementedUserShoppingListEntryServiceServer) GetAllUserShoppingListEntries(context.Context, *GetAllUserShoppingListEntriesRequest) (*GetAllUserShoppingListEntriesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAllUserShoppingListEntries not implemented") -} -func (UnimplementedUserShoppingListEntryServiceServer) UpdateUserShoppingListEntry(context.Context, *UpdateUserShoppingListEntryRequest) (*UpdateUserShoppingListEntryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateUserShoppingListEntry not implemented") -} -func (UnimplementedUserShoppingListEntryServiceServer) DeleteUserShoppingListEntry(context.Context, *DeleteUserShoppingListEntryRequest) (*DeleteUserShoppingListEntryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteUserShoppingListEntry not implemented") -} -func (UnimplementedUserShoppingListEntryServiceServer) mustEmbedUnimplementedUserShoppingListEntryServiceServer() { -} - -// UnsafeUserShoppingListEntryServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to UserShoppingListEntryServiceServer will -// result in compilation errors. -type UnsafeUserShoppingListEntryServiceServer interface { - mustEmbedUnimplementedUserShoppingListEntryServiceServer() -} - -func RegisterUserShoppingListEntryServiceServer(s grpc.ServiceRegistrar, srv UserShoppingListEntryServiceServer) { - s.RegisterService(&UserShoppingListEntryService_ServiceDesc, srv) -} - -func _UserShoppingListEntryService_CreateUserShoppingListEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateUserShoppingListEntryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListEntryServiceServer).CreateUserShoppingListEntry(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListEntryService_CreateUserShoppingListEntry_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListEntryServiceServer).CreateUserShoppingListEntry(ctx, req.(*CreateUserShoppingListEntryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserShoppingListEntryService_GetUserShoppingListEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserShoppingListEntryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListEntryServiceServer).GetUserShoppingListEntry(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListEntryService_GetUserShoppingListEntry_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListEntryServiceServer).GetUserShoppingListEntry(ctx, req.(*GetUserShoppingListEntryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserShoppingListEntryService_GetAllUserShoppingListEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAllUserShoppingListEntriesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListEntryServiceServer).GetAllUserShoppingListEntries(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListEntryService_GetAllUserShoppingListEntries_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListEntryServiceServer).GetAllUserShoppingListEntries(ctx, req.(*GetAllUserShoppingListEntriesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserShoppingListEntryService_UpdateUserShoppingListEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateUserShoppingListEntryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListEntryServiceServer).UpdateUserShoppingListEntry(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListEntryService_UpdateUserShoppingListEntry_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListEntryServiceServer).UpdateUserShoppingListEntry(ctx, req.(*UpdateUserShoppingListEntryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserShoppingListEntryService_DeleteUserShoppingListEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteUserShoppingListEntryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserShoppingListEntryServiceServer).DeleteUserShoppingListEntry(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: UserShoppingListEntryService_DeleteUserShoppingListEntry_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserShoppingListEntryServiceServer).DeleteUserShoppingListEntry(ctx, req.(*DeleteUserShoppingListEntryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// UserShoppingListEntryService_ServiceDesc is the grpc.ServiceDesc for UserShoppingListEntryService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var UserShoppingListEntryService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "shoppinglist.UserShoppingListEntryService", - HandlerType: (*UserShoppingListEntryServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "CreateUserShoppingListEntry", - Handler: _UserShoppingListEntryService_CreateUserShoppingListEntry_Handler, - }, - { - MethodName: "GetUserShoppingListEntry", - Handler: _UserShoppingListEntryService_GetUserShoppingListEntry_Handler, - }, - { - MethodName: "GetAllUserShoppingListEntries", - Handler: _UserShoppingListEntryService_GetAllUserShoppingListEntries_Handler, - }, - { - MethodName: "UpdateUserShoppingListEntry", - Handler: _UserShoppingListEntryService_UpdateUserShoppingListEntry_Handler, - }, - { - MethodName: "DeleteUserShoppingListEntry", - Handler: _UserShoppingListEntryService_DeleteUserShoppingListEntry_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "shoppinglist/shoppinglist.proto", -} diff --git a/src/shoppinglist-service/main.go b/src/shoppinglist-service/main.go index ef715d67..26afe583 100644 --- a/src/shoppinglist-service/main.go +++ b/src/shoppinglist-service/main.go @@ -116,12 +116,6 @@ func createContentForShoppingLists(shoppingListRepository userShoppingList.Repos Description: "Geburtstagskuchen", Completed: false, }, - { - Id: 3, - UserId: 4, - Description: "Einkauf für die Woche", - Completed: true, - }, } for _, price := range shoppingLists { diff --git a/src/shoppinglist-service/userShoppingList/default_controller_test.go b/src/shoppinglist-service/userShoppingList/default_controller_test.go index 06d5d848..25d7168a 100644 --- a/src/shoppinglist-service/userShoppingList/default_controller_test.go +++ b/src/shoppinglist-service/userShoppingList/default_controller_test.go @@ -108,7 +108,7 @@ func TestDefaultController_GetLists(t *testing.T) { expectedStatus: http.StatusOK, }, { - name: "Valid request as admin(expect 200)", + name: "Valid request as admin (expect 200)", fields: fields{ userShoppingListRepository: setupMockListRepository(), }, diff --git a/src/user-service/api/http/handler/login_test.go b/src/user-service/api/http/handler/login_test.go index c8bfa2c3..02c89638 100644 --- a/src/user-service/api/http/handler/login_test.go +++ b/src/user-service/api/http/handler/login_test.go @@ -30,7 +30,7 @@ func TestLoginHandler(t *testing.T) { expectedResponse string }{ { - name: "Valid User", + name: "Valid User (expect 200)", fields: fields{ loginHandler: setupLoginHandler(), }, @@ -38,7 +38,7 @@ func TestLoginHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/login", + "/api/v1/authentication/login", strings.NewReader(`{"email": "ada.lovelace@gmail.com", "password": "123456"}`), ), }, @@ -46,7 +46,7 @@ func TestLoginHandler(t *testing.T) { expectedResponse: "", }, { - name: "Invalid User Mail", + name: "Invalid User Mail (expect 500)", fields: fields{ loginHandler: setupLoginHandler(), }, @@ -54,7 +54,7 @@ func TestLoginHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/login", + "/api/v1/authenticationy/login", strings.NewReader(`{"email": "adaa.lovelace@gmail.com", "password": "123456"}`), ), }, @@ -62,7 +62,7 @@ func TestLoginHandler(t *testing.T) { expectedResponse: "", }, { - name: "Invalid Request - Empty Password", + name: "Invalid Request - Empty Password (expect 400)", fields: fields{ loginHandler: setupLoginHandler(), }, @@ -70,7 +70,7 @@ func TestLoginHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/login", + "/api/v1/authentication/login", strings.NewReader(`{"email": "ada.lovelace@gmail.com", "password": ""}`), ), }, @@ -78,7 +78,7 @@ func TestLoginHandler(t *testing.T) { expectedResponse: "", }, { - name: "Wrong password", + name: "Wrong password (expect 401)", fields: fields{ loginHandler: setupLoginHandler(), }, @@ -86,7 +86,7 @@ func TestLoginHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/login", + "/api/v1/authentication/login", strings.NewReader(`{"email": "ada.lovelace@gmail.com", "password": "98765"}`), ), }, @@ -94,7 +94,7 @@ func TestLoginHandler(t *testing.T) { expectedResponse: "", }, { - name: "Malformed JSON", + name: "Malformed JSON (expect 400)", fields: fields{ loginHandler: setupLoginHandler(), }, @@ -102,7 +102,7 @@ func TestLoginHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/login", + "/api/v1/authentication/login", strings.NewReader(`{"email": "ada.lovelace@gmail.com", "password": "123456"`), ), }, @@ -110,7 +110,7 @@ func TestLoginHandler(t *testing.T) { expectedResponse: "", }, { - name: "Missing field", + name: "Missing field (expect 400)", fields: fields{ loginHandler: setupLoginHandler(), }, @@ -118,7 +118,7 @@ func TestLoginHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/login", + "/api/v1/authentication/login", strings.NewReader(`{"email": "ada.lovelace@gmail.com"`), ), }, @@ -126,7 +126,7 @@ func TestLoginHandler(t *testing.T) { expectedResponse: "", }, { - name: "Invalid user data, incorrect Type for Email and Password (expected String)", + name: "Invalid user data, incorrect Type for Email and Password (expected String) (expect 400)", fields: fields{ loginHandler: setupLoginHandler(), }, @@ -134,7 +134,7 @@ func TestLoginHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/login", + "/api/v1/authentication/login", strings.NewReader(`{"email": 120, "password": 120`), ), }, @@ -167,7 +167,7 @@ func TestLoginHandler(t *testing.T) { writer := httptest.NewRecorder() request := httptest.NewRequest( "POST", - "/api/v1/user/login", + "/api/v1/authentication/login", strings.NewReader(`{"email": "ada.lovelace@gmail.com", "password": "123456"}`), ) diff --git a/src/user-service/api/http/handler/register_test.go b/src/user-service/api/http/handler/register_test.go index 1738ae00..a363cbc1 100644 --- a/src/user-service/api/http/handler/register_test.go +++ b/src/user-service/api/http/handler/register_test.go @@ -24,7 +24,7 @@ func TestRegisterHandler(t *testing.T) { expectedResponse string }{ { - name: "Valid User", + name: "Valid User (expect 200)", fields: fields{ registerHandler: setUpRegisterHandler(), }, @@ -32,7 +32,7 @@ func TestRegisterHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/register", + "/api/v1/authentication/register", strings.NewReader(`{"email": "grace.hopper@gmail.com", "password": "123456", "name": "Grace Hopper", "role": 0}`), ), }, @@ -40,7 +40,7 @@ func TestRegisterHandler(t *testing.T) { expectedResponse: "", }, { - name: "Invalid Request - Empty Password", + name: "Invalid Request - Empty Password (expect 400)", fields: fields{ registerHandler: setUpRegisterHandler(), }, @@ -48,7 +48,7 @@ func TestRegisterHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/register", + "/api/v1/authentication/register", strings.NewReader(`{"email": "grace.hopper2@gmail.com", "password": "", "name": "Grace Hopper", "role": 0}`), ), }, @@ -56,7 +56,7 @@ func TestRegisterHandler(t *testing.T) { expectedResponse: "", }, { - name: "User already exists", + name: "User already exists (expect 409)", fields: fields{ registerHandler: setUpRegisterHandler(), }, @@ -64,7 +64,7 @@ func TestRegisterHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/register", + "/api/v1/authentication/register", strings.NewReader(`{"email": "ada.lovelace@gmail.com", "password": "123456", "name": "Ada Lovelace", "role": 0}`), ), }, @@ -72,7 +72,7 @@ func TestRegisterHandler(t *testing.T) { expectedResponse: "", }, { - name: "User should not be able to register as admin", + name: "User should not be able to register as admin (expect 403)", fields: fields{ registerHandler: setUpRegisterHandler(), }, @@ -80,7 +80,7 @@ func TestRegisterHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/register", + "/api/v1/authentication/register", strings.NewReader(`{"email": "ada.lovelace@gmail.com", "password": "123456", "name": "Ada Lovelace", "role": 2}`), ), }, @@ -88,7 +88,7 @@ func TestRegisterHandler(t *testing.T) { expectedResponse: "", }, { - name: "Malformed JSON", + name: "Malformed JSON (expect 400)", fields: fields{ registerHandler: setUpRegisterHandler(), }, @@ -96,7 +96,7 @@ func TestRegisterHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/register", + "/api/v1/authentication/register", strings.NewReader(`{"email": "grace.hopper@gmail.com", "password": "123456", "name": "Grace Hopper", "role": 0`), ), }, @@ -104,7 +104,7 @@ func TestRegisterHandler(t *testing.T) { expectedResponse: "", }, { - name: "Invalid user data, incorrect Type for Email and Password (expected String)", + name: "Invalid user data, incorrect Type for Email and Password (expected String) (expect 400)", fields: fields{ registerHandler: setUpRegisterHandler(), }, @@ -112,7 +112,7 @@ func TestRegisterHandler(t *testing.T) { writer: httptest.NewRecorder(), request: httptest.NewRequest( "POST", - "/api/v1/user/register", + "/api/v1/authentication/register", strings.NewReader(`{"email": "grace.hopper@gmail.com", "password": 123456, "name": "Grace Hopper", "role": false}`), ), }, diff --git a/src/web-service/frontend/src/lib/shopping-list/CheapestMerchantNotice.svelte b/src/web-service/frontend/src/lib/shopping-list/CheapestMerchantNotice.svelte new file mode 100644 index 00000000..6d4ede5e --- /dev/null +++ b/src/web-service/frontend/src/lib/shopping-list/CheapestMerchantNotice.svelte @@ -0,0 +1,19 @@ + + +{#if showNotice} +
+

+ Dein Gesamteinkauf kostet {totalPrice} Euro. +

+

+ Am günstigsten bei + + {totalMerchant} + +

+
+{/if} \ No newline at end of file diff --git a/src/web-service/frontend/src/routes/shopping-lists/[id]/+page.svelte b/src/web-service/frontend/src/routes/shopping-lists/[id]/+page.svelte index b054bd59..fcf39469 100644 --- a/src/web-service/frontend/src/routes/shopping-lists/[id]/+page.svelte +++ b/src/web-service/frontend/src/routes/shopping-lists/[id]/+page.svelte @@ -5,6 +5,7 @@ import AddEntryModal from "$lib/shopping-list/AddEntryModal.svelte"; import ViewSelect from "$lib/shopping-list/ViewSelect.svelte"; import BackLink from "$lib/general/BackLink.svelte"; + import CheapestMerchantNotice from "$lib/shopping-list/CheapestMerchantNotice.svelte"; interface Entry { productId: number, @@ -99,7 +100,11 @@ - + 0} /> + +

Deine Einkaufsliste