MM-9934: More robust slack imports parsing (#8576)

Этот коммит содержится в:
Jesús Espino
2018-04-04 17:21:31 +02:00
коммит произвёл Christopher Speller
родитель 654042a245
Коммит 846ccac6e5

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

@@ -30,10 +30,16 @@ type SlackChannel struct {
Purpose map[string]string `json:"purpose"` Purpose map[string]string `json:"purpose"`
} }
type SlackProfile struct {
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email string `json:"email"`
}
type SlackUser struct { type SlackUser struct {
Id string `json:"id"` Id string `json:"id"`
Username string `json:"name"` Username string `json:"name"`
Profile map[string]string `json:"profile"` Profile SlackProfile `json:"profile"`
} }
type SlackFile struct { type SlackFile struct {
@@ -144,16 +150,9 @@ func (a *App) SlackAddUsers(teamId string, slackusers []SlackUser, log *bytes.Bu
} }
for _, sUser := range slackusers { for _, sUser := range slackusers {
firstName := "" firstName := sUser.Profile.FirstName
lastName := "" lastName := sUser.Profile.LastName
if name, ok := sUser.Profile["first_name"]; ok { email := sUser.Profile.Email
firstName = name
}
if name, ok := sUser.Profile["last_name"]; ok {
lastName = name
}
email := sUser.Profile["email"]
if email == "" { if email == "" {
email = sUser.Username + "@example.com" email = sUser.Username + "@example.com"
log.WriteString(utils.T("api.slackimport.slack_add_users.missing_email_address", map[string]interface{}{"Email": email, "Username": sUser.Username})) log.WriteString(utils.T("api.slackimport.slack_add_users.missing_email_address", map[string]interface{}{"Email": email, "Username": sUser.Username}))