summaryrefslogtreecommitdiffstats
path: root/einterfaces
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2017-09-25 13:30:33 -0700
committerGitHub <noreply@github.com>2017-09-25 13:30:33 -0700
commit81c18a01bd22437457da04b6cdb8d409beb54446 (patch)
tree1c1a28dc72fe8685259870e53643de9f558dad79 /einterfaces
parent1bf2a2e8d5a552d23e16379e73c2d4aaefc9368f (diff)
downloadchat-81c18a01bd22437457da04b6cdb8d409beb54446.tar.gz
chat-81c18a01bd22437457da04b6cdb8d409beb54446.tar.bz2
chat-81c18a01bd22437457da04b6cdb8d409beb54446.zip
PLT-7542 Converting LDAP sync to the job server (#7452)
* PLT-7542 Converting LDAP sync to the job server * Fixing minor issues * Fixing build failure * Translate error message * Translate error message * Translate error message * Translate error message * Fixing merge * Fixing bad merge
Diffstat (limited to 'einterfaces')
-rw-r--r--einterfaces/jobs/ldap_sync.go23
-rw-r--r--einterfaces/ldap.go9
2 files changed, 29 insertions, 3 deletions
diff --git a/einterfaces/jobs/ldap_sync.go b/einterfaces/jobs/ldap_sync.go
new file mode 100644
index 000000000..97055bfcc
--- /dev/null
+++ b/einterfaces/jobs/ldap_sync.go
@@ -0,0 +1,23 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package jobs
+
+import (
+ "github.com/mattermost/mattermost-server/model"
+)
+
+type LdapSyncInterface interface {
+ MakeWorker() model.Worker
+ MakeScheduler() model.Scheduler
+}
+
+var theLdapSyncInterface LdapSyncInterface
+
+func RegisterLdapSyncInterface(newInterface LdapSyncInterface) {
+ theLdapSyncInterface = newInterface
+}
+
+func GetLdapSyncInterface() LdapSyncInterface {
+ return theLdapSyncInterface
+}
diff --git a/einterfaces/ldap.go b/einterfaces/ldap.go
index a69f9cbe1..1505a41ce 100644
--- a/einterfaces/ldap.go
+++ b/einterfaces/ldap.go
@@ -4,6 +4,8 @@
package einterfaces
import (
+ "github.com/go-ldap/ldap"
+
"github.com/mattermost/mattermost-server/model"
)
@@ -14,9 +16,10 @@ type LdapInterface interface {
CheckPassword(id string, password string) *model.AppError
SwitchToLdap(userId, ldapId, ldapPassword string) *model.AppError
ValidateFilter(filter string) *model.AppError
- Syncronize() *model.AppError
- StartLdapSyncJob()
- SyncNow()
+ StartSynchronizeJob(waitForJobToFinish bool) (*model.Job, *model.AppError)
RunTest() *model.AppError
GetAllLdapUsers() ([]*model.User, *model.AppError)
+ UserFromLdapUser(ldapUser *ldap.Entry) *model.User
+ UserHasUpdateFromLdap(existingUser *model.User, currentLdapUser *model.User) bool
+ UpdateLdapUser(existingUser *model.User, currentLdapUser *model.User) *model.User
}