summaryrefslogtreecommitdiff
path: root/users/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'users/app/controllers')
-rw-r--r--users/app/controllers/v1/messages_controller.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/users/app/controllers/v1/messages_controller.rb b/users/app/controllers/v1/messages_controller.rb
new file mode 100644
index 0000000..b58dfe9
--- /dev/null
+++ b/users/app/controllers/v1/messages_controller.rb
@@ -0,0 +1,30 @@
+module V1
+ class MessagesController < ApplicationController
+
+ before_filter :authorize_admin # not sure this is best way
+ respond_to :json
+
+ # for now, will not pass unseen, so unseen will always be true
+ def user_messages(unseen = true)
+ user = User.find(params[:user_id])
+ render json: (user ? user.messages : [] )
+ end
+
+ # routes ensure this is only for PUT
+ def mark_read
+
+ # make sure user and message exist
+ if (user = User.find(params[:user_id])) && Message.find(params[:message_id])
+
+ user.message_ids_seen << params[:message_id] if !user.message_ids_seen.include?(params[:message_id]) #TODO: is it quicker to instead call uniq! after adding?
+ user.message_ids_to_see.delete(params[:message_id])
+ user.save
+ render json: true
+ return
+ else
+ render json: false
+ end
+
+ end
+ end
+end