diff --git a/app/controllers/api/v1/navigations_controller.rb b/app/controllers/api/v1/navigations_controller.rb new file mode 100644 index 00000000..7a10812a --- /dev/null +++ b/app/controllers/api/v1/navigations_controller.rb @@ -0,0 +1,24 @@ +class Api::V1::NavigationsController < Api::V1::BaseController + + def show + # we don't use active_model_serializers here, because source is a Hash + render json: { navigation: transform(navigation) } + end + + private + + def navigation + render_navigation(renderer: :json, as_hash: true) + end + + def transform(items) + items.map do |item| + r = {} + r[:name] = item[:name] + r[:url] = request.base_url + item[:url] if item[:url] != '#' + r[:items] = transform(item[:items]) if item[:items] + r + end + end + +end diff --git a/config/routes.rb b/config/routes.rb index 0f9dd5f2..94037c63 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -247,6 +247,7 @@ Foodsoft::Application.routes.draw do namespace :v1 do resource :user, only: [:show] resource :config, only: [:show] + resource :navigation, only: [:show] end end