fix: database types

This commit is contained in:
Tobias Reisinger 2020-04-19 02:44:35 +02:00
parent beea18f70b
commit b3f75f4004
10 changed files with 76 additions and 55 deletions

View file

@ -93,7 +93,7 @@ controllers::put_relays_one_by_id_and_num(const HttpRequestPtr &req,
Json::Value body = *req->getJsonObject();
uuid_t active_schedule_id;
if(schedule_dbo::parse_id(body["active_schedule"].asCString(), active_schedule_id))
if(schedule_dbo::parse_uid(body["active_schedule"].asCString(), active_schedule_id))
{
LOG_DEBUG << "bad active_schedule uuid";
auto resp = HttpResponse::newHttpResponse();
@ -103,13 +103,17 @@ controllers::put_relays_one_by_id_and_num(const HttpRequestPtr &req,
}
relay_dbo *relay = relay_dbo::get_relay_for_controller(controller_id, relay_num);
schedule_dbo **schedule = schedule_dbo::get_by_simple("uid", active_schedule_id, (intptr_t)&sqlite3_bind_blob, sizeof(uuid_t));
bool db_action_result;
if(relay)
{
strncpy(relay->name, body["name"].asCString(), 127);
uuid_copy(relay->active_schedule_id, active_schedule_id);
relay->active_schedule_id = schedule[0]->id;
uuid_copy(relay->controller_id, controller_id);
relay->reload_active_schedule();
db_action_result = relay->update();
}
@ -119,7 +123,7 @@ controllers::put_relays_one_by_id_and_num(const HttpRequestPtr &req,
relay->number = relay_num;
strncpy(relay->name, body["name"].asCString(), 127);
uuid_copy(relay->active_schedule_id, active_schedule_id);
relay->active_schedule_id = schedule[0]->id;
uuid_copy(relay->controller_id, controller_id);
relay->reload_active_schedule();
@ -135,7 +139,7 @@ controllers::put_relays_one_by_id_and_num(const HttpRequestPtr &req,
}
else
{
auto schedules = schedule_dbo::get_by_simple("id", active_schedule_id, (intptr_t)&sqlite3_bind_blob, sizeof(uuid_t));
auto schedules = schedule_dbo::get_by_simple("uid", active_schedule_id, (intptr_t)&sqlite3_bind_blob, sizeof(uuid_t));
auto controllers = controller_dbo::get_by_simple("id", controller_id, (intptr_t)&sqlite3_bind_blob, sizeof(uuid_t));
uint16_t *periods = schedules[0]->periods->to_blob();
@ -144,7 +148,7 @@ controllers::put_relays_one_by_id_and_num(const HttpRequestPtr &req,
binn_map_set_uint8(map, COMMAND_MAPPING_CODE, config::command_code_set_schedule);
binn_map_set_uint8(map, COMMAND_MAPPING_RELAY_NUM, relay_num);
binn_map_set_blob(map, COMMAND_MAPPING_SCHEDULE_ID, schedules[0]->id, sizeof(uuid_t));
binn_map_set_blob(map, COMMAND_MAPPING_SCHEDULE_ID, schedules[0]->uid, sizeof(uuid_t));
binn_map_set_uint16(map, COMMAND_MAPPING_PERIODS_COUNT, periods_count);
// periods + 1 to skip length in periods[0]

View file

@ -28,7 +28,7 @@ void
schedules::get_one_by_id(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, const std::string& schedule_id_str)
{
uuid_t schedule_id;
if(schedule_dbo::parse_id(schedule_id_str.c_str(), schedule_id))
if(schedule_dbo::parse_uid(schedule_id_str.c_str(), schedule_id))
{
auto resp = HttpResponse::newHttpResponse();
resp->setStatusCode(k400BadRequest);
@ -36,7 +36,7 @@ schedules::get_one_by_id(const HttpRequestPtr &req, std::function<void(const Htt
return;
}
schedule_dbo **schedules = schedule_dbo::get_by_simple("id", schedule_id, (intptr_t) &sqlite3_bind_blob, sizeof(uuid_t));
schedule_dbo **schedules = schedule_dbo::get_by_simple("uid", schedule_id, (intptr_t) &sqlite3_bind_blob, sizeof(uuid_t));
if(schedules[0])
{
@ -67,14 +67,14 @@ schedules::delete_one_by_id(const HttpRequestPtr &req, std::function<void(const
}
uuid_t schedule_id;
if(schedule_dbo::parse_id(schedule_id_str.c_str(), schedule_id))
if(schedule_dbo::parse_uid(schedule_id_str.c_str(), schedule_id))
{
auto resp = HttpResponse::newHttpResponse();
resp->setStatusCode(k400BadRequest);
callback(resp);
return;
}
schedule_dbo **schedules = schedule_dbo::get_by_simple("id", schedule_id, (intptr_t) &sqlite3_bind_blob, sizeof(uuid_t));
schedule_dbo **schedules = schedule_dbo::get_by_simple("uid", schedule_id, (intptr_t) &sqlite3_bind_blob, sizeof(uuid_t));
if(schedules[0])
{
@ -105,8 +105,8 @@ schedules::post_new(const HttpRequestPtr &req, std::function<void(const HttpResp
strncpy(new_schedule.name, body["name"].asCString(), 127);
new_schedule.name[127] = '\0';
uuid_generate(new_schedule.id);
new_schedule.id[32] = '\0';
uuid_generate(new_schedule.uid);
new_schedule.uid[32] = '\0';
new_schedule.periods = helpers::parse_periods(body["periods"]);
if(!new_schedule.insert())
@ -127,14 +127,14 @@ schedules::put_one_by_id(const HttpRequestPtr &req, std::function<void(const Htt
const std::string &schedule_id_str)
{
uuid_t schedule_id;
if(schedule_dbo::parse_id(schedule_id_str.c_str(), schedule_id))
if(schedule_dbo::parse_uid(schedule_id_str.c_str(), schedule_id))
{
auto resp = HttpResponse::newHttpResponse();
resp->setStatusCode(k400BadRequest);
callback(resp);
return;
}
schedule_dbo **schedules = schedule_dbo::get_by_simple("id", schedule_id, (intptr_t) &sqlite3_bind_blob, sizeof(uuid_t));
schedule_dbo **schedules = schedule_dbo::get_by_simple("uid", schedule_id, (intptr_t) &sqlite3_bind_blob, sizeof(uuid_t));
Json::Value body = *req->jsonObject();