diff options
Diffstat (limited to 'app/controllers/settings')
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 |