From 89e1974f30709fdb98d7484561c371980f37b700 Mon Sep 17 00:00:00 2001
From: trwnh <a@trwnh.com>
Date: Tue, 8 Nov 2022 09:39:15 -0600
Subject: [PATCH] Make account endorsements idempotent (fix #19045) (#20118)
* Make account endorsements idempotent (fix #19045)
* Accept suggestion to use exists? instead of find_by + nil check
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
* fix logic (unless, not if)
* switch to using `find_or_create_by!`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
---
app/controllers/api/v1/accounts/pins_controller.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/controllers/api/v1/accounts/pins_controller.rb b/app/controllers/api/v1/accounts/pins_controller.rb
index 3915b56693..73f845c614 100644
--- a/app/controllers/api/v1/accounts/pins_controller.rb
+++ b/app/controllers/api/v1/accounts/pins_controller.rb
@@ -8,7 +8,7 @@ class Api::V1::Accounts::PinsController < Api::BaseController
before_action :set_account
def create
- AccountPin.create!(account: current_account, target_account: @account)
+ AccountPin.find_or_create_by!(account: current_account, target_account: @account)
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
--
GitLab