// Copyright (c) 2024 Mattermost Community Enterprise // Registration of LDAP implementation package ldap import ( "github.com/mattermost/mattermost/server/public/model" "github.com/mattermost/mattermost/server/public/shared/mlog" "github.com/mattermost/mattermost/server/v8/einterfaces" ) // LdapFactory is a function type that creates an LdapInterface type LdapFactory func(config func() *model.Config, logger mlog.LoggerIFace) einterfaces.LdapInterface // LdapDiagnosticFactory is a function type that creates an LdapDiagnosticInterface type LdapDiagnosticFactory func(config func() *model.Config, logger mlog.LoggerIFace) einterfaces.LdapDiagnosticInterface // NewLdapFactory returns a factory function for creating Ldap interfaces func NewLdapFactory() LdapFactory { return func(config func() *model.Config, logger mlog.LoggerIFace) einterfaces.LdapInterface { return NewLdapInterface(config, logger) } } // NewLdapDiagnosticFactory returns a factory function for creating LdapDiagnostic interfaces func NewLdapDiagnosticFactory() LdapDiagnosticFactory { return func(config func() *model.Config, logger mlog.LoggerIFace) einterfaces.LdapDiagnosticInterface { return NewLdapDiagnosticInterface(config, logger) } } // CreateLdapInterface creates a new Ldap interface directly func CreateLdapInterface(config func() *model.Config, logger mlog.LoggerIFace) einterfaces.LdapInterface { return NewLdapInterface(config, logger) } // CreateLdapDiagnosticInterface creates a new LdapDiagnostic interface directly func CreateLdapDiagnosticInterface(config func() *model.Config, logger mlog.LoggerIFace) einterfaces.LdapDiagnosticInterface { return NewLdapDiagnosticInterface(config, logger) }