github.com/mattermost/mattermost-server/v5@v5.39.3/services/slackimport/parsers.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package slackimport 5 6 import ( 7 "encoding/json" 8 "io" 9 10 "github.com/mattermost/mattermost-server/v5/shared/mlog" 11 ) 12 13 func slackParseChannels(data io.Reader, channelType string) ([]slackChannel, error) { 14 decoder := json.NewDecoder(data) 15 16 var channels []slackChannel 17 if err := decoder.Decode(&channels); err != nil { 18 mlog.Warn("Slack Import: Error occurred when parsing some Slack channels. Import may work anyway.") 19 return channels, err 20 } 21 22 for i := range channels { 23 channels[i].Type = channelType 24 } 25 26 return channels, nil 27 } 28 29 func slackParseUsers(data io.Reader) ([]slackUser, error) { 30 decoder := json.NewDecoder(data) 31 32 var users []slackUser 33 err := decoder.Decode(&users) 34 // This actually returns errors that are ignored. 35 // In this case it is erroring because of a null that Slack 36 // introduced. So we just return the users here. 37 return users, err 38 } 39 40 func slackParsePosts(data io.Reader) ([]slackPost, error) { 41 decoder := json.NewDecoder(data) 42 43 var posts []slackPost 44 if err := decoder.Decode(&posts); err != nil { 45 mlog.Warn("Slack Import: Error occurred when parsing some Slack posts. Import may work anyway.") 46 return posts, err 47 } 48 return posts, nil 49 }