[add] Mongo collection insert :)
This commit is contained in:
parent
63407d96e3
commit
d6c30fc027
@ -6,7 +6,7 @@ mongoStub::mongoStub() {
|
||||
|
||||
if (this->db) {
|
||||
this->col = db["events"];
|
||||
|
||||
|
||||
} else {
|
||||
std::cout << "db not found";
|
||||
exit(-1);
|
||||
@ -17,28 +17,55 @@ mongoStub::mongoStub() {
|
||||
}
|
||||
}
|
||||
|
||||
//Too slow for my liking
|
||||
std::vector<mongoStub::mongoMessage> mongoStub::getNewMessages(mongocxx::change_stream* colCs) {
|
||||
std::vector<mongoStub::mongoMessage> retVec;
|
||||
|
||||
// Too slow for my liking
|
||||
std::vector<mongoStub::mongoMessage> mongoStub::getNewMessages(
|
||||
mongocxx::change_stream* colCs) {
|
||||
std::vector<mongoStub::mongoMessage> retVec;
|
||||
|
||||
for (auto&& event : *colCs) {
|
||||
mongoStub::mongoMessage returnValue;
|
||||
mongoStub::mongoMessage returnValue;
|
||||
|
||||
/*if(event["fullDocument"]["data"]){
|
||||
returnValue.data.push_back(event["fullDocument"]["data"].get_utf8().value.to_string());
|
||||
}*/
|
||||
std::cout << bsoncxx::to_json(event) << std::endl;
|
||||
|
||||
// Only listen to insert events (to avoid "precondition failed: data"
|
||||
// exception)
|
||||
if (event["operationType"].get_utf8().value.to_string() != "insert") {
|
||||
continue;
|
||||
}
|
||||
std::string evNameTmp =
|
||||
event["fullDocument"]["event"].get_utf8().value.to_string();
|
||||
if (evNameTmp == "UDP_CONNECTION") {
|
||||
handleUdpRequest();
|
||||
} else if (evNameTmp == "VOICE_REQUEST") {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
std::cout << bsoncxx::to_json(event) << std::endl;
|
||||
|
||||
//Oly listen to insert events (to avoid "precondition failed: data" exception)
|
||||
if(event["operationType"].get_utf8().value.to_string()!="insert"){
|
||||
continue;
|
||||
}
|
||||
returnValue.eventName = event["fullDocument"]["event"].get_utf8().value.to_string();
|
||||
retVec.push_back(returnValue);
|
||||
returnValue.eventName = evNameTmp;
|
||||
retVec.push_back(returnValue);
|
||||
}
|
||||
|
||||
return retVec;
|
||||
return retVec;
|
||||
}
|
||||
|
||||
void mongoStub::handleUdpRequest() {
|
||||
using bsoncxx::builder::basic::kvp;
|
||||
using bsoncxx::builder::basic::sub_array;
|
||||
using bsoncxx::builder::basic::sub_document;
|
||||
|
||||
auto builder = bsoncxx::builder::basic::document{};
|
||||
|
||||
builder.append(kvp("event", "VSERVER_UDP_RESPONSE"));
|
||||
builder.append(kvp("op", "4"));
|
||||
builder.append(kvp("d", [](sub_document subdoc) {
|
||||
subdoc.append(kvp("mode", "CRYPT_MODE")),
|
||||
subdoc.append(kvp("secret_key", [](sub_array subarr) {
|
||||
subarr.append(1, 2, 3, 5); // HOW DO I GEN A SKEY?
|
||||
}));
|
||||
}));
|
||||
|
||||
|
||||
bsoncxx::stdx::optional<mongocxx::result::insert_one> r= col.insert_one(builder.view());
|
||||
std::cout << "Insert"<< std::endl;
|
||||
}
|
||||
|
||||
void handleVoiceRequest() {}
|
@ -23,6 +23,10 @@ class mongoStub{
|
||||
|
||||
std::vector<mongoMessage> getNewMessages(mongocxx::change_stream* colCs);
|
||||
|
||||
void handleUdpRequest();
|
||||
|
||||
void handleVoiceRequest();
|
||||
|
||||
mongocxx::collection getCol() const { return col; }
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user