diaspora/app/models
cmrd Senya f85f167f50 Implement archive import backend
This implements archive import feature.

The feature is divided in two main subfeatures: archive validation and archive import.

Archive validation performs different validation on input user archive. This can be
used without actually running import, e.g. when user wants to check the archive
before import from the frontend. Validators may add messages and modify the archive.

Validators are separated in two types: critical validators and non-critical validators.

If validations by critical validators fail it means we can't import archive.

If non-critical validations fail, we can import archive, but some warning messages
are rendered.

Also validators may change archive contents, e.g. when some entity can't be
imported it may be removed from the archive.

Validators' job is to take away complexity from the importer and perform the validations
which are not implemented in other parts of the system, e.g. DB validations or
diaspora_federation entity validations.

Archive importer then takes the modified archive from the validator and imports it.

In order to incapsulate high-level migration logic a MigrationService is
introduced. MigrationService links ArchiveValidator, ArchiveImporter and
AccountMigration.

Also here is introduced a rake task which may be used by podmins to run archive
import.
2019-04-26 18:41:27 +03:00
..
api/openid_connect Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
notifications Prevent duplicate mention notifications when the post is received twice 2018-02-22 00:49:21 +01:00
services Remove facebook integration 2018-10-08 02:50:25 +02:00
user Do not autofollow back a user you are ignoring 2019-01-06 22:02:10 +01:00
account_deletion.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
account_migration.rb Implement archive import backend 2019-04-26 18:41:27 +03:00
acts_as_taggable_on-tag.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
application_record.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
aspect.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
aspect_membership.rb Check for user existence on aspect membership destruction 2017-10-17 01:38:36 +02:00
aspect_visibility.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
block.rb Start sending the blocking flag 2018-02-01 23:35:35 +01:00
comment.rb Add reference source and target behaviour 2017-09-28 23:04:34 +02:00
comment_signature.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
contact.rb Remove contacts page on profiles 2018-04-12 01:40:49 +02:00
conversation.rb Remove participants limit for conversations 2018-02-01 23:35:35 +01:00
conversation_visibility.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
invitation_code.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
like.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
like_signature.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
location.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
mention.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
message.rb Add reference source and target behaviour 2017-09-28 23:04:34 +02:00
notification.rb Clean up invalid contacts from the DB 2017-10-17 01:39:22 +02:00
notification_actor.rb Delete people with invalid diaspora IDs (friendica with path) 2017-10-17 01:23:47 +02:00
o_embed_cache.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
open_graph_cache.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
participation.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
person.rb Implement archive import backend 2019-04-26 18:41:27 +03:00
photo.rb Display raw images in gallery 2018-11-08 05:08:04 +01:00
pod.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
poll.rb Implement archive import backend 2019-04-26 18:41:27 +03:00
poll_answer.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
poll_participation.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
poll_participation_signature.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
post.rb Implement archive import backend 2019-04-26 18:41:27 +03:00
profile.rb Bump acts-as-taggable-on 2018-11-17 21:04:37 +01:00
reference.rb Add LinksController 2018-07-11 01:24:28 +02:00
report.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
reshare.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
role.rb Add the ability to assign roles in the admin panel 2018-10-14 06:03:06 +02:00
service.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
share_visibility.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
signature_order.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
status_message.rb Fix comment notification subject for posts without text 2018-09-05 03:17:58 +02:00
tag_following.rb Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
user.rb Add the ability to assign roles in the admin panel 2018-10-14 06:03:06 +02:00
user_preference.rb Create birthday notification and mailer 2017-12-18 04:34:35 +01:00