PLT-5407: Bulk importing of User memberships. (#5273)

Этот коммит содержится в:
George Goldberg
2017-02-02 15:03:41 +00:00
коммит произвёл Harrison Healey
родитель e9d6287dc8
Коммит 28e445c6e0
5 изменённых файлов: 581 добавлений и 14 удалений

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

@@ -231,7 +231,7 @@ func AddUserToTeamByInviteId(inviteId string, userId string) (*model.Team, *mode
return team, nil
}
func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError {
func joinUserToTeam(team *model.Team, user *model.User) (bool, *model.AppError) {
tm := &model.TeamMember{
TeamId: team.Id,
@@ -239,11 +239,8 @@ func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError {
Roles: model.ROLE_TEAM_USER.Id,
}
channelRole := model.ROLE_CHANNEL_USER.Id
if team.Email == user.Email {
tm.Roles = model.ROLE_TEAM_USER.Id + " " + model.ROLE_TEAM_ADMIN.Id
channelRole = model.ROLE_CHANNEL_USER.Id + " " + model.ROLE_CHANNEL_ADMIN.Id
}
if etmr := <-Srv.Store.Team().GetMember(team.Id, user.Id); etmr.Err == nil {
@@ -252,21 +249,38 @@ func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError {
// Do nothing if already added
if rtm.DeleteAt == 0 {
return nil
return true, nil
}
if tmr := <-Srv.Store.Team().UpdateMember(tm); tmr.Err != nil {
return tmr.Err
return false, tmr.Err
}
} else {
// Membership appears to be missing. Lets try to add.
if tmr := <-Srv.Store.Team().SaveMember(tm); tmr.Err != nil {
return tmr.Err
return false, tmr.Err
}
}
if uua := <-Srv.Store.User().UpdateUpdateAt(user.Id); uua.Err != nil {
return uua.Err
return false, uua.Err
}
return false, nil
}
func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError {
if alreadyAdded, err := joinUserToTeam(team, user); err != nil {
return err
} else if alreadyAdded {
return nil
}
channelRole := model.ROLE_CHANNEL_USER.Id
if team.Email == user.Email {
channelRole = model.ROLE_CHANNEL_USER.Id + " " + model.ROLE_CHANNEL_ADMIN.Id
}
// Soft error if there is an issue joining the default channels