github.com/mattermost/mattermost-server/server/v8@v8.0.0-20230610055354-a6d1d38b273d/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/mattermost/mattermost-server/server/public/model" 8 "github.com/mattermost/mattermost-server/server/v8/channels/app/request" 9 ) 10 11 type LdapInterface interface { 12 DoLogin(c *request.Context, id string, password string) (*model.User, *model.AppError) 13 GetUser(id string) (*model.User, *model.AppError) 14 GetUserAttributes(id string, attributes []string) (map[string]string, *model.AppError) 15 CheckPassword(id string, password string) *model.AppError 16 CheckPasswordAuthData(authData string, password string) *model.AppError 17 CheckProviderAttributes(LS *model.LdapSettings, ouser *model.User, patch *model.UserPatch) string 18 SwitchToLdap(userID, ldapID, ldapPassword string) *model.AppError 19 StartSynchronizeJob(waitForJobToFinish bool, includeRemovedMembers bool) (*model.Job, *model.AppError) 20 RunTest() *model.AppError 21 GetAllLdapUsers() ([]*model.User, *model.AppError) 22 MigrateIDAttribute(toAttribute string) error 23 GetGroup(groupUID string) (*model.Group, *model.AppError) 24 GetAllGroupsPage(page int, perPage int, opts model.LdapGroupSearchOpts) ([]*model.Group, int, *model.AppError) 25 FirstLoginSync(c *request.Context, user *model.User, userAuthService, userAuthData, email string) *model.AppError 26 UpdateProfilePictureIfNecessary(request.CTX, model.User, model.Session) 27 GetADLdapIdFromSAMLId(authData string) string 28 GetSAMLIdFromADLdapId(authData string) string 29 GetVendorNameAndVendorVersion() (string, string) 30 }