class ZuoraConnect::StaticController

def switch

def switch
  host = request.headers["HTTP_X_FORWARDED_HOST"]
  zuora_client = ZuoraAPI::Login.new(url: "https://#{host}")
  menus = zuora_client.get_full_nav(cookies.to_h)["menus"]
  menus = JSON.parse(response)["menus"]
  app = menus.select do |item|
    matches = /(?<=.com\/)(.*?)(?=\/|$)/.match(item["url"])
    if !matches.blank?
      matches[0] == ENV["DEIS_APP"]
    end
  end
  url_tasks = JSON.parse(Base64.decode64(URI.decode(URI.parse(app[0]["url"]).query.split("ids=")[1])))
  if url_tasks.map { |i| i[0] }.include?(params["commit"].to_i)
    @appinstance = ZuoraConnect::AppInstance.find(params["commit"].to_i)
    @appinstance.new_session(session: {})
    @appinstance.cache_app_instance
    redirect_to main_app.root_path
  else
    redirect_to main_app.root_path
  end
end