2 class ChangesetSubscriptionsController < ApiController
3 before_action :check_api_writable
4 before_action :authorize
8 before_action :require_public_data
9 before_action :set_request_formats
12 # Adds a subscriber to the changeset
14 # Check the arguments are sane
15 raise OSM::APIBadUserInput, "No id was given" unless params[:changeset_id]
17 # Extract the arguments
18 changeset_id = params[:changeset_id].to_i
20 # Find the changeset and check it is valid
21 @changeset = Changeset.find(changeset_id)
22 raise OSM::APIChangesetAlreadySubscribedError, @changeset if @changeset.subscribers.include?(current_user)
25 @changeset.subscribers << current_user
27 respond_to do |format|
34 # Removes a subscriber from the changeset
36 # Check the arguments are sane
37 raise OSM::APIBadUserInput, "No id was given" unless params[:changeset_id]
39 # Extract the arguments
40 changeset_id = params[:changeset_id].to_i
42 # Find the changeset and check it is valid
43 @changeset = Changeset.find(changeset_id)
44 raise OSM::APIChangesetNotSubscribedError, @changeset unless @changeset.subscribers.include?(current_user)
46 # Remove the subscriber
47 @changeset.subscribers.delete(current_user)
49 respond_to do |format|