This commit is contained in:
@@ -159,6 +159,25 @@ class User < ApplicationRecord
|
||||
@display_name ||= ldap_entry[:display_name]
|
||||
end
|
||||
|
||||
def avatar
|
||||
@avatar ||= LdapManager::FetchAvatar.call(cn: cn)
|
||||
end
|
||||
|
||||
def avatar_base64
|
||||
@avatar_base64 ||= begin
|
||||
if avatar.present?
|
||||
Rails.logger.debug { "Avatar data size: #{avatar.size}" }
|
||||
Base64.strict_encode64(avatar)
|
||||
else
|
||||
Rails.logger.error { "Avatar data is empty or nil" }
|
||||
return nil
|
||||
end
|
||||
rescue StandardError => e
|
||||
Rails.logger.error { "Failed to encode avatar: #{e.message}" }
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
def nostr_pubkey
|
||||
@nostr_pubkey ||= ldap_entry[:nostr_key]
|
||||
end
|
||||
@@ -186,10 +205,6 @@ class User < ApplicationRecord
|
||||
ZBase32.encode(Digest::SHA1.digest(cn))
|
||||
end
|
||||
|
||||
def avatar
|
||||
@avatar_base64 ||= LdapManager::FetchAvatar.call(cn: cn)
|
||||
end
|
||||
|
||||
def services_enabled
|
||||
ldap_entry[:services_enabled] || []
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user