'Generic Commit'
Some checks failed
Build-Test-Publish / build (linux/amd64) (push) Failing after 26s
Build-Test-Publish / build (linux/arm64) (push) Failing after 35s
Build-Test-Publish / create-manifest (push) Has been skipped

This commit is contained in:
Your Name
2025-06-15 22:53:08 +12:00
parent 2b3e761f54
commit 54c50be6f5
2 changed files with 8 additions and 14 deletions

View File

@@ -120,20 +120,18 @@ void UpdateHandler::handle_update_object(const drogon::HttpRequestPtr& req, std:
return; return;
} }
// Prepare updated entry // Prepare new entry for database merge
dbEntry updated_entry = entry; dbEntry new_entry;
updated_entry.metadata = new_metadata; new_entry.hash = hash;
new_entry.metadata = new_metadata;
// Update labeltags if provided in the new metadata // Extract labeltags if provided in the new metadata
if (new_metadata.contains("labeltags") && new_metadata["labeltags"].is_array()) { if (new_metadata.contains("labeltags") && new_metadata["labeltags"].is_array()) {
updated_entry.labeltags = new_metadata["labeltags"].get<std::vector<std::string>>(); new_entry.labeltags = new_metadata["labeltags"].get<std::vector<std::string>>();
} }
// If no labeltags provided, new_entry.labeltags will be empty and merge will preserve existing ones
// Ensure labeltags and hash are reflected in metadata
updated_entry.metadata["labeltags"] = updated_entry.labeltags;
updated_entry.metadata["hash"] = updated_entry.hash;
if (!server_.db_->update_or_insert(updated_entry)) { if (!server_.db_->update_or_insert(new_entry)) {
resp->setStatusCode(drogon::k500InternalServerError); resp->setStatusCode(drogon::k500InternalServerError);
nlohmann::json response = {{"result", "error"}, {"error", "Failed to update metadata for hash: " + hash}}; nlohmann::json response = {{"result", "error"}, {"error", "Failed to update metadata for hash: " + hash}};
resp->setBody(response.dump()); resp->setBody(response.dump());

View File

@@ -530,10 +530,6 @@ function test9() {
#------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------
test0 test0
test8
exit 0
test1 test1
test2 test2
test3 test3