add support for always send list;

pull/69/head
Bryan Biedenkapp 2 years ago
parent dd31260ded
commit 043f6a73ae

@ -200,6 +200,16 @@ json::object tgToJson(const TalkgroupRuleGroupVoice& groupVoice)
}
config["rewrite"].set<json::array>(rewrites);
json::array always = json::array();
std::vector<uint32_t> alwaysSend = groupVoice.config().alwaysSend();
if (alwaysSend.size() > 0) {
for (auto alwaysEntry : alwaysSend) {
uint32_t peerId = alwaysEntry;
always.push_back(json::value((double)peerId));
}
}
config["always"].set<json::array>(always);
json::array preferreds = json::array();
std::vector<uint32_t> preferred = groupVoice.config().preferred();
if (preferred.size() > 0) {
@ -383,6 +393,27 @@ TalkgroupRuleGroupVoice jsonToTG(json::object& req, HTTPPayload& reply)
config.rewrite(rewrite);
}
if (!configObj["always"].is<json::array>()) {
errorPayload(reply, "TG configuration \"always\" was not a valid JSON array");
LogDebug(LOG_REST, "TG configuration \"always\" was not a valid JSON array");
return TalkgroupRuleGroupVoice();
}
json::array always = configObj["always"].get<json::array>();
std::vector<uint32_t> alwaysSend = groupVoice.config().alwaysSend();
if (always.size() > 0) {
for (auto alwaysEntry : always) {
if (!alwaysEntry.is<uint32_t>()) {
errorPayload(reply, "TG configuration always value was not a valid number");
LogDebug(LOG_REST, "TG configuration always value was not a valid number");
return TalkgroupRuleGroupVoice();
}
alwaysSend.push_back(alwaysEntry.get<uint32_t>());
}
config.alwaysSend(alwaysSend);
}
if (!configObj["preferred"].is<json::array>()) {
errorPayload(reply, "TG configuration \"preferred\" was not a valid JSON array");
LogDebug(LOG_REST, "TG configuration \"preferred\" was not a valid JSON array");

Loading…
Cancel
Save

Powered by TurnKey Linux.