More app code migration (#5170)
* Migrate admin functions into app package * More user function refactoring * Move post functions into app package
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
8ed665cb76
Коммит
d245b29f82
67
app/saml.go
Обычный файл
67
app/saml.go
Обычный файл
@@ -0,0 +1,67 @@
|
||||
// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package app
|
||||
|
||||
import (
|
||||
"io"
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"github.com/mattermost/platform/einterfaces"
|
||||
"github.com/mattermost/platform/model"
|
||||
"github.com/mattermost/platform/utils"
|
||||
)
|
||||
|
||||
func GetSamlMetadata() (string, *model.AppError) {
|
||||
samlInterface := einterfaces.GetSamlInterface()
|
||||
|
||||
if samlInterface == nil {
|
||||
err := model.NewLocAppError("GetSamlMetadata", "api.admin.saml.not_available.app_error", nil, "")
|
||||
err.StatusCode = http.StatusNotImplemented
|
||||
return "", err
|
||||
}
|
||||
|
||||
if result, err := samlInterface.GetMetadata(); err != nil {
|
||||
return "", model.NewLocAppError("GetSamlMetadata", "api.admin.saml.metadata.app_error", nil, "err="+err.Message)
|
||||
} else {
|
||||
return result, nil
|
||||
}
|
||||
}
|
||||
|
||||
func AddSamlCertificate(fileData *multipart.FileHeader) *model.AppError {
|
||||
file, err := fileData.Open()
|
||||
defer file.Close()
|
||||
if err != nil {
|
||||
return model.NewLocAppError("AddSamlCertificate", "api.admin.add_certificate.open.app_error", nil, err.Error())
|
||||
}
|
||||
|
||||
out, err := os.Create(utils.FindDir("config") + fileData.Filename)
|
||||
if err != nil {
|
||||
return model.NewLocAppError("AddSamlCertificate", "api.admin.add_certificate.saving.app_error", nil, err.Error())
|
||||
}
|
||||
defer out.Close()
|
||||
|
||||
io.Copy(out, file)
|
||||
return nil
|
||||
}
|
||||
|
||||
func RemoveSamlCertificate(filename string) *model.AppError {
|
||||
if err := os.Remove(utils.FindConfigFile(filename)); err != nil {
|
||||
return model.NewLocAppError("removeCertificate", "api.admin.remove_certificate.delete.app_error",
|
||||
map[string]interface{}{"Filename": filename}, err.Error())
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetSamlCertificateStatus() map[string]interface{} {
|
||||
status := make(map[string]interface{})
|
||||
|
||||
status["IdpCertificateFile"] = utils.FileExistsInConfigFolder(*utils.Cfg.SamlSettings.IdpCertificateFile)
|
||||
status["PrivateKeyFile"] = utils.FileExistsInConfigFolder(*utils.Cfg.SamlSettings.PrivateKeyFile)
|
||||
status["PublicCertificateFile"] = utils.FileExistsInConfigFolder(*utils.Cfg.SamlSettings.PublicCertificateFile)
|
||||
|
||||
return status
|
||||
}
|
||||
Ссылка в новой задаче
Block a user