class DraftsController < ApplicationController requires_login skip_before_action :check_xhr, :preload_json def index params.require(:username) params.permit(:offset) params.permit(:limit) user = fetch_user_from_params opts = { user: user, offset: params[:offset], limit: params[:limit] } help_key = "user_activity.no_drafts" if user == current_user stream = Draft.stream(opts) stream.each do |d| parsed_data = JSON.parse(d.data) if parsed_data if parsed_data['reply'] d.raw = parsed_data['reply'] end if parsed_data['categoryId'].present? && !d.category_id.present? d.category_id = parsed_data['categoryId'] end end end help_key += ".self" else help_key += ".others" end render json: { drafts: stream ? serialize_data(stream, DraftSerializer) : [], no_results_help: I18n.t(help_key) } end end