# HG changeset patch # User Sebastien Jodogne # Date 1747752144 -7200 # Node ID 76935f315e7f1b9c010b985bdfaa4a7a4680715b # Parent 756983d498bbefed77f4a2f05c9b58c62dbd12b1 implemented protobuf for ListKeysValues diff -r 756983d498bb -r 76935f315e7f OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp --- a/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp Tue May 20 16:24:56 2025 +0200 +++ b/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp Tue May 20 16:42:24 2025 +0200 @@ -1936,17 +1936,18 @@ if (database_.GetDatabaseCapabilities().HasKeyValueStoresSupport()) { DatabasePluginMessages::TransactionRequest request; - request.mutable_list_key_values()->set_store_id(storeId); - // request.mutable_list_key_values()->set_since(since); // TODO_ATTACH_CUSTOM_DATA - request.mutable_list_key_values()->set_limit(limit); + request.mutable_list_keys_values()->set_store_id(storeId); + request.mutable_list_keys_values()->set_first(first); + request.mutable_list_keys_values()->set_from(from); + request.mutable_list_keys_values()->set_limit(limit); DatabasePluginMessages::TransactionResponse response; ExecuteTransaction(response, DatabasePluginMessages::OPERATION_LIST_KEY_VALUES, request); - for (int i = 0; i < response.list_key_values().key_values_size(); ++i) + for (int i = 0; i < response.list_keys_values().keys_values_size(); ++i) { - keys.push_back(response.list_key_values().key_values(i).key()); - // values .push_back(response.list_key_value().key_values(i)); // TODO_ATTACH_CUSTOM_DATA + keys.push_back(response.list_keys_values().keys_values(i).key()); + values.push_back(response.list_keys_values().keys_values(i).value()); } } else @@ -1982,14 +1983,17 @@ { DatabasePluginMessages::TransactionRequest request; request.mutable_dequeue_value()->set_queue_id(queueId); + switch (origin) { case QueueOrigin_Back: request.mutable_dequeue_value()->set_origin(DatabasePluginMessages::QUEUE_ORIGIN_BACK); break; + case QueueOrigin_Front: request.mutable_dequeue_value()->set_origin(DatabasePluginMessages::QUEUE_ORIGIN_FRONT); break; + default: throw OrthancException(ErrorCode_InternalError); } diff -r 756983d498bb -r 76935f315e7f OrthancServer/Plugins/Include/orthanc/OrthancDatabasePlugin.proto --- a/OrthancServer/Plugins/Include/orthanc/OrthancDatabasePlugin.proto Tue May 20 16:24:56 2025 +0200 +++ b/OrthancServer/Plugins/Include/orthanc/OrthancDatabasePlugin.proto Tue May 20 16:42:24 2025 +0200 @@ -1025,20 +1025,20 @@ } } -message KeyValue { - string key = 1; - string value = 2; -} - -message ListKeyValues { +message ListKeysValues { message Request { string store_id = 1; - uint64 since = 2; - uint64 limit = 3; + bool first = 2; + string from = 3; // Only meaningful if "first == false" + uint64 limit = 4; } message Response { - repeated KeyValue key_values = 1; + message KeyValue { + string key = 1; + string value = 2; + } + repeated KeyValue keys_values = 1; } } @@ -1156,7 +1156,7 @@ StoreKeyValue.Request store_key_value = 153; DeleteKeyValue.Request delete_key_value = 154; GetKeyValue.Request get_key_value = 155; - ListKeyValues.Request list_key_values = 156; + ListKeysValues.Request list_keys_values = 156; EnqueueValue.Request enqueue_value = 157; DequeueValue.Request dequeue_value = 158; GetQueueSize.Request get_queue_size = 159; @@ -1221,7 +1221,7 @@ StoreKeyValue.Response store_key_value = 153; DeleteKeyValue.Response delete_key_value = 154; GetKeyValue.Response get_key_value = 155; - ListKeyValues.Response list_key_values = 156; + ListKeysValues.Response list_keys_values = 156; EnqueueValue.Response enqueue_value = 157; DequeueValue.Response dequeue_value = 158; GetQueueSize.Response get_queue_size = 159;