export app: include static tags

This commit is contained in:
fengzero
2026-01-23 02:41:59 +00:00
parent 3086974da4
commit 0bca9e39a5
3 changed files with 24 additions and 2 deletions
+9 -2
View File
@@ -1712,12 +1712,17 @@ static int get_app_subscriptions_resp(context_t * ctx,
grps[index].driver = strdup(group->driver);
grps[index].group = strdup(group->group);
grps[index].params = group->params ? strdup(group->params) : NULL;
grps[index].static_tags =
group->static_tags ? strdup(group->static_tags) : NULL;
if (NULL == grps[index].driver || NULL == grps[index].group) {
for (int j = 0; j <= index; ++j) {
free(grps[j].driver);
free(grps[j].group);
free(grps[j].params);
if (grps[j].static_tags) {
free(grps[j].static_tags);
}
}
free(grps);
rv = NEU_ERR_EINTERNAL;
@@ -1817,8 +1822,10 @@ static int add_app_subscription(context_t *ctx, neu_json_app_t *app,
strcpy(cmd.app, app->node.name);
strcpy(cmd.driver, grp->driver);
strcpy(cmd.group, grp->group);
cmd.params = grp->params;
grp->params = NULL;
cmd.params = grp->params;
cmd.static_tags = grp->static_tags;
grp->params = NULL;
grp->static_tags = NULL;
if (0 != neu_plugin_op(plugin, header, &cmd)) {
return NEU_ERR_IS_BUSY;
+14
View File
@@ -589,6 +589,9 @@ static void fini_app_group(neu_json_app_group_t *grp)
free(grp->driver);
free(grp->group);
free(grp->params);
if (grp->static_tags) {
free(grp->static_tags);
}
}
int neu_json_encode_app(void *node_json, void *param)
@@ -644,6 +647,15 @@ int neu_json_encode_app(void *node_json, void *param)
}
}
if (grp->static_tags && strlen(grp->static_tags) > 0) {
if (0 !=
neu_json_load_key(grp_json, "static_tags", grp->static_tags,
false)) {
json_decref(grp_json);
return -1;
}
}
if (0 != json_array_append_new(groups_json, grp_json)) {
return -1;
}
@@ -715,6 +727,8 @@ int neu_json_decode_app_json(void *node_json, neu_json_app_t *app_p)
groups[i].driver = grp_elems[0].v.val_str;
groups[i].group = grp_elems[1].v.val_str;
neu_json_dump_key(grp_json, "params", &groups[i].params, false);
neu_json_dump_key(grp_json, "static_tags", &groups[i].static_tags,
false);
}
app_p->subscriptions.n_group = n_group;
+1
View File
@@ -101,6 +101,7 @@ typedef struct {
char *driver;
char *group;
char *params;
char *static_tags;
} neu_json_app_group_t;
typedef struct {