2013-02-06 03:16:51 +08:00
|
|
|
class UserActionsController < ApplicationController
|
|
|
|
def index
|
2013-05-27 09:02:58 +08:00
|
|
|
params.require(:username)
|
|
|
|
params.permit(:filter, :offset)
|
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
per_chunk = 60
|
2013-05-20 14:44:06 +08:00
|
|
|
|
2013-05-22 23:20:16 +08:00
|
|
|
user = fetch_user_from_params
|
|
|
|
|
2013-05-20 14:44:06 +08:00
|
|
|
opts = {
|
2013-05-22 23:20:16 +08:00
|
|
|
user_id: user.id,
|
|
|
|
offset: params[:offset].to_i,
|
2013-02-07 23:45:24 +08:00
|
|
|
limit: per_chunk,
|
2013-05-20 14:44:06 +08:00
|
|
|
action_types: (params[:filter] || "").split(",").map(&:to_i),
|
2013-02-06 03:16:51 +08:00
|
|
|
guardian: guardian,
|
|
|
|
ignore_private_messages: params[:filter] ? false : true
|
2013-05-20 14:44:06 +08:00
|
|
|
}
|
|
|
|
|
2013-05-27 08:22:37 +08:00
|
|
|
stream =
|
|
|
|
if opts[:action_types] == [UserAction::GOT_PRIVATE_MESSAGE] ||
|
|
|
|
opts[:action_types] == [UserAction::NEW_PRIVATE_MESSAGE]
|
|
|
|
UserAction.private_message_stream(opts[:action_types][0], 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)
|
2013-03-23 02:08:11 +08:00
|
|
|
render json: UserAction.stream_item(params[:id], guardian)
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
def private_messages
|
|
|
|
# todo
|
|
|
|
end
|
|
|
|
|
2013-05-22 23:20:16 +08:00
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|