module requests.updatenumber; import vibe.vibe; import response; import data; import singlog; import structures; import std.regex; void updateNumber(HTTPServerRequest req, HTTPServerResponse res) { NumberDB number = deserializeJson!NumberDB(req.json); // const string pattern_number = r"^\+7\d{10}$"; // auto regular_number = regex(pattern_number, "g"); if (!number.number.matchFirst(regex(r"^\+7\d{10}$", "g"))) { res.send(true, "Номер не соответствует формату +7XXXXXXXXXX"); return; } if (number.all_cc < 0) { res.send(true, "Общее количество звонков не может быть отрицательным"); return; } if (number.white_cc < 0) { res.send(true, "Белое количество звонков не может быть отрицательным"); return; } if (number.black_cc < 0) { res.send(true, "Черное количество звонков не может быть отрицательным"); return; } if (!sqlUpdateNumber(number)) { res.send(true, "Не удалось обновить номер"); return; } res.send(); }