rein
11/13/2017, 1:32 PMMaslov
11/13/2017, 1:34 PMtype User @model {
...
likes: [Post!]! @relation(name: "UserLikes")
}
type Post @model {
...
likedUsers: [User!]! @relation(name: "UserLikes")
}
rein
11/13/2017, 1:35 PMrein
11/13/2017, 1:35 PMMaslov
11/13/2017, 1:38 PMallPosts(
orderBy: createdAt_DESC,
filter: {
OR: [{
user: {
id_not: $userId
}
}, { user: null } ]
},
first: $limit
)
something like this if I understand you correctlyMaslov
11/13/2017, 1:38 PMMaslov
11/13/2017, 1:38 PMMaslov
11/13/2017, 1:38 PMrein
11/13/2017, 1:39 PMrein
11/13/2017, 1:39 PMrein
11/13/2017, 1:39 PMMaslov
11/13/2017, 1:39 PMrein
11/13/2017, 1:40 PMMaslov
11/13/2017, 1:40 PMMaslov
11/13/2017, 1:40 PMMaslov
11/13/2017, 1:41 PM'use latest'
const fromEvent = require('graphcool-lib').fromEvent;
function setLikes(api, postId, likesCount) {
const request = `
mutation($styleId: ID!, $likesCount: Int!) {
updatePost(id: $postId, likesCount: $likesCount) {
id
likesCount
}
}`
return api.request(request, { postId, likesCount })
};
module.exports = function (event) {
const api = fromEvent(event).api('simple/v1')
if (event.data.Post.updatedFields.indexOf('likesCount') === -1 &&
event.data.Post.node._likedUsersMeta) {
event.data.Post.node.likesCount = event.data.Post.node._likedUsersMeta.count;
return setLikes(api, event.data.Post.node.id, event.data.Post.node._likedUsersMeta.count)
.then((data) => { return { data: data } });
}
return { data: event.data };
}
Maslov
11/13/2017, 1:42 PMrein
11/13/2017, 1:42 PMrein
11/13/2017, 1:43 PMrein
11/13/2017, 1:43 PMMaslov
11/13/2017, 1:43 PMMaslov
11/13/2017, 1:44 PMMaslov
11/13/2017, 1:44 PMrein
11/13/2017, 1:45 PMMaslov
11/13/2017, 1:46 PMMaslov
11/13/2017, 1:47 PMrein
11/13/2017, 1:47 PMrein
11/13/2017, 1:47 PMMaslov
11/13/2017, 1:47 PMMaslov
11/13/2017, 1:48 PM