akkounts/app/services/ldap_manager/fetch_avatar.rb
Râu Cao 17ffbde03a
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
WIP Store avatars as ActiveStorage attachments
Also push to LDAP as jpegPhoto
2025-05-11 18:43:21 +04:00

17 lines
412 B
Ruby

module LdapManager
class FetchAvatar < LdapManagerService
def initialize(cn:)
@cn = cn
end
def call
treebase = ldap_config["base"]
attributes = %w{ jpegPhoto }
filter = Net::LDAP::Filter.eq("cn", @cn)
entry = client.search(base: treebase, filter: filter, attributes: attributes).first
entry[:jpegPhoto].present? ? entry.jpegPhoto.first : nil
end
end
end