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|