MM-8662: Added force flag to uploadPlugin http API (#9969)

MM-8662: Added `force` flag to uploadPlugin http API
Этот коммит содержится в:
Lev
2018-12-12 10:13:24 -08:00
коммит произвёл GitHub
родитель aff3156c56
Коммит 0541e765ad
3 изменённых файлов: 28 добавлений и 7 удалений

Просмотреть файл

@@ -3783,9 +3783,24 @@ func (c *Client4) GetChannelsForScheme(schemeId string, page int, perPage int) (
// UploadPlugin takes an io.Reader stream pointing to the contents of a .tar.gz plugin.
// WARNING: PLUGINS ARE STILL EXPERIMENTAL. THIS FUNCTION IS SUBJECT TO CHANGE.
func (c *Client4) UploadPlugin(file io.Reader) (*Manifest, *Response) {
return c.uploadPlugin(file, false)
}
func (c *Client4) UploadPluginForced(file io.Reader) (*Manifest, *Response) {
return c.uploadPlugin(file, true)
}
func (c *Client4) uploadPlugin(file io.Reader, force bool) (*Manifest, *Response) {
body := new(bytes.Buffer)
writer := multipart.NewWriter(body)
if force {
err := writer.WriteField("force", "true")
if err != nil {
return nil, &Response{Error: NewAppError("UploadPlugin", "model.client.writer.app_error", nil, err.Error(), 0)}
}
}
part, err := writer.CreateFormFile("plugin", "plugin.tar.gz")
if err != nil {
return nil, &Response{Error: NewAppError("UploadPlugin", "model.client.writer.app_error", nil, err.Error(), 0)}