188 Commits

Author SHA1 Message Date
roschaefer
0f64bbb71f Soft delete for comments implemented 2019-09-03 21:28:29 +02:00
roschaefer
4bfc0ff2bf Refactor comments.spec, refactor post factory 2019-09-03 21:28:29 +02:00
roschaefer
cbcba8f08d Follow @Tirokk's suggestion 2019-08-30 16:00:32 +02:00
roschaefer
bf6e7a8131 Implement fallback resolvers for Post and Comment 2019-08-30 16:00:32 +02:00
roschaefer
9b2c707aa3 DRY notifications resolver 2019-08-30 16:00:32 +02:00
roschaefer
3f121c7c4d Refine notification behaviour:
If you mark a post or comment as read even though you already marked the
corresponding notification as read, then you receive `null`.
2019-08-30 16:00:32 +02:00
roschaefer
2846a6a8d3 Spec for notifications passing 2019-08-30 16:00:32 +02:00
roschaefer
cf8ead10f3 Start to refactor backend tests 2019-08-30 16:00:32 +02:00
roschaefer
4b96454b90 Notifications resolver capable of orderBy + filter 2019-08-30 16:00:32 +02:00
roschaefer
643d175ef6 Implement notifications resolver 2019-08-30 16:00:32 +02:00
Robert Schäfer
0a5052ba96
Merge pull request #1397 from Human-Connection/performance-improvement
Check there are ids in the badIds array
2019-08-30 14:08:13 +02:00
Matt Rider
42018f0bf4 Merge branch 'master' of github.com:Human-Connection/Human-Connection into performance-improvement 2019-08-30 07:17:19 +02:00
roschaefer
e4d57f80aa Fix #1333
Ok, so here are multiple issues:
1. In cypher, `NOT NULL` will return `NULL` not `FALSE`. If we want
`FALSE` to be set in the database import, we should use `COAELESCE`
to find the first not-null value.
See:
https://neo4j.com/docs/cypher-manual/current/syntax/working-with-null/
https://markhneedham.com/blog/2017/02/22/neo4j-null-values-even-work/

2. I removed the `disabled` and `deleted` checks on the commented
counter. With `neo4j-graphql-js` it is not possible to filter on the
join models (at least not without a lot of complexity) for disabled or
deleted items. Let's live with the fact that the list of commented posts
will include those posts, where the user has deleted his comment or where
the user's comment was disabled. It's being displayed as "not available"
so I think this is OK for now.

3. De-couple the pagination counters from the "commented", "shouted"
etc. counters. It might be that the list of posts is different for
different users. E.g. if the user has blocked you, the "posts" list
will be empty. The "shouted" or "commented" list will not have the
posts of the author. If you are a moderator, the list will include
disabled posts. So the counters are not in sync with the actual list
coming from the backend. Therefore I implemented "fetch and check if
resultSet < pageSize" instead of a global counter.
2019-08-28 12:57:32 +02:00
Matt Rider
6de602fd58 Revert @roschaefer's hacky fix to Search.feature
- now that we are checking to see if there are any badIds, it was breaking the search functionality
2019-08-26 21:37:36 +02:00
Matt Rider
b990a1055b Fix search functionality
- remove unused line that allows for an empty array of author_not.id_in
2019-08-26 17:51:44 +02:00
roschaefer
9f6757f409 Use guard clauses if possible 2019-08-26 16:53:22 +02:00
Matt Rider
75d984073d Check there are ids in the badIds array
- if there are no ids, we shouldn't add an empty array since it adds unneccessarily to our auto-generated post query and affects greatly performance. see issue #1390
2019-08-26 16:19:42 +02:00
Wolfgang Huß
df4f0627b5 Merge branch 'master' of https://github.com/Human-Connection/Human-Connection into 1062-notification-about-comment-on-post
# Conflicts:
#	backend/src/middleware/index.js
2019-08-23 15:31:48 +02:00
Matt Rider
cd5e492569 Await relation be added 2019-08-23 12:18:53 +02:00
Matt Rider
773779e5f1 Fix UpdatePost resolver/validations 2019-08-23 10:57:11 +02:00
Wolfgang Huß
04fe6b0a8c Merge branch 'master' of https://github.com/Human-Connection/Human-Connection into 1062-notification-about-comment-on-post
# Conflicts:
#	backend/src/middleware/handleNotifications/handleNotificationsMiddleware.spec.js

Refactored there tests a little
2019-08-22 11:02:10 +02:00
Wolfgang Huß
d98ebdd713 Merge branch 'master' of https://github.com/Human-Connection/Human-Connection into 1062-notification-about-comment-on-post 2019-08-21 08:37:43 +02:00
Matt Rider
512bf32b0c Update cypress tests, fix broken comment reactivity 2019-08-20 21:27:00 +02:00
Matt Rider
8735045d11 Update cypress tests, post query 2019-08-20 20:13:29 +02:00
Matt Rider
a000719663 Merge branch 'master' of github.com:Human-Connection/Human-Connection into post-needs-to-have-category#1222 2019-08-20 16:13:38 +02:00
Matt Rider
29f39c4f45 Update backend tests
- Every test that created or updated a post needed to be updated to add categoryIds
2019-08-20 15:54:51 +02:00
Wolfgang Huß
83a538d345 Write backend tests
Rename files.

