Add import/export feature for bookmarks (#14956)

* Add ability to export bookmarks

* Add support for importing bookmarks

* Add bookmark import tests

* Add bookmarks export test
This commit is contained in:
ThibG 2020-11-19 17:48:13 +01:00 committed by GitHub
parent 022d2353a7
commit 96c1e71329
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 147 additions and 1 deletions

View file

@ -9,6 +9,14 @@ class Export
@account = account
end
def to_bookmarks_csv
CSV.generate do |csv|
account.bookmarks.includes(:status).reorder(id: :desc).each do |bookmark|
csv << [ActivityPub::TagManager.instance.uri_for(bookmark.status)]
end
end
end
def to_blocked_accounts_csv
to_csv account.blocking.select(:username, :domain)
end
@ -55,6 +63,10 @@ class Export
account.statuses_count
end
def total_bookmarks
account.bookmarks.count
end
def total_follows
account.following_count
end

View file

@ -24,7 +24,7 @@ class Import < ApplicationRecord
belongs_to :account
enum type: [:following, :blocking, :muting, :domain_blocking]
enum type: [:following, :blocking, :muting, :domain_blocking, :bookmarks]
validates :type, presence: true