Commit graph

288 commits

Author SHA1 Message Date
Jonne Haß
16b242fa0f Drop chat_enabled from aspects API 2020-01-21 23:35:01 +01:00
Jonne Haß
39c863ead9 Merge branch 'develop' into api 2020-01-21 23:35:01 +01:00
cmrd Senya
6b8cd5d390 API: accept name parameter instead of first name and last name in user patch 2020-01-21 23:34:43 +01:00
cmrd Senya
9e18b19d6a API: render name instead of first_name and last_name in user data 2020-01-21 23:34:43 +01:00
Jonne Haß
d08b31f2ed OpenID: remove private profile data claims that are not returned anyway and fix return values for profile and picture 2020-01-21 23:34:43 +01:00
Jonne Haß
dad54db7f4 Return API pagination links as headers rather than in the response body itself 2020-01-21 23:34:43 +01:00
Jonne Haß
07acfba488 Merge branch 'develop' into api 2020-01-21 23:34:43 +01:00
Jonne Haß
cb679371ac Merge branch 'develop' into api 2020-01-21 23:34:43 +01:00
Jonne Haß
16e754f4c7 API: don't return default avatar 2020-01-21 23:34:00 +01:00
Dennis Schubert
862fa38f8b
Remove the JSXC/Prosody integration.
As per discussion on https://discourse.diasporafoundation.org/t/removing-diaspora-s-current-chat-integration/2718, nobody raised serious concerns or objections. Given future plans, we do not think having an unfinished implementation of something that likely will not get finished in the current form is worth it. So let's get rid of it.
2019-10-18 23:14:14 +02:00
cmrd Senya
8b35356709 AccountMigration: fix flaky spec 2019-04-28 13:56:35 +03:00
Jonne Haß
91b6a807c7 API: fix birthday format in responses 2019-04-27 16:05:22 +02:00
Jonne Haß
52e4e9f903 API: Update post location format to floats instead of floats as strings 2019-04-27 16:04:44 +02:00
Jonne Haß
af59bf3265 API: Do not return redundant author for photos 2019-04-27 16:03:55 +02:00
Jonne Haß
9b8f10358a Introduce JSON Schema for API responses and validate the responses against it 2019-04-27 16:01:54 +02:00
cmrd Senya
bffe2b651c AccountMigration spec: flatten shared examples more 2019-04-26 20:58:28 +03:00
cmrd Senya
882e4f9868 AccountMigration specs: remove unused user shortcuts 2019-04-26 20:44:09 +03:00
cmrd Senya
597d9e0275 AccountMigration: support chained migration case 2019-04-26 20:29:26 +03:00
cmrd Senya
dd9ac758e8 AccountMigration integration specs: use single example instead of multiple to speed up the spec 2019-04-26 20:13:19 +03:00
cmrd Senya
f774c46db3 AccountMigration specs: move one-time shared contexts in place 2019-04-26 19:45:55 +03:00
cmrd Senya
6b88d2f4e0 AccountMigration specs: move 2-line shared context in place 2019-04-26 19:38:23 +03: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
Jonne Haß
b1cc37e939 Avoid using sleep in the API specs 2019-04-26 13:40:43 +02:00
Jonne Haß
3f77507b15 make notifications controller spec stable 2019-04-26 12:26:26 +02:00
Hank Grabowski
f07912ebdd API Branch Final Cleanup Before PR 2018-12-30 11:50:58 -05:00
Hank Grabowski
a8d69c48dc OpenID Scopes and Security updates 2018-12-26 14:13:13 -05:00
Hank Grabowski
7109773b83 API Paging library and used in appropriate controllers with full tests 2018-12-17 22:07:33 -05:00
Hank Grabowski
ff6d0064d0 Add Poll Voting Method to Interactions Endpoint 2018-12-16 11:06:27 -05:00
Hank Grabowski
8851f664e5 Photos API Endpoint and unit tests complete 2018-12-10 12:43:50 -05:00
Hank Grabowski
68d7d59286 Search API Endpoint and unit test complete 2018-12-04 09:24:17 -05:00
Hank Grabowski
c3852a8e9c Users Controller and unit tests complete 2018-12-04 08:48:16 -05:00
Hank Grabowski
ef762c4920 Notifications API Endpoint and unit test complete 2018-12-04 07:51:57 -05:00
Hank Grabowski
6e469825cd Interactions API endpoint complete with full tests 2018-12-03 20:56:50 -05:00
HankG
8a60870f04 Contacts API Feature complete with full tests 2018-12-01 15:21:16 -05:00
Frank Rousseau
6fa99072d1
Merge branch 'api' into api-tag-updates 2018-11-11 18:06:50 +01:00
Hank Grabowski
d5e1cbeefa Tags API Endpoint complete with full tests 2018-11-11 11:45:21 -05:00
Hank Grabowski
97af2441ee Aspects API Endpoint complete with full tests 2018-11-11 11:30:19 -05:00
Hank Grabowski
9757637afa Reshares API Endpoint complete with full unit tests 2018-11-11 09:53:13 -05:00
Hank Grabowski
6bae98d980 Conversations API Test Removed 'convo' Abbreviations 2018-11-08 13:08:52 -05:00
Frank Rousseau
f428f840f6
Merge pull request #9 from frankrousseau/api-conversations-updates
Conversations API Endpoint Feature complete with full tests
2018-11-07 18:37:25 +01:00
HankG
8b6c32e655 Conversations API Endpoint Feature complete with full tests 2018-11-06 14:52:55 -05:00
HankG
5bfe7048eb Streams Controller API feature complete and fully tested 2018-11-06 13:58:47 -05:00
Hank Grabowski
6798ba974c Posts API Endpoint feature complete with full unit tests 2018-11-05 08:30:54 -05:00
Hank Grabowski
038b6f49a9 Comments API Endpoint complete with full unit tests 2018-11-01 14:14:34 -04:00
Hank Grabowski
d6915ff5d0 Likes API endpoint complete 2018-11-01 11:06:45 -04:00
Frank Rousseau
4370315d6c Fix post controller test 2018-11-01 13:56:18 +01:00
Frank Rousseau
a7ea3ba254 Adapt error formatting to documentation 2018-11-01 13:56:18 +01:00
Frank Rousseau
c1ece44c53 Make Post API match specs
https://diaspora.github.io/api-documentation/routes/posts.html
2018-11-01 13:56:18 +01:00
Frank Rousseau
bcbcf6bce3 Make the comment API match the API specs 2018-11-01 13:56:18 +01:00
Frank Rousseau
348790292b Make API likes controller match specs 2018-11-01 13:56:18 +01:00
Frank Rousseau
797afb1c9b Changes to use V1 API version instead of V0 2018-11-01 13:56:18 +01:00
Frank Rousseau
3532a340c2 Fix code styles 2018-11-01 13:56:18 +01:00
Frank Rousseau
b00df8c2e7 Adapt API tests to recent changes 2018-11-01 13:56:18 +01:00
Frank Rousseau
50e034769f Make syntax compliant with the pronto configuration 2018-11-01 13:56:18 +01:00
Frank Rousseau
71d324a8e4 Follow official specs 2018-11-01 13:56:18 +01:00
Frank Rousseau
3f00195eed Merge conv deletion and visibility deletion 2018-11-01 13:56:18 +01:00
Frank Rousseau
bbbe3aea7f Make messages API conformed with docs 2018-11-01 13:56:18 +01:00
Frank Rousseau
454be1b468 Make conversation API data format ok with docs
* Base the API requesting on GUID instead of ID
* Include read field
* Do not include messages in conversation results
2018-11-01 13:56:18 +01:00
Frank Rousseau
d03b830b07 Fix styles for some API controllers
* Comments
* Likes
* Streams
2018-11-01 13:56:18 +01:00
Frank Rousseau
84f972b368 Add conversation visibilities API controller 2018-11-01 13:56:18 +01:00
Frank Rousseau
43a8cbff5d Add messages API controller 2018-11-01 13:56:18 +01:00
Frank Rousseau
0af04a5c1e Add conversations API controller 2018-11-01 13:56:18 +01:00
theworldbright
e84e3e64c6 Add likes API route 2018-11-01 13:56:18 +01:00
theworldbright
44742109b0 Add streams API routes 2018-11-01 13:56:18 +01:00
theworldbright
ea3395378f Combine Comment index with Post show API route 2018-11-01 13:56:18 +01:00
theworldbright
47c7de22ae Add comments API routes 2018-11-01 13:56:18 +01:00
theworldbright
c432bb4891 Add posts API routes 2018-11-01 13:56:18 +01:00
Benjamin Neff
8daf934c45
Remove backporting of mention syntax
fixes #7276, #7392 and #7640
2018-04-15 15:49:23 +02:00
Benjamin Neff
4fa92c1823
Remove flag for contacts visible to each other
This feature only worked on the same pod and was more confusing than
useful.
2018-04-12 01:39:11 +02:00
Benjamin Neff
5e157dc9c3
Send participation after receiving a public post
This is to let the author of the post know, that this pod is interested
in updates about this post.

