2013-07-02 26 views
0

感谢您花时间看我的问题。刷卡消息只为当前用户

好的,我正在研究这个iPhone应用程序。我负责服务器端代码。客户端正在寻求解决方案来从应用中删除私人消息。我为他们创建了一个删除特定消息的HTTP DELETE。但是这个请求从数据库中删除了消息,并且使消息对于两个用户都消失了,而不仅仅是那些选择删除它的消息。

我一直在想,但我似乎无法找到最佳解决方案。我需要的是一个解决方案,只删除当前用户的消息。

我应该在数据库中添加一些列,告诉哪些用户应该显示私人消息?当用户从应用中删除消息时,它只会停止在该用户的手机上显示。或者有更好的解决方案吗?

我需要一些头脑风暴的帮助。我希望这是一个好问题。

谢谢!

回答

1

应该避免物理删除。我能想到的第一个原因是:

  • 如果您正在查找的信息不存在,您如何进行适当的测试/审计?
  • 法律问题:您是否需要某些级别的数据保留?

你可以用一个额外的关系,实现了某种形式逻辑删除,例如如UserMessage(用户名,邮件ID,MessageStatus),其中MessageStatus可能是“未读”,“读”,“删除”,“重要“,”垃圾邮件“等(如果您愿意,可以将状态映射到任意整数)。当用户删除消息时,只需在UserMessage关系中更改其状态,并从UI侧隐藏标记为“已删除”的消息。

+0

这是一个很好的答案,实际上在这个问题上我终于解决了这个问题。谢谢! – raxelsson