From: Tom Hughes Date: Wed, 7 Aug 2024 17:38:09 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/5054' X-Git-Tag: live~1002 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/96e118a61ddeaa7abec916cfea6a411426e922f7?hp=5e3cda345a144014148db5e3543f99ae9bd08b5e Merge remote-tracking branch 'upstream/pull/5054' --- diff --git a/app/controllers/api/notes_controller.rb b/app/controllers/api/notes_controller.rb index d53059a94..be36421d9 100644 --- a/app/controllers/api/notes_controller.rb +++ b/app/controllers/api/notes_controller.rb @@ -115,12 +115,12 @@ module Api comment = params[:text] # Find the note and check it is valid - @note = Note.find(id) - raise OSM::APINotFoundError unless @note - raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? - - # Mark the note as hidden Note.transaction do + @note = Note.lock.find(id) + raise OSM::APINotFoundError unless @note + raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? + + # Mark the note as hidden @note.status = "hidden" @note.save @@ -146,13 +146,13 @@ module Api comment = params[:text] # Find the note and check it is valid - @note = Note.find(id) - raise OSM::APINotFoundError unless @note - raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? - raise OSM::APINoteAlreadyClosedError, @note if @note.closed? - - # Add a comment to the note Note.transaction do + @note = Note.lock.find(id) + raise OSM::APINotFoundError unless @note + raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? + raise OSM::APINoteAlreadyClosedError, @note if @note.closed? + + # Add a comment to the note add_comment(@note, comment, "commented") end @@ -174,13 +174,13 @@ module Api comment = params[:text] # Find the note and check it is valid - @note = Note.find_by(:id => id) - raise OSM::APINotFoundError unless @note - raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? - raise OSM::APINoteAlreadyClosedError, @note if @note.closed? - - # Close the note and add a comment Note.transaction do + @note = Note.lock.find_by(:id => id) + raise OSM::APINotFoundError unless @note + raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? + raise OSM::APINoteAlreadyClosedError, @note if @note.closed? + + # Close the note and add a comment @note.close add_comment(@note, comment, "closed") @@ -204,13 +204,13 @@ module Api comment = params[:text] # Find the note and check it is valid - @note = Note.find_by(:id => id) - raise OSM::APINotFoundError unless @note - raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? || current_user.moderator? - raise OSM::APINoteAlreadyOpenError, @note unless @note.closed? || !@note.visible? - - # Reopen the note and add a comment Note.transaction do + @note = Note.lock.find_by(:id => id) + raise OSM::APINotFoundError unless @note + raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? || current_user.moderator? + raise OSM::APINoteAlreadyOpenError, @note unless @note.closed? || !@note.visible? + + # Reopen the note and add a comment @note.reopen add_comment(@note, comment, "reopened") diff --git a/app/views/api/changesets/index.json.jbuilder b/app/views/api/changesets/index.json.jbuilder index f52d69865..ce094fa34 100644 --- a/app/views/api/changesets/index.json.jbuilder +++ b/app/views/api/changesets/index.json.jbuilder @@ -1,5 +1,5 @@ json.partial! "api/root_attributes" -json.changesets(@changesets) do |changeset| - json.partial! changeset +json.changesets do + json.array! @changesets, :partial => "changeset", :as => :changeset end diff --git a/app/views/api/messages/inbox.json.jbuilder b/app/views/api/messages/inbox.json.jbuilder index 524006ded..122a82495 100644 --- a/app/views/api/messages/inbox.json.jbuilder +++ b/app/views/api/messages/inbox.json.jbuilder @@ -1,5 +1,5 @@ json.partial! "api/root_attributes" -json.messages(@messages) do |message| - json.partial! message +json.messages do + json.array! @messages, :partial => "message", :as => :message end diff --git a/app/views/api/messages/outbox.json.jbuilder b/app/views/api/messages/outbox.json.jbuilder index 524006ded..122a82495 100644 --- a/app/views/api/messages/outbox.json.jbuilder +++ b/app/views/api/messages/outbox.json.jbuilder @@ -1,5 +1,5 @@ json.partial! "api/root_attributes" -json.messages(@messages) do |message| - json.partial! message +json.messages do + json.array! @messages, :partial => "message", :as => :message end diff --git a/app/views/api/notes/index.json.jbuilder b/app/views/api/notes/index.json.jbuilder index 7909391f5..5660a8ad5 100644 --- a/app/views/api/notes/index.json.jbuilder +++ b/app/views/api/notes/index.json.jbuilder @@ -1,5 +1,5 @@ json.type "FeatureCollection" -json.features(@notes) do |note| - json.partial! note +json.features do + json.array! @notes, :partial => "note", :as => :note end diff --git a/app/views/api/users/index.json.jbuilder b/app/views/api/users/index.json.jbuilder index 1ad07d47c..d2dbd4d4f 100644 --- a/app/views/api/users/index.json.jbuilder +++ b/app/views/api/users/index.json.jbuilder @@ -1,5 +1,5 @@ json.partial! "api/root_attributes" -json.users(@users) do |user| - json.partial! user +json.users do + json.array! @users, :partial => "user", :as => :user end diff --git a/script/cleanup b/script/cleanup index 7601d35cf..e829be176 100755 --- a/script/cleanup +++ b/script/cleanup @@ -6,4 +6,7 @@ OauthNonce.where("timestamp < EXTRACT(EPOCH FROM NOW() - INTERVAL '1 day')").del OauthToken.where("invalidated_at < NOW() - INTERVAL '28 days'").delete_all RequestToken.where("authorized_at IS NULL AND created_at < NOW() - INTERVAL '28 days'").delete_all +Doorkeeper::AccessGrant.where("revoked_at < NOW() - INTERVAL '28 days' OR (created_at + expires_in * INTERVAL '1 second') < NOW() - INTERVAL '28 days'").delete_all +Doorkeeper::AccessToken.where("revoked_at < NOW() - INTERVAL '28 days' OR (created_at + expires_in * INTERVAL '1 second') < NOW() - INTERVAL '28 days'").delete_all + exit 0