daster/source/requests/writenumber.d

43 lines
1.2 KiB
D
Raw Normal View History

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();
}