]> git.openstreetmap.org Git - rails.git/blob - app/controllers/api/users_controller.rb
Add frozen_string_literal comments to ruby files
[rails.git] / app / controllers / api / users_controller.rb
1 # frozen_string_literal: true
2
3 module Api
4   class UsersController < ApiController
5     before_action :setup_user_auth, :only => [:show, :index]
6     before_action -> { authorize(:skip_terms => true) }, :only => [:details]
7
8     authorize_resource
9
10     load_resource :only => :show
11
12     before_action :set_request_formats
13
14     def index
15       raise OSM::APIBadUserInput, "The parameter users is required, and must be of the form users=id[,id[,id...]]" unless params["users"]
16
17       ids = params["users"].split(",").collect(&:to_i)
18
19       raise OSM::APIBadUserInput, "No users were given to search for" if ids.empty?
20
21       @users = User.visible.where(:id => ids).in_order_of(:id, ids)
22
23       # Render the result
24       respond_to do |format|
25         format.xml
26         format.json
27       end
28     end
29
30     def show
31       if @user.visible?
32         # Render the result
33         respond_to do |format|
34           format.xml
35           format.json
36         end
37       else
38         head :gone
39       end
40     end
41
42     def details
43       @user = current_user
44       # Render the result
45       respond_to do |format|
46         format.xml { render :show }
47         format.json { render :show }
48       end
49     end
50   end
51 end