删除包含所有通知和Feed的帖子

时间:2017-08-22 20:12:54

标签: node.js getstream-io

情境:

user:1创建了一个帖子:

{ actor: 'user:1', verb: 'POST_CREATE', object: 'post:1', foreign_id: 'post:1' }

现在,user:1之后是user:2user:3user:4。他们都在他们的Feed中获得了post。他们对帖子采取了以下行动:

user:2对其进行了评论user:1使用TO字段获得了通知)

{ actor: 'user:2', verb: 'POST_COMMENT', object: 'comment:1', target: 'post:1', foreign_id: 'comment:1' 
TO: ['notification:1']}

user:3user:4赞了:

{ actor: 'user:3', verb: 'POST_LIKE', object: 'like:1', target: 'post:1', foreign_id: 'like:1' 
TO: ['notification:1', 'notification:2']}

{ actor: 'user:4', verb: 'POST_LIKE', object: 'like:2', target: 'post:1', foreign_id: 'like:2' 
TO: ['notification:1', 'notification:2', 'notification:3']}

问题:

现在当user:1删除帖子时,如何删除其所有活动及其在Feed和通知中的引用?我希望通过1次API调用来实现。

如果我需要更改活动数据,请告诉我。

PS:

  • 我已经阅读了delete activity的文档,它一次删除了1个活动,也只删除了1个活动..
  • 我发送了time所有活动,只是没有添加到这里。

1 个答案:

答案 0 :(得分:2)

如果您从最初添加活动的用户1的Feed中删除活动(使用foreign_id),则删除将传播到所有后续Feed。

例如,用户1添加了一项活动,它会显示在用户2,3和4的Feed中。例如,如果您尝试从用户2的Feed中删除活动,则只会删除该用户的活动,而不是其他所有人。

更新也会发生同样的情况。您更新原始活动,它将向下传播到后续订阅源。更新必须包含原始foreign_idtime字段,但您无法更改这些字段。