1 | 'use strict'
|
2 |
|
3 | const ldap = require('ldapjs')
|
4 | const ldapChanges = require('./changes')
|
5 | const _resetPassword = require('./resetPassword')
|
6 | const _changePassword = require('./changePassword')
|
7 | const _authenticate = require ('./authenticate')
|
8 | const _getUser = require ('./getUser')
|
9 | const _adminGetUser = require ('./adminGetUser')
|
10 | const _listUsers = require ('./listUsers')
|
11 | const _createUser = require ('./createUser')
|
12 | const _disableUser = require ('./disableUser')
|
13 | const _enableUser = require ('./enableUser')
|
14 |
|
15 | module.exports = class ldapClient {
|
16 | constructor (url, baseDn) {
|
17 |
|
18 | this.url = url
|
19 | this.baseDn = baseDn
|
20 |
|
21 | }
|
22 |
|
23 | getClient () {
|
24 |
|
25 | const url = this.url
|
26 | const client = ldap.createClient({ url, reconnect: true })
|
27 | client.on('error', (err) => {
|
28 | console.warn('LDAP connection terminated on far-end, but it should reconnect.', err);
|
29 | })
|
30 | return client
|
31 | }
|
32 |
|
33 | resetPassword (params) {
|
34 | return _resetPassword.call(this, params)
|
35 | }
|
36 |
|
37 | changePassword (params) {
|
38 | return _changePassword.call(this, params)
|
39 | }
|
40 |
|
41 | authenticate (params) {
|
42 | return _authenticate.call(this, params)
|
43 | }
|
44 |
|
45 | getUser (params) {
|
46 | return _getUser.call(this, params)
|
47 | }
|
48 |
|
49 | adminGetUser (params) {
|
50 | return _adminGetUser.call(this, params)
|
51 | }
|
52 |
|
53 | listUsers (params) {
|
54 | return _listUsers.call(this, params)
|
55 | }
|
56 |
|
57 | createUser (params) {
|
58 | return _createUser.call(this, params)
|
59 | }
|
60 |
|
61 | enableUser (params) {
|
62 | return _enableUser.call(this, params)
|
63 | }
|
64 |
|
65 | disableUser (params) {
|
66 | return _disableUser.call(this, params)
|
67 | }
|
68 | }
|