From db21a70190c8ca24e5de55c0b9c13f451691927b Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Wed, 24 Oct 2012 20:18:26 -0400 Subject: [PATCH] wrap friend creation in transaction --- app/controllers/api_users_controller.rb | 28 +++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/app/controllers/api_users_controller.rb b/app/controllers/api_users_controller.rb index 86a7d3638..3b373fb28 100644 --- a/app/controllers/api_users_controller.rb +++ b/app/controllers/api_users_controller.rb @@ -48,21 +48,23 @@ class ApiUsersController < ApplicationController end def friend_request_update - @friend_request = FriendRequest.find(params[:id]) - @friend_request.accepted = params[:accepted] - @friend_request.save + ActiveRecord::Base.transaction do + @friend_request = FriendRequest.find(params[:id]) + @friend_request.accepted = params[:accepted] + @friend_request.save - # create both records for this friendship - if @friend_request.accepted? - @friendship = Friendship.new() - @friendship.user_id = @friend_request.user_id - @friendship.friend_id = @friend_request.friend_id - @friendship.save + # create both records for this friendship + if @friend_request.accepted? + @friendship = Friendship.new() + @friendship.user_id = @friend_request.user_id + @friendship.friend_id = @friend_request.friend_id + @friendship.save - @friendship = Friendship.new() - @friendship.user_id = @friend_request.friend_id - @friendship.friend_id = @friend_request.user_id - @friendship.save + @friendship = Friendship.new() + @friendship.user_id = @friend_request.friend_id + @friendship.friend_id = @friend_request.user_id + @friendship.save + end end respond_with @friend_request, responder: ApiResponder