about summary refs log tree commit diff
path: root/app/controllers/settings
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/settings')
-rw-r--r--app/controllers/settings/exports/blocked_accounts_controller.rb17
-rw-r--r--app/controllers/settings/exports/following_accounts_controller.rb17
-rw-r--r--app/controllers/settings/exports_controller.rb33
3 files changed, 34 insertions, 33 deletions
diff --git a/app/controllers/settings/exports/blocked_accounts_controller.rb b/app/controllers/settings/exports/blocked_accounts_controller.rb
new file mode 100644
index 000000000..0bf8848b4
--- /dev/null
+++ b/app/controllers/settings/exports/blocked_accounts_controller.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module Settings
+  module Exports
+    class BlockedAccountsController < ApplicationController
+      before_action :authenticate_user!
+
+      def index
+        export_data = Export.new(current_account.blocking).to_csv
+
+        respond_to do |format|
+          format.csv { send_data export_data, filename: 'blocking.csv' }
+        end
+      end
+    end
+  end
+end
diff --git a/app/controllers/settings/exports/following_accounts_controller.rb b/app/controllers/settings/exports/following_accounts_controller.rb
new file mode 100644
index 000000000..a7f4344ca
--- /dev/null
+++ b/app/controllers/settings/exports/following_accounts_controller.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module Settings
+  module Exports
+    class FollowingAccountsController < ApplicationController
+      before_action :authenticate_user!
+
+      def index
+        export_data = Export.new(current_account.following).to_csv
+
+        respond_to do |format|
+          format.csv { send_data export_data, filename: 'following.csv' }
+        end
+      end
+    end
+  end
+end
diff --git a/app/controllers/settings/exports_controller.rb b/app/controllers/settings/exports_controller.rb
index ff688978c..e060f03d3 100644
--- a/app/controllers/settings/exports_controller.rb
+++ b/app/controllers/settings/exports_controller.rb
@@ -1,46 +1,13 @@
 # frozen_string_literal: true
 
-require 'csv'
-
 class Settings::ExportsController < ApplicationController
   layout 'admin'
 
   before_action :authenticate_user!
-  before_action :set_account
 
   def show
     @total_storage = current_account.media_attachments.sum(:file_file_size)
     @total_follows = current_account.following.count
     @total_blocks  = current_account.blocking.count
   end
-
-  def download_following_list
-    @accounts = current_account.following
-
-    respond_to do |format|
-      format.csv { render text: accounts_list_to_csv(@accounts) }
-    end
-  end
-
-  def download_blocking_list
-    @accounts = current_account.blocking
-
-    respond_to do |format|
-      format.csv { render text: accounts_list_to_csv(@accounts) }
-    end
-  end
-
-  private
-
-  def set_account
-    @account = current_user.account
-  end
-
-  def accounts_list_to_csv(list)
-    CSV.generate do |csv|
-      list.each do |account|
-        csv << [(account.local? ? account.local_username_and_domain : account.acct)]
-      end
-    end
-  end
 end