Sha256: 3154dc5392a997f2d2e4e6d21788b278764f60b143fc5e958781809604f879cb
Contents?: true
Size: 950 Bytes
Versions: 3
Compression:
Stored size: 950 Bytes
Contents
module ApiUserAuth # Model for social provider registration class ProviderToken < ApplicationRecord belongs_to :auth_user, class_name: 'ApiUserAuth::AuthUser' enum provider: %I[facebook google instagram] def self.find_by_data(data) find_by( provider: data[:provider], user_id: data[:id] ) end def self.create_by_data(data, auth_user) if find_by_data(data).blank? a_user = if auth_user.blank? create_auth_user(data) else auth_user end a_user.provider_tokens.create( provider: data[:provider], user_id: data[:id], user_data: data ) else nil end end def self.create_auth_user(data) email = data[:id] + '@' + data[:provider] + '.com' AuthUser.create(email: email, password: SecureRandom.uuid) end end end
Version data entries
3 entries across 3 versions & 1 rubygems