The sending user is only used to verify that the participation was sent
from this pod, but lets use an admin/podmin account if available.

closes #7708
2018-02-01 23:40:51 +01:00
Benjamin Neff
a36d22d72b
Handle duplicate account migrations
closes #7641
2017-10-17 01:36:25 +02:00
Benjamin Neff
35711606e4
Remove public and provider_display_name from reshares 2017-09-28 23:04:34 +02:00
cmrd Senya
c6ed850a85
Memory usage optimization for archive export
- Removed posts and non contacts from other's data
- Collections are exported in batches to lower memory footprint
- In base exporters create User object instead of keeping instance because it caches all associations

closes #7627
2017-09-26 04:07:18 +02:00
cmrd Senya
9f0b74ebbb
Memory usage test for archive export
It is not included into the main test suite, because it has :performance tag.

One can run this test using command:
$ bin/rspec --tag performance spec/integration/export/memory_usage_spec.rb

This test creates additional fixtures set to speed up repeated runs.
2017-09-26 04:06:43 +02:00
Benjamin Neff
e82690963d
Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
Steffen van Bergerem
7729635485
Replace publisher_textarea_wrapper with publisher-textarea-wrapper 2017-08-31 02:44:53 +02:00
Steffen van Bergerem
ff9591aee0
Use gender-neutral forms in comments and specs
closes #7544
2017-08-17 00:50:55 +02:00
cmrd Senya
45619cb153
Account migration model and message support
This commit introduces support for AccountMigration federation message
receive. It covers the cases when the new home pod for a user is remote
respective to the recepient pod of the message. It also allows to initiate
migration locally by a podmin from the rails console. This will give the
pods a possibility to understand the account migration event on the
federation level and thus future version which will implement migration
will be backward compatible with the pods starting from this commit.
2017-08-15 01:32:34 +03:00
Benjamin Neff
7ffd7878d0
Use person for AccountDeleter
Also remove `disconnect_contacts` methods, because contacts are already
removed with aspects memberships in `before_destroy`.
2017-08-13 20:10:07 +02:00
Benjamin Neff
245ad9e04d
Remove diaspora_handle from AccountDeletions and add unique index 2017-08-13 19:43:04 +02:00
Benjamin Neff
621fdda197
New syntax for request specs 2017-08-12 15:39:23 +02:00
Benjamin Neff
7c9590a27c
Use .reload instead of (true) in specs
Or remove it where not needed
2017-08-12 15:39:23 +02:00
Benjamin Neff
2a6515fab9
Add params keyword to controller specs 2017-08-12 15:39:23 +02:00
cmrd Senya
7374661e2f
Update the user data export archive format.
This commit introduces changes to the user data export archive format.
This extends data set which is included in the archive. This data can be
then imported to other pods when this feature is implemented.

