summaryrefslogtreecommitdiff
path: root/users/app/controllers/v1/messages_controller.rb
blob: b58dfe90cd9c2605c122ade6581a650e4498ae1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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