情境:
user:1
创建了一个帖子:
{ actor: 'user:1', verb: 'POST_CREATE', object: 'post:1', foreign_id: 'post:1' }
现在,user:1
之后是user:2
,user:3
和user: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:3
和user: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
所有活动,只是没有添加到这里。答案 0 :(得分:2)
如果您从最初添加活动的用户1的Feed中删除活动(使用foreign_id
),则删除将传播到所有后续Feed。
例如,用户1添加了一项活动,它会显示在用户2,3和4的Feed中。例如,如果您尝试从用户2的Feed中删除活动,则只会删除该用户的活动,而不是其他所有人。
更新也会发生同样的情况。您更新原始活动,它将向下传播到后续订阅源。更新必须包含原始foreign_id
和time
字段,但您无法更改这些字段。