Co-Authored-By: mattwr18 <mattwr18@gmail.com>
2019-08-19 22:13:42 +02:00
Matt Rider
555c5254bc Add tests, validations for too many categories
- Co-authored-by: Joseph Ngugi <jngugi88@gmail.com>
2019-08-19 17:31:55 +02:00
Matt Rider
3b09c31cbb Merge branch 'master' of github.com:Human-Connection/Human-Connection into post-needs-to-have-category#1222 2019-08-19 16:55:29 +02:00
Matt Rider
caff74e58b Merge branch 'master' of github.com:Human-Connection/Human-Connection into 1017-send-out-notifications-on-create-omment 2019-08-19 10:50:46 +02:00
Matt Rider
dbaa8e687f Fix vue warnings, fix tests, refactor
- was throwing an error when trying to update commentsCount because of new implementation by @roschaefer which uses countResolver, but there was no related for commentsCount, it was r... also commentsCount is no longer needed anywhere in the code base, it is commentedCount now
2019-08-16 13:28:55 +02:00
Wolfgang Huß
8acccc99d0 Implemented a reason in the Notification
Used this for displaying in the mentions menu in frontend.
Rewrite backend test.
2019-08-15 19:29:06 +02:00
kachulio1
314dfcf413 Throw error if no categories on post creation
Co-authored-by: mattwr18 <mattwr18@gmail.com>
2019-08-15 17:55:02 +03:00
Wolfgang Huß
0d66cc4dcf Merge branch 'master' of https://github.com/Human-Connection/Human-Connection into 1017-send-out-notifications-on-create-omment
# Conflicts:
#	backend/src/middleware/handleHtmlContent/handleContentData.js
#	backend/src/schema/types/schema.gql
2019-08-15 10:16:33 +02:00
Matt Rider
569ace137b Merge branch 'master' of github.com:Human-Connection/Human-Connection into 1017-send-out-notifications-on-create-omment 2019-08-15 10:14:47 +02:00
Wolfgang Huß
e8c1a5fe8d Write backend tests 2019-08-14 18:05:13 +02:00
Wolfgang Huß
67f25104f4 Fixing lint 2019-08-14 13:22:01 +02:00
Wolfgang Huß
825a5f235a Merge branch 'master' of https://github.com/Human-Connection/Human-Connection into 1017-send-out-notifications-on-create-omment 2019-08-14 13:10:19 +02:00
roschaefer
5103bdbc2a Fix tests 2019-08-13 11:50:33 +02:00
Robert Schäfer
8de0195cf8 Keep existing filter params + same for text search 2019-08-13 11:05:29 +02:00
Robert Schäfer
5fb60d1132 Implement+test blocking a user on backend 2019-08-13 11:05:29 +02:00
Robert Schäfer
cc1f932803 Refactor tests with Post model 2019-08-13 11:05:29 +02:00
Robert Schäfer
7f509b3201 Implement block/unbock UI 2019-08-13 11:05:29 +02:00
Robert Schäfer
293054a05b Implement block+unblock basic features 2019-08-13 11:05:29 +02:00
Robert Schäfer
700bdcb8f1 Implement+test unblock mutation 2019-08-13 11:05:29 +02:00
Robert Schäfer
f5a59568ab Implement block except for the unfollow feature 2019-08-13 11:05:29 +02:00
Robert Schäfer
05aee24efd Implement+test User.blockedUsers resolver 2019-08-13 11:05:29 +02:00
Robert Schäfer
f8b37b5c1e Remove obsolete relationship 'BLACKLISTED' 2019-08-13 11:05:29 +02:00
Robert Schäfer
6950068a12 Sketch test for #1054 2019-08-13 11:05:29 +02:00
Robert Schäfer
963cbbef32 RemovePostEmotions should return deleted object
@mattwr18 I prefer (I believe it's even best practice) that a delete
mutation should return the deleted object. If you run the delete
mutation again, it should return `null` because there is no object like
that anymore. That way the client knows if a delete mutation has changed
any state in the database.

Also I fixed another bug in the resolver. If your graphql mutation looks
like this:

```gql
mutation {
  RemovePostEmotions(to:{ id:"p15"}, data:{emotion: angry}) {
    from {
      id
      name
    }
    to {
      id
      title
    }
    emotion
  }
}
```

Then you get errors because your resolver does not return the name for
the user or the title for the post anymore. Just use spread operator...
and it's fixed.
2019-08-08 23:51:26 +02:00