Some refactoring

This commit is contained in:
Christopher Speller
2015-12-08 13:38:43 -05:00
parent 4f881046bf
commit 58358ddd7c
114 changed files with 6761 additions and 170 deletions

22
einterfaces/ldap.go Normal file
View File

@@ -0,0 +1,22 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package einterfaces
import (
"github.com/mattermost/platform/model"
)
type LdapInterface interface {
DoLogin(team *model.Team, id string, password string) (*model.User, *model.AppError)
}
var theLdapInterface LdapInterface
func RegisterLdapInterface(newInterface LdapInterface) {
theLdapInterface = newInterface
}
func GetLdapInterface() LdapInterface {
return theLdapInterface
}

View File

@@ -0,0 +1,29 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package einterfaces
import (
"github.com/mattermost/platform/model"
"io"
)
type OauthProvider interface {
GetIdentifier() string
GetUserFromJson(data io.Reader) *model.User
GetAuthDataFromJson(data io.Reader) string
}
var oauthProviders = make(map[string]OauthProvider)
func RegisterOauthProvider(name string, newProvider OauthProvider) {
oauthProviders[name] = newProvider
}
func GetOauthProvider(name string) OauthProvider {
provider, ok := oauthProviders[name]
if ok {
return provider
}
return nil
}