MCPcopy
hub / github.com/openstf/stf / tryFind

Function tryFind

lib/util/ldaputil.js:45–97  ·  view source on GitHub ↗
(client)

Source from the content-addressed store, hash-verified

43 }
44
45 function tryFind(client) {
46 var resolver = Promise.defer()
47 var query = {
48 scope: options.search.scope
49 , filter: new ldap.AndFilter({
50 filters: [
51 new ldap.EqualityFilter({
52 attribute: 'objectClass'
53 , value: options.search.objectClass
54 })
55 , new ldap.EqualityFilter({
56 attribute: options.search.field
57 , value: username
58 })
59 ]
60 })
61 }
62
63 if (options.search.filter) {
64 var parsedFilter = ldap.parseFilter(options.search.filter)
65 query.filter.filters.push(parsedFilter)
66 }
67
68 client.search(options.search.dn, query, function(err, search) {
69 if (err) {
70 return resolver.reject(err)
71 }
72
73 function entryListener(entry) {
74 resolver.resolve(entry)
75 }
76
77 function endListener() {
78 resolver.reject(new InvalidCredentialsError(username))
79 }
80
81 function errorListener(err) {
82 resolver.reject(err)
83 }
84
85 search.on('searchEntry', entryListener)
86 search.on('end', endListener)
87 search.on('error', errorListener)
88
89 resolver.promise.finally(function() {
90 search.removeListener('searchEntry', entryListener)
91 search.removeListener('end', endListener)
92 search.removeListener('error', errorListener)
93 })
94 })
95
96 return resolver.promise
97 }
98
99 function tryBind(client, entry) {
100 return new Promise(function(resolve, reject) {

Callers 1

ldaputil.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected