Add optional config parameter to test elasticsearch endpoint. (#6877)
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
db2f6cf076
Коммит
39b071bc0e
@@ -19,12 +19,17 @@ func InitElasticsearch() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testElasticsearch(c *Context, w http.ResponseWriter, r *http.Request) {
|
func testElasticsearch(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||||
|
cfg := model.ConfigFromJson(r.Body)
|
||||||
|
if cfg == nil {
|
||||||
|
cfg = utils.Cfg
|
||||||
|
}
|
||||||
|
|
||||||
if !app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
|
if !app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
|
||||||
c.SetPermissionError(model.PERMISSION_MANAGE_SYSTEM)
|
c.SetPermissionError(model.PERMISSION_MANAGE_SYSTEM)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := app.TestElasticsearch(); err != nil {
|
if err := app.TestElasticsearch(cfg); err != nil {
|
||||||
c.Err = err
|
c.Err = err
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,20 @@ import (
|
|||||||
|
|
||||||
"github.com/mattermost/platform/model"
|
"github.com/mattermost/platform/model"
|
||||||
"github.com/mattermost/platform/einterfaces"
|
"github.com/mattermost/platform/einterfaces"
|
||||||
|
"github.com/mattermost/platform/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestElasticsearch() *model.AppError {
|
func TestElasticsearch(cfg *model.Config) *model.AppError {
|
||||||
|
if *cfg.ElasticSearchSettings.Password == model.FAKE_SETTING {
|
||||||
|
if *cfg.ElasticSearchSettings.ConnectionUrl == *utils.Cfg.ElasticSearchSettings.ConnectionUrl && *cfg.ElasticSearchSettings.Username == *utils.Cfg.ElasticSearchSettings.Username {
|
||||||
|
*cfg.ElasticSearchSettings.Password = *utils.Cfg.ElasticSearchSettings.Password
|
||||||
|
} else {
|
||||||
|
return model.NewAppError("TestElasticsearch", "ent.elasticsearch.test_config.reenter_password", nil, "", http.StatusBadRequest)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if esI := einterfaces.GetElasticsearchInterface(); esI != nil {
|
if esI := einterfaces.GetElasticsearchInterface(); esI != nil {
|
||||||
if err := esI.TestConfig(); err != nil {
|
if err := esI.TestConfig(cfg); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ type ElasticsearchInterface interface {
|
|||||||
IndexPost(post *model.Post, teamId string) *model.AppError
|
IndexPost(post *model.Post, teamId string) *model.AppError
|
||||||
SearchPosts(channels *model.ChannelList, searchParams []*model.SearchParams) ([]string, *model.AppError)
|
SearchPosts(channels *model.ChannelList, searchParams []*model.SearchParams) ([]string, *model.AppError)
|
||||||
DeletePost(postId string) *model.AppError
|
DeletePost(postId string) *model.AppError
|
||||||
TestConfig() *model.AppError
|
TestConfig(cfg *model.Config) *model.AppError
|
||||||
}
|
}
|
||||||
|
|
||||||
var theElasticsearchInterface ElasticsearchInterface
|
var theElasticsearchInterface ElasticsearchInterface
|
||||||
|
|||||||
@@ -3547,6 +3547,10 @@
|
|||||||
"id": "ent.elasticsearch.test_config.license.error",
|
"id": "ent.elasticsearch.test_config.license.error",
|
||||||
"translation": "License does not support Elasticsearch."
|
"translation": "License does not support Elasticsearch."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "ent.elasticsearch.test_config.reenter_password",
|
||||||
|
"translation": "The Elasticsearch Server URL or Username has changed. Please re-enter the Elasticsearch password to test connection."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "ent.emoji.licence_disable.app_error",
|
"id": "ent.emoji.licence_disable.app_error",
|
||||||
"translation": "Custom emoji restrictions disabled by current license. Please contact your system administrator about upgrading your enterprise license."
|
"translation": "Custom emoji restrictions disabled by current license. Please contact your system administrator about upgrading your enterprise license."
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user