fix: use separate relay caches for status

This commit is contained in:
Tobias Reisinger 2020-08-25 12:39:43 +02:00
parent 0eef646fe0
commit f98a01f3f0
13 changed files with 49 additions and 38 deletions
src/models

View file

@ -169,7 +169,7 @@ relay_save(relay_t *relay)
}
}
cache_invalidate_relay(relay->id);
cache_invalidate_relay(relay->id, -1);
status_reload_entry(relay->id);
return result;
@ -236,11 +236,11 @@ relay_free_list(relay_t **relays)
}
cJSON*
relay_to_json(relay_t *relay)
relay_to_json(relay_t *relay, int status_relay)
{
cJSON *json;
char *cached = cache_get_json_relay(relay->id);
char *cached = cache_get_json_relay(relay->id, status_relay);
if(cached)
{
json = cJSON_CreateRaw(cached);
@ -345,7 +345,7 @@ relay_to_json(relay_t *relay)
cJSON_AddItemToObject(json, "tags", json_tags);
char *json_str = cJSON_Print(json);
cache_put_json_relay(relay->id, json_str);
cache_put_json_relay(relay->id, status_relay, json_str);
cJSON_Delete(json);
json = cJSON_CreateRaw(json_str);
@ -354,13 +354,13 @@ relay_to_json(relay_t *relay)
}
cJSON*
relay_list_to_json(relay_t **relays)
relay_list_to_json(relay_t **relays, int status_relays)
{
cJSON *json = cJSON_CreateArray();
for(int i = 0; relays[i] != NULL; ++i)
{
cJSON *json_relay = relay_to_json(relays[i]);
cJSON *json_relay = relay_to_json(relays[i], status_relays);
cJSON_AddItemToArray(json, json_relay);
}