Class: SpreeCmCommissioner::FirebaseEmailFetcher

Inherits:
BaseInteractor show all
Defined in:
app/interactors/spree_cm_commissioner/firebase_email_fetcher.rb

Instance Method Summary collapse

Instance Method Details

#callObject

Firebase response { "localId" => "8AGwn0V88kP7vkticwuYZkNNoIJ2", "displayName" => "Sreyleak Deth", "photoUrl" => "https://lh3.googleusercontent.com/a/ACg8ocIkL62VaxNb7bOAXV30sZOGQ_Dw7ZYvlBH-Hk2jm3swNg=s96-c", "providerUserInfo" => [ { "providerId" => "google.com", "displayName" => "Sreyleak Deth", "photoUrl" => "https://lh3.googleusercontent.com/a/ACg8ocK88Fm3GhVeCS98vLGE-vmShSi76xZwYYA1QwImuyck7zAqpR0=s96-c", "federatedId" => "109192493976909808585", "email" => "sreyleak.deth19@gmail.com", "rawId" => "109192493976909808585" } ], "validSince" => "1707378937", "lastLoginAt" => "1739440924021", "createdAt" => "1707378937388", "lastRefreshAt" => "2025-04-01T08:54:24.480031Z" }



28
29
30
31
32
33
34
35
36
37
38
# File 'app/interactors/spree_cm_commissioner/firebase_email_fetcher.rb', line 28

def call
  @manager = initialize_firebase_manager

  if context.user_id.present?
    user = @manager.get_user_by(uid: context.user_id)
  elsif context.sub.present?
    user = @manager.get_user_by_sub(sub: context.sub)
  end

  context.email = user.provider_data.first&.email
end