19 lines
		
	
	
		
			490 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			490 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| module LdapManager
 | |
|   class FetchUserByNostrKey < LdapManagerService
 | |
|     def initialize(pubkey:)
 | |
|       @ou = Setting.primary_domain
 | |
|       @pubkey = pubkey
 | |
|     end
 | |
| 
 | |
|     def call
 | |
|       treebase   = "ou=#{@ou},cn=users,#{ldap_suffix}"
 | |
|       attributes = %w{ cn }
 | |
|       filter     = Net::LDAP::Filter.eq("nostrKey", @pubkey)
 | |
| 
 | |
|       entry = client.search(base: treebase, filter: filter, attributes: attributes).first
 | |
| 
 | |
|       User.find_by cn: entry.cn, ou: @ou  unless entry.nil?
 | |
|     end
 | |
|   end
 | |
| end
 |