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