Moved UserHasJoinedTeam callback to after the processing (#20410)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
30
app/team.go
30
app/team.go
@@ -785,21 +785,6 @@ func (a *App) JoinUserToTeam(c *request.Context, team *model.Team, user *model.U
|
|||||||
return teamMember, nil
|
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 {
|
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)
|
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.InvalidateCacheForUser(user.Id)
|
||||||
a.invalidateCacheForUserTeams(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 := model.NewWebSocketEvent(model.WebsocketEventAddedToTeam, "", "", user.Id, nil)
|
||||||
message.Add("team_id", team.Id)
|
message.Add("team_id", team.Id)
|
||||||
message.Add("user_id", user.Id)
|
message.Add("user_id", user.Id)
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user