|
|
|
@ -199,6 +199,20 @@ class UsersController extends LDAPController {
|
|
|
|
|
return target_ids
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
filter_to_obj(filter) {
|
|
|
|
|
if ( filter && filter.json ) {
|
|
|
|
|
const val = filter.json
|
|
|
|
|
for ( const prop in val ) {
|
|
|
|
|
if ( !val.hasOwnProperty(prop) ) continue
|
|
|
|
|
val[prop] = this.filter_to_obj(val[prop])
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return val
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return filter
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TODO flitter-orm chunk query
|
|
|
|
|
// TODO generalize scoped search logic
|
|
|
|
|
async search_people(req, res, next) {
|
|
|
|
@ -265,7 +279,7 @@ class UsersController extends LDAPController {
|
|
|
|
|
this.output.debug(`Searching ${users.length} users...`)
|
|
|
|
|
this.output.debug(`Request DN: ${req.dn}`)
|
|
|
|
|
this.output.debug(`Filter:`)
|
|
|
|
|
this.output.debug(req.filter.json)
|
|
|
|
|
this.output.debug(this.filter_to_obj(req.filter.json))
|
|
|
|
|
for ( const user of users ) {
|
|
|
|
|
this.output.debug(`Checking ${user.uid}...`)
|
|
|
|
|
this.output.debug(`DN: ${user.dn}`)
|
|
|
|
|