github.com/dschalla/mattermost-server@v4.8.1-rc1+incompatible/einterfaces/ldap.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package einterfaces 5 6 import ( 7 "github.com/go-ldap/ldap" 8 9 "github.com/mattermost/mattermost-server/model" 10 ) 11 12 type LdapInterface interface { 13 DoLogin(id string, password string) (*model.User, *model.AppError) 14 GetUser(id string) (*model.User, *model.AppError) 15 GetUserAttributes(id string, attributes []string) (map[string]string, *model.AppError) 16 CheckPassword(id string, password string) *model.AppError 17 SwitchToLdap(userId, ldapId, ldapPassword string) *model.AppError 18 ValidateFilter(filter string) *model.AppError 19 StartSynchronizeJob(waitForJobToFinish bool) (*model.Job, *model.AppError) 20 RunTest() *model.AppError 21 GetAllLdapUsers() ([]*model.User, *model.AppError) 22 UserFromLdapUser(ldapUser *ldap.Entry) *model.User 23 UserHasUpdateFromLdap(existingUser *model.User, currentLdapUser *model.User) bool 24 UpdateLocalLdapUser(existingUser *model.User, currentLdapUser *model.User) *model.User 25 }