From 7c83f01ab34c75b606fc221843ed40b74c816200 Mon Sep 17 00:00:00 2001 From: 24c02 <163450896+24c02@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:23:42 -0400 Subject: [PATCH] fix hca focb? --- app/models/user.rb | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index d4b484f..f7e92c0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -25,24 +25,31 @@ class User < ApplicationRecord raise "Missing HCA user ID from authentication" if hca_id.blank? user = find_by(hca_id:) - user ||= find_by(slack_id:) if slack_id.present? + + if slack_id.present? + slack_user = find_by(slack_id:) + if slack_user && user && slack_user.id != user.id + # same person, two records — merge into the slack user + user.uploads.update_all(user_id: slack_user.id) + user.destroy! + user = slack_user + elsif slack_user + user = slack_user + end + end + + attrs = { + hca_id:, + email: auth.info.email, + name: auth.info.name, + hca_access_token: auth.credentials.token + } + attrs[:slack_id] = slack_id if slack_id.present? if user - user.update( - hca_id:, - slack_id:, - email: auth.info.email, - name: auth.info.name, - hca_access_token: auth.credentials.token - ) + user.update!(attrs) else - user = create!( - hca_id:, - slack_id:, - email: auth.info.email, - name: auth.info.name, - hca_access_token: auth.credentials.token - ) + user = create!(attrs) end user