module requests.writenumber; import vibe.vibe; import response; import structures; import data; import singlog; import std.regex; void writeNumber(HTTPServerRequest req, HTTPServerResponse res) { NumberDB number = deserializeJson!NumberDB(req.json); // const string pattern_number = r"^\+7\d{10}$"; // auto regular_number = regex(r"^\+7\d{10}$", "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 (!sqlInsertNumber(number)) { res.send(true, "Не удалось записать номер"); return; } res.send(); }