}
}
-static void updateDomainSettingsFromDocument(UeberBackend& B, const DomainInfo& di, const DNSName& zonename, const Json& document, bool rectifyTransaction=true) {
+// Must be called within backend transaction.
+static void updateDomainSettingsFromDocument(UeberBackend& B, const DomainInfo& di, const DNSName& zonename, const Json& document) {
boost::optional<DomainInfo::DomainKind> kind;
boost::optional<vector<ComboAddress>> masters;
boost::optional<DNSName> catalog;
if (api_rectify == "1") {
string info;
string error_msg;
- if (!dk.rectifyZone(zonename, error_msg, info, rectifyTransaction)) {
+ if (!dk.rectifyZone(zonename, error_msg, info, false)) {
throw ApiException("Failed to rectify '" + zonename.toString() + "' " + error_msg);
}
}
di.backend->feedComment(c);
}
- updateDomainSettingsFromDocument(B, di, zonename, document, false);
+ updateDomainSettingsFromDocument(B, di, zonename, document);
di.backend->commitTransaction();
// update domain settings
di.backend->startTransaction(zonename, -1);
- updateDomainSettingsFromDocument(B, di, zonename, req->json(), false);
+ updateDomainSettingsFromDocument(B, di, zonename, req->json());
di.backend->commitTransaction();
resp->body = "";