discourse/app/controllers/user_actions_controller.rb

41 lines
1.1 KiB
Ruby
Raw Normal View History

2013-02-06 03:16:51 +08:00
class UserActionsController < ApplicationController
2013-02-06 03:16:51 +08:00
def index
2013-05-27 09:02:58 +08:00
params.require(:username)
params.permit(:filter, :offset)
per_chunk = 30
user = fetch_user_from_params(include_inactive: current_user.try(:staff?))
2015-04-22 02:36:46 +08: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
render_serialized(stream, UserActionSerializer, root: 'user_actions')
2013-02-06 03:16:51 +08:00
end
def show
2013-05-27 09:02:58 +08:00
params.require(:id)
render_serialized(UserAction.stream_item(params[:id], guardian), UserActionSerializer)
2013-02-06 03:16:51 +08:00
end
def private_messages
# DO NOT REMOVE
# TODO should preload messages to avoid extra http req
end
2013-02-06 03:16:51 +08:00
end