diff options
author | jessib <jessib@riseup.net> | 2013-12-30 15:22:44 -0800 |
---|---|---|
committer | jessib <jessib@riseup.net> | 2013-12-30 15:22:44 -0800 |
commit | 16b28882aa7659fb89e1661ed8af0c0db72642c8 (patch) | |
tree | 856d7c0caf6a72f2bea4ef134b7de988534c179b /users/app/models/user.rb | |
parent | 8db811678404aa9a33c54805f8fba4afb932c1f4 (diff) |
Change structure to be more no-sql-y, rather than relational.
Diffstat (limited to 'users/app/models/user.rb')
-rw-r--r-- | users/app/models/user.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/users/app/models/user.rb b/users/app/models/user.rb index fe3a127..fc63ae9 100644 --- a/users/app/models/user.rb +++ b/users/app/models/user.rb @@ -13,6 +13,9 @@ class User < CouchRest::Model::Base property :desired_service_level_code, Integer, :accessible => true property :effective_service_level_code, Integer, :accessible => true + property :message_ids_to_see, [String] + property :message_ids_seen, [String] + before_save :update_effective_service_level validates :login, :password_salt, :password_verifier, @@ -74,6 +77,7 @@ class User < CouchRest::Model::Base def messages(unseen = true) +=begin user_messages = unseen ? UserMessage.by_user_id_and_seen(:key => [self.id, false]).all : UserMessage.by_user_id(:key => self.id).all messages = [] @@ -81,6 +85,15 @@ class User < CouchRest::Model::Base messages << Message.find(um.message.id) end messages +=end + + message_ids = unseen ? self.message_ids_to_see : self.message_ids_to_see + self.message_ids_seen # TODO check unique? + + messages = [] + message_ids.each do |message_id| + messages << Message.find(message_id) + end + messages end |