From bb94c35435074b93339fcfe0a0d8ff6b174e45a3 Mon Sep 17 00:00:00 2001 From: Jarek Radosz Date: Wed, 25 Jan 2023 17:16:04 +0100 Subject: [PATCH] DEV: Cleanup the admin controller --- .../docker_manager/admin_controller.rb | 35 +++++-------------- app/helpers/application_helper.rb | 11 ------ plugin.rb | 4 --- 3 files changed, 9 insertions(+), 41 deletions(-) delete mode 100644 app/helpers/application_helper.rb diff --git a/app/controllers/docker_manager/admin_controller.rb b/app/controllers/docker_manager/admin_controller.rb index ce3af5d..fbc5e8d 100644 --- a/app/controllers/docker_manager/admin_controller.rb +++ b/app/controllers/docker_manager/admin_controller.rb @@ -5,8 +5,6 @@ require_dependency "docker_manager/upgrader" module DockerManager class AdminController < Admin::AdminController - helper DockerManager::ApplicationHelper - def index return if Rails.env.development? @@ -94,7 +92,7 @@ module DockerManager } end - if all_repos? + if params[:path] == "all" return( render json: { repos: DockerManager::GitRepo.find_all.map(&proc) } ) @@ -109,6 +107,7 @@ module DockerManager def upgrade repo = find_repos(params[:path]) raise Discourse::NotFound unless repo.present? + script_path = File.expand_path( File.join(__dir__, "../../../scripts/docker_manager_upgrade.rb") @@ -130,6 +129,7 @@ module DockerManager ].each { |p| env_vars[p] = ENV[p] if !ENV[p].nil? } pid = spawn(env_vars, "bundle exec rails runner #{script_path}") Process.detach(pid) + render plain: "OK" end @@ -139,6 +139,7 @@ module DockerManager upgrader = Upgrader.new(current_user.id, repo, repo_version(repo)) upgrader.reset! + render plain: "OK" end @@ -149,22 +150,16 @@ module DockerManager else ps_output = `ps aux --sort -rss` end + render plain: ps_output end private - def self.all_repos?(path) - path == "all" - end + def find_repos(path, upgrading: false) + return DockerManager::GitRepo.find(path) unless path == "all" - def self.find_repos(path, upgrading: false, all: false) - return DockerManager::GitRepo.find(path) unless all_repos?(path) - - repos = DockerManager::GitRepo.find_all - return repos if all - - repos.select do |repo| + DockerManager::GitRepo.find_all.select do |repo| if upgrading repo.upgrading? else @@ -178,26 +173,14 @@ module DockerManager render json: { progress: { logs: logs, percentage: percentage } } end - def all_repos? - self.class.all_repos?(params[:path]) - end - - def find_repos(path, upgrading: false, all: false) - self.class.find_repos(path, upgrading: upgrading, all: all) - end - def repo_version(repo) if repo.is_a?(Array) && params[:version].blank? - concat_repos_versions(repo) + repo.map(&:latest_local_commit).join(", ") else params[:version] end end - def concat_repos_versions(repos) - repos.map(&:latest_local_commit).join(", ") - end - def discourse_upgrade_required?(min_stable_version, min_beta_version) tracking_stable = Discourse::VERSION::PRE.nil? discourse_version = Gem::Version.new(Discourse::VERSION::STRING) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb deleted file mode 100644 index 29d3f42..0000000 --- a/app/helpers/application_helper.rb +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -module DockerManager::ApplicationHelper - def discourse_root_url - Discourse.base_path - end - - def long_polling_base_url - SiteSetting.long_polling_base_url - end -end diff --git a/plugin.rb b/plugin.rb index 8ac7f06..127bcd1 100644 --- a/plugin.rb +++ b/plugin.rb @@ -9,10 +9,6 @@ register_asset "stylesheets/common/docker-manager.scss" module ::DockerManager - # should be automatic, but something is weird - load File.expand_path(File.dirname(__FILE__)) + - "/app/helpers/application_helper.rb" - class Engine < ::Rails::Engine engine_name "docker_manager" isolate_namespace DockerManager