1 # frozen_string_literal: true
5 class MailboxesController < ApiController
6 before_action :authorize
8 authorize_resource :message
10 before_action :set_request_formats
15 @messages = @messages.where(:muted => false)
16 if params[:order].nil? || params[:order] == "newest"
17 @messages = @messages.where(:id => ..params[:from_id]) unless params[:from_id].nil?
18 @messages = @messages.order(:id => :desc)
19 elsif params[:order] == "oldest"
20 @messages = @messages.where(:id => params[:from_id]..) unless params[:from_id].nil?
21 @messages = @messages.order(:id => :asc)
23 raise OSM::APIBadUserInput, "Invalid order specified"
26 limit = params[:limit]
28 limit = Settings.default_message_query_limit
29 elsif !limit.to_i.positive? || limit.to_i > Settings.max_message_query_limit
30 raise OSM::APIBadUserInput, "Messages limit must be between 1 and #{Settings.max_message_query_limit}"
35 @messages = @messages.limit(limit)
38 respond_to do |format|