class Services::RsAuthsController < Services::BaseController before_action :authenticate_user! before_action :require_feature_enabled before_action :require_service_available # before_action :require_service_enabled before_action :find_rs_auth, only: [:destroy, :launch_app] def index @rs_auths = current_user.remote_storage_authorizations # TODO sort by app name? end def destroy @auth.destroy! respond_to do |format| format.html do redirect_to apps_services_storage_url, flash: { success: 'App authorization revoked' } end format.json { head :no_content } end end def launch_app user_address = Rails.env.development? ? "#{current_user.cn}@localhost:3000" : current_user.address launch_url = "#{@auth.launch_url}#remotestorage=#{user_address}" redirect_to launch_url, allow_other_host: true end private def require_feature_enabled unless Flipper.enabled?(:remotestorage, current_user) http_status :forbidden end end def require_service_available http_status :not_found unless Setting.remotestorage_enabled? end def find_rs_auth @auth = current_user.remote_storage_authorizations.find(params[:id]) http_status :not_found unless @auth.present? end end