Commit graph

9 commits

Author SHA1 Message Date
Benjamin Neff
0e6caf61ff
Fix sharing status with local users when importing archive
* Local contacts also start sharing again with imported user if they
  were sharing with the old account
* Don't create empty contact entities for contacts which the imported
  user doesn't share with and also maybe the contact doesn't share with
  the importer
* Ensure people which were a contact in the archive still receive the
  migration, even when the importer doesn't share with them, so they can
  resend their contact message

fixes #8106 for real this time
2021-09-29 05:05:28 +02:00
Benjamin Neff
d9116efb85
Revert #8254
This reverts commit 123b8b906c.
This reverts commit 60f9dbcdbd.
2021-09-29 01:58:57 +02:00
cmrd Senya
9723bd37a7
Fix relayable import when parent is not fetchable 2021-09-18 18:09:30 +02:00
cmrd Senya
1ec0314752
Fix reshare import when root is not fetchable 2021-09-18 04:44:19 +02:00
Benjamin Neff
8d5abe8892
Merge pull request #8264 from tclaus/migration_importing_blocks
Migration: Importing user blocks
2021-07-13 01:40:04 +02:00
Thorsten Claus
1ec7bd7ce1
Migration: Importing user blocks
Migration: fix error on blocks import
2021-07-13 01:22:14 +02:00
Thorsten Claus
123b8b906c 8106 set share status in contacts 2021-06-17 10:26:39 +02:00
Benjamin Neff
d5b7c6d779
Don't relay others relayable on archive import 2019-05-21 23:08:34 +02:00
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