diff --git a/app/models/user_omniauth.rb b/app/models/user_omniauth.rb index aa52685..c524613 100644 --- a/app/models/user_omniauth.rb +++ b/app/models/user_omniauth.rb @@ -7,6 +7,14 @@ class UserOmniauth < ApplicationRecord belongs_to :user + has_one :assumed_user, + class_name: 'User', + primary_key: :email, + foreign_key: :email, + inverse_of: false, + autosave: false, + dependent: false + ############### # Validations # ############### @@ -16,4 +24,12 @@ class UserOmniauth < ApplicationRecord validates :remote_id, presence: true validates :email, presence: true + + validates :assumed_user, inclusion: { in: :expected_users } + +private + + def expected_users + [nil, user] + end end