fix: 504 return code and relay_schedule junction
This commit is contained in:
parent
c370ab6fea
commit
6050f1cc5f
2 changed files with 14 additions and 16 deletions
|
@ -226,24 +226,18 @@ api_v1_controllers_STR_relays_INT_PUT(struct mg_connection *c, endpoint_args_t *
|
||||||
cJSON_Delete(json);
|
cJSON_Delete(json);
|
||||||
json = relay_to_json(relay);
|
json = relay_to_json(relay);
|
||||||
|
|
||||||
int result = command_set_relay_schedule(relay);
|
command_set_relay_schedule(relay);
|
||||||
int status_code = 200;
|
|
||||||
|
|
||||||
if(result)
|
|
||||||
{
|
|
||||||
status_code = 504;
|
|
||||||
}
|
|
||||||
|
|
||||||
char *json_str = cJSON_Print(json);
|
char *json_str = cJSON_Print(json);
|
||||||
if (json_str == NULL)
|
if (json_str == NULL)
|
||||||
{
|
{
|
||||||
LOG_ERROR("failed to print relay json\n");
|
LOG_ERROR("failed to print relay json\n");
|
||||||
mg_send_head(c, status_code, 2, "Content-Type: application/json\r\n" STANDARD_HEADERS);
|
mg_send_head(c, 200, 2, "Content-Type: application/json\r\n" STANDARD_HEADERS);
|
||||||
mg_printf(c, "{}");
|
mg_printf(c, "{}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mg_send_head(c, status_code, strlen(json_str), "Content-Type: application/json\r\n" STANDARD_HEADERS);
|
mg_send_head(c, 200, strlen(json_str), "Content-Type: application/json\r\n" STANDARD_HEADERS);
|
||||||
mg_printf(c, "%s", json_str);
|
mg_printf(c, "%s", json_str);
|
||||||
free(json_str);
|
free(json_str);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,12 +17,6 @@ db_update_insert(relay_t *relay, sqlite3_stmt *stmt)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
junction_relay_schedule_remove_for_relay(relay->id);
|
|
||||||
for(int i = 0; i < 7; ++i)
|
|
||||||
{
|
|
||||||
junction_relay_schedule_insert(i, relay->id, relay->schedules[i]->id);
|
|
||||||
}
|
|
||||||
|
|
||||||
sqlite3_bind_int(stmt, 1, relay->id);
|
sqlite3_bind_int(stmt, 1, relay->id);
|
||||||
sqlite3_bind_int(stmt, 2, relay->number);
|
sqlite3_bind_int(stmt, 2, relay->number);
|
||||||
sqlite3_bind_text(stmt, 3, relay->name, -1, SQLITE_STATIC);
|
sqlite3_bind_text(stmt, 3, relay->name, -1, SQLITE_STATIC);
|
||||||
|
@ -142,8 +136,18 @@ relay_save(relay_t *relay)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
relay->id = sqlite3_last_insert_rowid(global_database);
|
if(relay->id == 0)
|
||||||
|
{
|
||||||
|
relay->id = sqlite3_last_insert_rowid(global_database);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
junction_relay_schedule_remove_for_relay(relay->id);
|
||||||
|
for(int i = 0; i < 7; ++i)
|
||||||
|
{
|
||||||
|
junction_relay_schedule_insert(i, relay->id, relay->schedules[i]->id);
|
||||||
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue