mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Normalize plugin path when s3 prefix is present (#15910)
* Normalize plugin path when s3 prefix is present * Ensure S3 is enabled and fix unit tests Co-authored-by: Joram Wilander <jwawilander@gmail.com>
This commit is contained in:
parent
d8986840ac
commit
0af0a4eff4
@ -756,12 +756,22 @@ func (a *App) getPluginsFromFolder() (map[string]*pluginSignaturePath, *model.Ap
|
||||
return nil, model.NewAppError("getPluginsFromDir", "app.plugin.sync.list_filestore.app_error", nil, appErr.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return getPluginsFromFilePaths(fileStorePaths), nil
|
||||
return a.getPluginsFromFilePaths(fileStorePaths), nil
|
||||
}
|
||||
|
||||
func getPluginsFromFilePaths(fileStorePaths []string) map[string]*pluginSignaturePath {
|
||||
func (a *App) getPluginsFromFilePaths(fileStorePaths []string) map[string]*pluginSignaturePath {
|
||||
pluginSignaturePathMap := make(map[string]*pluginSignaturePath)
|
||||
|
||||
fsPrefix := ""
|
||||
if *a.Config().FileSettings.DriverName == model.IMAGE_DRIVER_S3 {
|
||||
ptr := a.Config().FileSettings.AmazonS3PathPrefix
|
||||
if ptr != nil && *ptr != "" {
|
||||
fsPrefix = *ptr + "/"
|
||||
}
|
||||
}
|
||||
|
||||
for _, path := range fileStorePaths {
|
||||
path = strings.TrimPrefix(path, fsPrefix)
|
||||
if strings.HasSuffix(path, ".tar.gz") {
|
||||
id := strings.TrimSuffix(filepath.Base(path), ".tar.gz")
|
||||
helper := &pluginSignaturePath{
|
||||
@ -773,6 +783,7 @@ func getPluginsFromFilePaths(fileStorePaths []string) map[string]*pluginSignatur
|
||||
}
|
||||
}
|
||||
for _, path := range fileStorePaths {
|
||||
path = strings.TrimPrefix(path, fsPrefix)
|
||||
if strings.HasSuffix(path, ".tar.gz.sig") {
|
||||
id := strings.TrimSuffix(filepath.Base(path), ".tar.gz.sig")
|
||||
if val, ok := pluginSignaturePathMap[id]; !ok {
|
||||
@ -802,7 +813,7 @@ func (a *App) processPrepackagedPlugins(pluginsDir string) []*plugin.Prepackaged
|
||||
return nil
|
||||
}
|
||||
|
||||
pluginSignaturePathMap := getPluginsFromFilePaths(fileStorePaths)
|
||||
pluginSignaturePathMap := a.getPluginsFromFilePaths(fileStorePaths)
|
||||
plugins := make([]*plugin.PrepackagedPlugin, 0, len(pluginSignaturePathMap))
|
||||
prepackagedPlugins := make(chan *plugin.PrepackagedPlugin, len(pluginSignaturePathMap))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user