add: response macros
add: preparation for more macro endpoints
This commit is contained in:
parent
9d2c48d645
commit
01ffb1d58d
26 changed files with 482 additions and 353 deletions
|
@ -40,14 +40,14 @@ junction_relay_schedule_insert_weekdays(int relay_id, int *schedule_ids)
|
|||
static const char query_base[] = "INSERT INTO junction_relay_schedule (weekday, schedule_id, relay_id) VALUES";
|
||||
static const char query_extender[] = " (?, ?, ?)";
|
||||
|
||||
size_t query_len = STRLEN(query_base) + (7 * (STRLEN(query_extender) + 1)) + 1;
|
||||
size_t query_len = M_STRLEN(query_base) + (7 * (M_STRLEN(query_extender) + 1)) + 1;
|
||||
char *query = malloc(sizeof(char) * query_len + 1);
|
||||
strncpy(query, query_base, query_len);
|
||||
query_len -= STRLEN(query_base);
|
||||
query_len -= M_STRLEN(query_base);
|
||||
for(int i = 0; i < 7; ++i)
|
||||
{
|
||||
strncat(query, query_extender, query_len);
|
||||
query_len -= STRLEN(query_extender);
|
||||
query_len -= M_STRLEN(query_extender);
|
||||
char *query_divider = (i < 7 - 1) ? "," : ";";
|
||||
strncat(query, query_divider, query_len);
|
||||
query_len -= 1;
|
||||
|
|
|
@ -67,14 +67,14 @@ junction_tag_insert_list(int *tag_ids, int relay_id, int schedule_id, int count)
|
|||
static const char query_base[] = "INSERT INTO junction_tag(tag_id, schedule_id, relay_id) VALUES";
|
||||
static const char query_extender[] = " (?, ?, ?)";
|
||||
|
||||
size_t query_len = STRLEN(query_base) + (count * (STRLEN(query_extender) + 1)) + 1;
|
||||
size_t query_len = M_STRLEN(query_base) + (count * (M_STRLEN(query_extender) + 1)) + 1;
|
||||
char *query = malloc(sizeof(char) * query_len + 1);
|
||||
strncpy(query, query_base, query_len);
|
||||
query_len -= STRLEN(query_base);
|
||||
query_len -= M_STRLEN(query_base);
|
||||
for(int i = 0; i < count; ++i)
|
||||
{
|
||||
strncat(query, query_extender, query_len);
|
||||
query_len -= STRLEN(query_extender);
|
||||
query_len -= M_STRLEN(query_extender);
|
||||
char *query_divider = (i < count - 1) ? "," : ";";
|
||||
strncat(query, query_divider, query_len);
|
||||
query_len -= 1;
|
||||
|
|
|
@ -143,7 +143,7 @@ int
|
|||
macro_remove(macro_t *macro)
|
||||
{
|
||||
sqlite3_stmt *stmt;
|
||||
if(!macro->id)
|
||||
if(macro->id == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -155,6 +155,8 @@ macro_remove(macro_t *macro)
|
|||
|
||||
sqlite3_finalize(stmt);
|
||||
|
||||
cache_invalidate_macro(macro->id);
|
||||
|
||||
return rc != SQLITE_DONE;
|
||||
}
|
||||
|
||||
|
|
|
@ -94,6 +94,23 @@ macro_action_insert(macro_action_t *macro_action)
|
|||
return rc != SQLITE_DONE;
|
||||
}
|
||||
|
||||
int
|
||||
macro_action_delete_for_macro(int macro_id)
|
||||
{
|
||||
sqlite3_stmt *stmt;
|
||||
|
||||
sqlite3_prepare_v2(global_database, "DELETE FROM macro_actions WHERE macro_id=?1;", -1, &stmt, NULL);
|
||||
sqlite3_bind_int(stmt, 1, macro_id);
|
||||
|
||||
int rc = sqlite3_step(stmt);
|
||||
|
||||
sqlite3_finalize(stmt);
|
||||
|
||||
cache_invalidate_macro(macro_id);
|
||||
|
||||
return rc != SQLITE_DONE;
|
||||
}
|
||||
|
||||
macro_action_t**
|
||||
macro_action_get_for_macro(int macro_id)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue