2023-06-01 21:36:21 +00:00
|
|
|
|
module requests.updatenumber;
|
|
|
|
|
|
|
|
|
|
import vibe.vibe;
|
|
|
|
|
import response;
|
|
|
|
|
import data;
|
|
|
|
|
import singlog;
|
|
|
|
|
import structures;
|
|
|
|
|
|
2023-06-02 23:28:18 +00:00
|
|
|
|
import std.regex;
|
|
|
|
|
|
2023-06-01 21:36:21 +00:00
|
|
|
|
void updateNumber(HTTPServerRequest req, HTTPServerResponse res) {
|
|
|
|
|
NumberDB number = deserializeJson!NumberDB(req.json);
|
2023-06-02 23:28:18 +00:00
|
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-01 21:36:21 +00:00
|
|
|
|
if (!sqlUpdateNumber(number)) {
|
|
|
|
|
res.send(true, "Не удалось обновить номер");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
res.send();
|
|
|
|
|
}
|