cartodb/app/models/carto/ldap/entry.rb
2020-06-15 10:58:47 +08:00

39 lines
660 B
Ruby

# See http://www.rubydoc.info/gems/net-ldap/0.11
require 'net/ldap'
class Carto::Ldap::Entry
def initialize(ldap_entry, ldap_configuration)
@entry = ldap_entry
@configuration = ldap_configuration
end
def user_id
extract_field(@configuration.user_id_field)
end
def cartodb_user_id
Carto::Ldap::Manager.sanitize_for_cartodb(user_id)
end
def username
extract_field(@configuration.username_field)
end
def email
extract_field(@configuration.email_field)
end
def configuration
@configuration
end
private
def extract_field(field)
value = @entry[field]
value.nil? ? nil : value.first
end
end