aboutsummaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2019-08-08 15:50:31 +0200
committerneodarz <neodarz@neodarz.net>2019-08-08 15:50:31 +0200
commit0ce9ff7103a8303cbf7bbefe22adbc2b9505ea17 (patch)
treee924b3f1d325fe961f19a62f1aeaf038eaa3a4ef /api
parentdb5f789c5aeaee55ee0b54cb251eb5e5fbc0ec5b (diff)
downloadumosapicpp-0ce9ff7103a8303cbf7bbefe22adbc2b9505ea17.tar.xz
umosapicpp-0ce9ff7103a8303cbf7bbefe22adbc2b9505ea17.zip
Split some codes
Diffstat (limited to '')
-rw-r--r--api/umosapi.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/api/umosapi.cpp b/api/umosapi.cpp
index de2a2c3..5473e5a 100644
--- a/api/umosapi.cpp
+++ b/api/umosapi.cpp
@@ -15,6 +15,7 @@
#include "umosapi.h"
#include "../shared.h"
#include "../db/mongo_access.h"
+#include "../db/uobject.h"
mongo_access mongo;
@@ -106,20 +107,11 @@ void UmosapiService::createDescription() {
}
void UmosapiService::retrieveAll(const Rest::Request& request, Http::ResponseWriter response) {
- auto conn = mongo.get_connection();
-
- auto collection = (*conn)[config["mongo_db"]][request.param(":mcollection").as<string>()];
-
- auto cursor = collection.find({});
-
auto jsonObjects = json_object_new_array();
-
- for (auto&& doc : cursor) {
- json_object_array_add(jsonObjects, json_tokener_parse(bsoncxx::to_json(doc).c_str()));
- }
-
- response.send(Http::Code::Ok, json_object_to_json_string_ext(jsonObjects, JSON_C_TO_STRING_SPACED | JSON_C_TO_STRING_PRETTY), MIME(Application, Json));
+ auto json_string = uobject::retrieveAll(request.param(":mcollection").as<string>(), jsonObjects);
json_object_put(jsonObjects);
+
+ response.send(Http::Code::Ok, json_string, MIME(Application, Json));
}
void UmosapiService::addUObject(const Rest::Request& request, Http::ResponseWriter response) {