diff options
Diffstat (limited to 'app/controllers/settings/exports')
4 files changed, 44 insertions, 16 deletions
diff --git a/app/controllers/settings/exports/base_controller.rb b/app/controllers/settings/exports/base_controller.rb new file mode 100644 index 000000000..0b790959f --- /dev/null +++ b/app/controllers/settings/exports/base_controller.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Settings + module Exports + class BaseController < ApplicationController + before_action :authenticate_user! + + def index + export_data = Export.new(export_accounts).to_csv + + respond_to do |format| + format.csv { send_data export_data, filename: export_filename } + end + end + + private + + def export_filename + "#{controller_name}.csv" + end + end + end +end diff --git a/app/controllers/settings/exports/blocked_accounts_controller.rb b/app/controllers/settings/exports/blocked_accounts_controller.rb index 0bf8848b4..9c4bcaa53 100644 --- a/app/controllers/settings/exports/blocked_accounts_controller.rb +++ b/app/controllers/settings/exports/blocked_accounts_controller.rb @@ -2,15 +2,11 @@ module Settings module Exports - class BlockedAccountsController < ApplicationController - before_action :authenticate_user! + class BlockedAccountsController < BaseController + private - 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 + def export_accounts + current_account.blocking end end end diff --git a/app/controllers/settings/exports/following_accounts_controller.rb b/app/controllers/settings/exports/following_accounts_controller.rb index a7f4344ca..8d06bcc95 100644 --- a/app/controllers/settings/exports/following_accounts_controller.rb +++ b/app/controllers/settings/exports/following_accounts_controller.rb @@ -2,15 +2,11 @@ module Settings module Exports - class FollowingAccountsController < ApplicationController - before_action :authenticate_user! + class FollowingAccountsController < BaseController + private - 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 + def export_accounts + current_account.following end end end diff --git a/app/controllers/settings/exports/muted_accounts_controller.rb b/app/controllers/settings/exports/muted_accounts_controller.rb new file mode 100644 index 000000000..a77a9af6d --- /dev/null +++ b/app/controllers/settings/exports/muted_accounts_controller.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Settings + module Exports + class MutedAccountsController < BaseController + private + + def export_accounts + current_account.muting + end + end + end +end |