Browse Source

MT#61371 add tag aliases to Redis output

Change-Id: Ia4d46c2b6d09629b8f30b077ab56a59e910be628
pull/1876/head
Richard Fuchs 1 year ago
parent
commit
916bdde573
1 changed files with 13 additions and 0 deletions
  1. +13
    -0
      daemon/redis.c

+ 13
- 0
daemon/redis.c View File

@ -1743,6 +1743,12 @@ static int rbl_subs_cb(str *s, callback_arg_t dummy, struct redis_list *list, vo
return 0; return 0;
} }
static int cb_tag_aliases(str *s, callback_arg_t dummy, struct redis_list *list, void *ptr) {
struct call_monologue *ml = ptr;
t_queue_push_tail(&ml->tag_aliases, call_str_dup(s));
return 0;
}
static int json_link_tags(call_t *c, struct redis_list *tags, struct redis_list *medias, parser_arg arg) static int json_link_tags(call_t *c, struct redis_list *tags, struct redis_list *medias, parser_arg arg)
{ {
unsigned int i; unsigned int i;
@ -1781,6 +1787,8 @@ static int json_link_tags(call_t *c, struct redis_list *tags, struct redis_list
} }
g_queue_clear(&q); g_queue_clear(&q);
json_build_list_cb(NULL, c, "tag_aliases", i, NULL, cb_tag_aliases, ml, arg);
if (json_build_ptra(ml->medias, c, "medias", i, medias, arg)) if (json_build_ptra(ml->medias, c, "medias", i, medias, arg))
return -1; return -1;
} }
@ -2584,6 +2592,11 @@ static str redis_encode_json(ng_parser_ctx_t *ctx, call_t *c, void **to_free) {
g_list_free(k); g_list_free(k);
snprintf(tmp, sizeof(tmp), "tag_aliases-%u", ml->unique_id);
inner = parser->dict_add_list_dup(root, tmp);
for (__auto_type alias = ml->tag_aliases.head; alias; alias = alias->next)
JSON_ADD_LIST_STRING(STR_FORMAT, STR_FMT(alias->data));
snprintf(tmp, sizeof(tmp), "medias-%u", ml->unique_id); snprintf(tmp, sizeof(tmp), "medias-%u", ml->unique_id);
inner = parser->dict_add_list_dup(root, tmp); inner = parser->dict_add_list_dup(root, tmp);
for (unsigned int j = 0; j < ml->medias->len; j++) { for (unsigned int j = 0; j < ml->medias->len; j++) {


Loading…
Cancel
Save