From 741c23f33585821f8043132072a992a9d783e332 Mon Sep 17 00:00:00 2001 From: Kenji Okimoto Date: Thu, 23 Aug 2018 17:10:43 +0900 Subject: [PATCH] Change return value of /api/settings Current version returns like the following: ``` { "ROOT" => { "sources" => [], "filters" => [], "matches" => [], }, "@INPUT" => { "sources" => [], "filters" => [], "matches" => [], } } ``` Signed-off-by: Kenji Okimoto --- app/views/api/settings/_element.json.jbuilder | 4 +++- app/views/api/settings/index.json.jbuilder | 12 ++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/views/api/settings/_element.json.jbuilder b/app/views/api/settings/_element.json.jbuilder index 018ca1a..8df8761 100644 --- a/app/views/api/settings/_element.json.jbuilder +++ b/app/views/api/settings/_element.json.jbuilder @@ -1,4 +1,6 @@ -json.id element_id(element) +json.id element_id(current_label, element) +json.current_label current_label || "ROOT" +json.label element["@label"] || element["label"] json.name element.name json.type element["@type"] || element["type"] json.arg element.arg diff --git a/app/views/api/settings/index.json.jbuilder b/app/views/api/settings/index.json.jbuilder index 2b565f8..8dcb042 100644 --- a/app/views/api/settings/index.json.jbuilder +++ b/app/views/api/settings/index.json.jbuilder @@ -1,3 +1,11 @@ -json.array! @config.elements do |elm| - json.partial! "api/settings/element", element: elm +@config.group_by_label.each do |label_name, types| + json.set!(label_name) do + types.each do |type, elements| + json.set!(type) do + json.array!(elements) do |element| + json.partial! "api/settings/element", current_label: label_name, element: element + end + end + end + end end