Also the commit adds the archive format json schema. ATM it is used in
automatic tests only, but in future it will also be used to validate
incoming archives.
2017-08-10 09:36:26 +03:00
cmrd Senya
7db4f825a6
Refactor account deletion spec
This commit refactors account deletion spec by moving data creation to a helper
object DataGenerator.
2017-08-09 18:09:04 +03:00
Benjamin Neff
be8a1dfef4
Add tests for ContactRetraction 2017-07-03 03:14:42 +02:00
Benjamin Neff
4244f2a5df
Make Participation entity non-relayable
Related to diaspora/diaspora_federation#35
2017-07-03 03:14:41 +02:00
Benjamin Neff
a6d7dbf1dd
Send MagicEnvelope as body with correct Content-Type in specs
Related to diaspora/diaspora_federation#30
2017-07-03 03:14:40 +02:00
Benjamin Neff
e907b3eb18
Send Contact entity for start/stop sharing
Related to diaspora/diaspora_federation#32
2017-07-02 23:56:00 +02:00
Benjamin Neff
95def40c55
Make Message entity non-relayable
Related to #36
2017-07-02 23:56:00 +02:00
Benjamin Neff
78c7156e72
Replace FactoryGirl with Fabricate for federation factories 2017-07-02 23:55:59 +02:00
Benjamin Neff
3d95642aca
Fix receiving multiple mentioned-in-comment notifications
When somebody commented multiple times and is mentioned in another
comment afterwards, the person received multiple notifications.
2017-02-16 03:09:40 +01:00
cmrd Senya
33ad411bbd
Mentions in comments backend changes 2016-11-28 15:56:56 +02:00
Justin Ramos
fa71af71c1 require spec_helper in .rspec
closes #7223
2016-11-27 21:27:12 +01:00
Justin Ramos
6c6f9bb982
only show community spotlight link on /contacts if it is enabled
closes #7213
2016-11-25 14:10:58 +01:00
Steffen van Bergerem
c3de77e0fc
Send notification mails on CSRF fails
closes #7050
2016-09-04 03:26:42 +02:00
Steffen van Bergerem
6ad9000f8c
Sign out users with wrong CSRF tokens
See http://guides.rubyonrails.org/security.html#cross-site-request-forgery-csrf
2016-09-04 03:26:18 +02:00
Jonne Haß
e70ffebc49 Merge pull request #6805 from cmrd-senya/mention-name-fixup
Fix up the meaning of the name parameter in mention
2016-08-11 13:28:02 +02:00
cmrd Senya
d200e92aeb Fix up the meaning of the name parameter in mentions
The desktop frontend now treats the "name" parameter of mention as
a string to display unconditionally. But the Diaspora::Mentionable
renders mentions the different way: "name" is treated as a fallback
string which is rendered only if the person's name is unavailable.
This reflects on the mobile version ATM. This patch makes it behave
the same way as the current desktop version does.
2016-08-11 13:19:48 +03:00
cmrd Senya
4ae26e1ded Upgrade devise to 4.2 2016-08-11 12:25:36 +03:00