From 81c18a01bd22437457da04b6cdb8d409beb54446 Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Mon, 25 Sep 2017 13:30:33 -0700 Subject: 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 --- einterfaces/jobs/ldap_sync.go | 23 +++++++++++++++++++++++ einterfaces/ldap.go | 9 ++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 einterfaces/jobs/ldap_sync.go (limited to 'einterfaces') 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 } -- cgit v1.2.3-1-g7c22