mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
64 lines
1.6 KiB
Go
64 lines
1.6 KiB
Go
|
|
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
||
|
|
// See License.txt for license information.
|
||
|
|
|
||
|
|
package app
|
||
|
|
|
||
|
|
import (
|
||
|
|
"github.com/mattermost/mattermost-server/mlog"
|
||
|
|
)
|
||
|
|
|
||
|
|
// PopulateSyncablesSince adds users to teams and channels based on their group memberships and how those groups are
|
||
|
|
// configured to sync with teams and channels for group members on or after the given timestamp.
|
||
|
|
func (a *App) PopulateSyncablesSince(groupMembersCreatedAfter int64) error {
|
||
|
|
userTeamIDs, appErr := a.PendingAutoAddTeamMembers(groupMembersCreatedAfter)
|
||
|
|
if appErr != nil {
|
||
|
|
return appErr
|
||
|
|
}
|
||
|
|
|
||
|
|
for _, userTeam := range userTeamIDs {
|
||
|
|
_, err := a.AddTeamMember(userTeam.TeamID, userTeam.UserID)
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
|
||
|
|
a.Log.Info("added teammember",
|
||
|
|
mlog.String("user_id", userTeam.UserID),
|
||
|
|
mlog.String("team_id", userTeam.TeamID),
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
userChannelIDs, appErr := a.PendingAutoAddChannelMembers(groupMembersCreatedAfter)
|
||
|
|
if appErr != nil {
|
||
|
|
return appErr
|
||
|
|
}
|
||
|
|
|
||
|
|
for _, userChannel := range userChannelIDs {
|
||
|
|
channel, err := a.GetChannel(userChannel.ChannelID)
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
|
||
|
|
// First add user to team
|
||
|
|
_, err = a.AddTeamMember(channel.TeamId, userChannel.UserID)
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
a.Log.Info("added teammember",
|
||
|
|
mlog.String("user_id", userChannel.UserID),
|
||
|
|
mlog.String("team_id", channel.TeamId),
|
||
|
|
)
|
||
|
|
|
||
|
|
_, err = a.AddChannelMember(userChannel.UserID, channel, "", "", false)
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
|
||
|
|
a.Log.Info("added channelmember",
|
||
|
|
mlog.String("user_id", userChannel.UserID),
|
||
|
|
mlog.String("channel_id", userChannel.ChannelID),
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
return nil
|
||
|
|
}
|