Commit graph

20 commits

Author SHA1 Message Date
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
cmrd Senya
87968284ba
Support fetching StatusMessage by Poll guid
When public fetch is requested with Poll guid, return parent
StatusMessage for it, which includes the Poll in its turn.

closes #7815
2018-06-16 04:36:05 +02:00
Benjamin Neff
655fe2a912
Cleanup invalid polls without status message
closes #7614
2017-09-18 03:24:52 +02:00
Benjamin Neff
e82690963d
Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
Rete2
b556ad5211
show users vote in poll
closes #7550
2017-08-26 03:16:05 +02:00
Benjamin Neff
eb19c327e2
Add ApplicationRecord 2017-08-12 15:39:20 +02:00
Benjamin Neff
c8d43a893d move Guid module to fields 2016-06-26 06:21:02 +02:00
Benjamin Neff
21fd9f23da remove roxml 2016-06-26 06:21:01 +02:00
Benjamin Neff
800fa1786c fix author join for federation callbacks with Poll 2016-06-26 06:20:58 +02:00
Steffen van Bergerem
e5895a1f1b Fix order of poll answers 2014-12-13 18:22:30 +01:00
Jonne Haß
d070f19243 make rspec and jasmine pass with the new code 2014-08-23 16:47:57 +02:00
Hincu Petru
57de031f6b I added the validation for blank to poll question and poll answer 2014-04-07 17:17:41 +00:00
Jannik Streek
095d616198 fixed federation issue due to missing delegation + test + some minor tweaks
fixed indenting

renamed test
2014-04-06 20:58:58 +02:00
Jannik Streek
12fabe2fb9 finalized voting design + some design fixes + improved code 2014-03-31 18:14:07 +02:00
Jannik Streek
d0a77ce6b3 design for poll participation implemented, saving works as well 2014-03-31 18:14:07 +02:00
Jannik Streek
c02414c36d fixed wrong indenting and broken messages tab for polls 2014-03-31 18:14:06 +02:00
Jannik Streek
8a4f833d1d added more tests for the poll federation + fixed broken rspec tests 2014-03-31 18:14:06 +02:00
Jannik Streek
5d560609e4 poll_participation_spec no longer fails, added poll_participation factory 2014-03-31 18:14:06 +02:00
Jannik Streek
fe67bdf2e7 added tests for poll federation and impl for the federation itself. Still in progess 2014-03-31 18:14:06 +02:00
Jannik Streek
dfbe17d046 Poll input fields and data model now available
question field of poll now in db

fixed merge issues
2014-03-31 18:14:06 +02:00