From c62d4bee5f281007ff406353cd296b2801856a94 Mon Sep 17 00:00:00 2001 From: Lev <1187448+levb@users.noreply.github.com> Date: Tue, 5 Jul 2022 16:51:22 -0700 Subject: [PATCH] Moved UserHasJoinedTeam callback to after the processing (#20410) Co-authored-by: Mattermod --- app/team.go | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/team.go b/app/team.go index b989ee7ee1..0ad5fa2b88 100644 --- a/app/team.go +++ b/app/team.go @@ -785,21 +785,6 @@ func (a *App) JoinUserToTeam(c *request.Context, team *model.Team, user *model.U return teamMember, nil } - if pluginsEnvironment := a.GetPluginsEnvironment(); pluginsEnvironment != nil { - var actor *model.User - if userRequestorId != "" { - actor, _ = a.GetUser(userRequestorId) - } - - a.Srv().Go(func() { - pluginContext := pluginContext(c) - pluginsEnvironment.RunMultiPluginHook(func(hooks plugin.Hooks) bool { - hooks.UserHasJoinedTeam(pluginContext, teamMember, actor) - return true - }, plugin.UserHasJoinedTeamID) - }) - } - if _, err := a.Srv().Store.User().UpdateUpdateAt(user.Id); err != nil { return nil, model.NewAppError("JoinUserToTeam", "app.user.update_update.app_error", nil, err.Error(), http.StatusInternalServerError) } @@ -835,6 +820,21 @@ func (a *App) JoinUserToTeam(c *request.Context, team *model.Team, user *model.U a.InvalidateCacheForUser(user.Id) a.invalidateCacheForUserTeams(user.Id) + if pluginsEnvironment := a.GetPluginsEnvironment(); pluginsEnvironment != nil { + var actor *model.User + if userRequestorId != "" { + actor, _ = a.GetUser(userRequestorId) + } + + a.Srv().Go(func() { + pluginContext := pluginContext(c) + pluginsEnvironment.RunMultiPluginHook(func(hooks plugin.Hooks) bool { + hooks.UserHasJoinedTeam(pluginContext, teamMember, actor) + return true + }, plugin.UserHasJoinedTeamID) + }) + } + message := model.NewWebSocketEvent(model.WebsocketEventAddedToTeam, "", "", user.Id, nil) message.Add("team_id", team.Id) message.Add("user_id", user.Id)