2013-02-05 14:16:51 -05:00
|
|
|
class UserActionsController < ApplicationController
|
2014-05-09 11:49:39 -04:00
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
def index
|
2013-05-26 21:02:58 -04:00
|
|
|
params.require(:username)
|
|
|
|
params.permit(:filter, :offset)
|
|
|
|
|
2015-12-09 00:23:15 -05:00
|
|
|
per_chunk = 30
|
2013-05-20 02:44:06 -04:00
|
|
|
|
2015-11-27 14:02:24 -05:00
|
|
|
user = fetch_user_from_params(include_inactive: current_user.try(:staff?))
|
2013-05-22 11:20:16 -04:00
|
|
|
|
2015-04-21 14:36:46 -04:00
|
|
|
opts = { user_id: user.id,
|
|
|
|
user: user,
|
|
|
|
offset: params[:offset].to_i,
|
|
|
|
limit: per_chunk,
|
|
|
|
action_types: (params[:filter] || "").split(",").map(&:to_i),
|
|
|
|
guardian: guardian,
|
|
|
|
ignore_private_messages: params[:filter] ? false : true }
|
|
|
|
|
|
|
|
# Pending is restricted
|
|
|
|
stream = if opts[:action_types].include?(UserAction::PENDING)
|
|
|
|
guardian.ensure_can_see_notifications!(user)
|
|
|
|
UserAction.stream_queued(opts)
|
|
|
|
else
|
|
|
|
UserAction.stream(opts)
|
|
|
|
end
|
|
|
|
|
2015-07-31 14:22:28 -04:00
|
|
|
render_serialized(stream, UserActionSerializer, root: 'user_actions')
|
2013-02-05 14:16:51 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
def show
|
2013-05-26 21:02:58 -04:00
|
|
|
params.require(:id)
|
2014-08-29 13:46:50 -04:00
|
|
|
render_serialized(UserAction.stream_item(params[:id], guardian), UserActionSerializer)
|
2013-02-05 14:16:51 -05:00
|
|
|
end
|
|
|
|
|
2014-05-12 06:02:32 -04:00
|
|
|
def private_messages
|
|
|
|
# DO NOT REMOVE
|
2015-12-09 19:39:33 -05:00
|
|
|
# TODO should preload messages to avoid extra http req
|
2014-05-12 06:02:32 -04:00
|
|
|
end
|
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
end
|