[edit] Ignore event if emited by a vServer

This commit is contained in:
Newe 2021-05-25 23:07:44 +02:00
parent d6c30fc027
commit e98e307aed

View File

@ -34,9 +34,14 @@ std::vector<mongoStub::mongoMessage> mongoStub::getNewMessages(
} }
std::string evNameTmp = std::string evNameTmp =
event["fullDocument"]["event"].get_utf8().value.to_string(); event["fullDocument"]["event"].get_utf8().value.to_string();
if(evNameTmp.substr(0, 7)=="VSERVER"){ continue; } //Ignore the event if it's been emited by a voice server
if (evNameTmp == "UDP_CONNECTION") { if (evNameTmp == "UDP_CONNECTION") {
handleUdpRequest(); handleUdpRequest();
} else if (evNameTmp == "VOICE_REQUEST") { } else if (evNameTmp == "VOICE_REQUEST") {
//TODO
continue; continue;
} }
@ -47,6 +52,7 @@ std::vector<mongoStub::mongoMessage> mongoStub::getNewMessages(
return retVec; return retVec;
} }
//------- ABOVE THIS LINE IS COPY & PASTE HAVEN -------
void mongoStub::handleUdpRequest() { void mongoStub::handleUdpRequest() {
using bsoncxx::builder::basic::kvp; using bsoncxx::builder::basic::kvp;
using bsoncxx::builder::basic::sub_array; using bsoncxx::builder::basic::sub_array;
@ -68,4 +74,23 @@ void mongoStub::handleUdpRequest() {
std::cout << "Insert"<< std::endl; std::cout << "Insert"<< std::endl;
} }
void handleVoiceRequest() {} void mongoStub::handleVoiceRequest() {
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;
}