Class: Collavre::CommentReadPointersController

Inherits:
ApplicationController show all
Defined in:
app/controllers/collavre/comment_read_pointers_controller.rb

Instance Method Summary collapse

Instance Method Details

#updateObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/collavre/comment_read_pointers_controller.rb', line 3

def update
  creative = Creative.find(params[:creative_id]).effective_origin
  last_id = creative.comments.visible_to(Current.user).maximum(:id)
  pointer = CommentReadPointer.find_or_initialize_by(user: Current.user, creative: creative)

  previous_last_read_id = pointer.last_read_comment_id
  pointer.last_read_comment_id = last_id
  pointer.save!

  mark_inbox_items_read(creative, last_id)
  Comment.broadcast_badge(creative, Current.user)

  if previous_last_read_id && previous_last_read_id != last_id
    broadcast_read_receipts(creative, previous_last_read_id)
  end
  broadcast_read_receipts(creative, last_id)

  render json: { success: true }
end