Some checks failed
continuous-integration/drone/push Build is failing
No need to keep them in two places at the same time. We can fetch them from LDAP whenever we want to do something with them.
19 lines
509 B
Ruby
19 lines
509 B
Ruby
module LdapManager
|
|
class FetchAvatar < LdapManagerService
|
|
def initialize(cn:, ou: nil)
|
|
@cn = cn
|
|
@ou = ou
|
|
end
|
|
|
|
def call
|
|
treebase = @ou ? "ou=#{@ou},cn=users,#{suffix}" : ldap_config["base"]
|
|
puts treebase.inspect
|
|
attributes = %w{ jpegPhoto }
|
|
filter = Net::LDAP::Filter.eq("cn", @cn)
|
|
|
|
entry = ldap_client.search(base: treebase, filter: filter, attributes: attributes).first
|
|
entry.try(:jpegPhoto) ? entry.jpegPhoto.first : nil
|
|
end
|
|
end
|
|
end
|