Merge branch 'master' of github.com:mattermost/mattermost-server into top-dms-clean

Этот коммит содержится в:
Shivashis Padhi
2022-08-12 17:00:55 +05:30
родитель e5c1b17d77 1ef24221e3
Коммит 582812f1fc
28 изменённых файлов: 761 добавлений и 60 удалений

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

@@ -35,6 +35,7 @@ type teamMember struct {
SchemeUser sql.NullBool
SchemeAdmin sql.NullBool
SchemeGuest sql.NullBool
CreateAt int64
}
func NewTeamMemberFromModel(tm *model.TeamMember) *teamMember {
@@ -46,6 +47,7 @@ func NewTeamMemberFromModel(tm *model.TeamMember) *teamMember {
SchemeGuest: sql.NullBool{Valid: true, Bool: tm.SchemeGuest},
SchemeUser: sql.NullBool{Valid: true, Bool: tm.SchemeUser},
SchemeAdmin: sql.NullBool{Valid: true, Bool: tm.SchemeAdmin},
CreateAt: tm.CreateAt,
}
}
@@ -60,12 +62,13 @@ type teamMemberWithSchemeRoles struct {
TeamSchemeDefaultGuestRole sql.NullString
TeamSchemeDefaultUserRole sql.NullString
TeamSchemeDefaultAdminRole sql.NullString
CreateAt int64
}
type teamMemberWithSchemeRolesList []teamMemberWithSchemeRoles
func teamMemberSliceColumns() []string {
return []string{"TeamId", "UserId", "Roles", "DeleteAt", "SchemeUser", "SchemeAdmin", "SchemeGuest"}
return []string{"TeamId", "UserId", "Roles", "DeleteAt", "SchemeUser", "SchemeAdmin", "SchemeGuest", "CreateAt"}
}
func teamMemberToSlice(member *model.TeamMember) []any {
@@ -77,6 +80,7 @@ func teamMemberToSlice(member *model.TeamMember) []any {
resultSlice = append(resultSlice, member.SchemeUser)
resultSlice = append(resultSlice, member.SchemeAdmin)
resultSlice = append(resultSlice, member.SchemeGuest)
resultSlice = append(resultSlice, member.CreateAt)
return resultSlice
}
@@ -187,6 +191,7 @@ func (db teamMemberWithSchemeRoles) ToModel() *model.TeamMember {
SchemeUser: rolesResult.schemeUser,
SchemeAdmin: rolesResult.schemeAdmin,
ExplicitRoles: strings.Join(rolesResult.explicitRoles, " "),
CreateAt: db.CreateAt,
}
return tm
}
@@ -1646,3 +1651,41 @@ func (s SqlTeamStore) GroupSyncedTeamCount() (int64, error) {
return count, nil
}
func (s SqlTeamStore) GetNewTeamMembersSince(teamID string, since int64, offset int, limit int) (*model.NewTeamMembersList, int64, error) {
builderF := func(selectClause string) sq.SelectBuilder {
return s.getQueryBuilder().
Select(selectClause).
From("TeamMembers").
Join("Users ON Users.id = TeamMembers.userid").
LeftJoin("Bots ON Bots.userid = Users.id").
Where(sq.GtOrEq{"TeamMembers.createat": since}).
Where(sq.Eq{"TeamMembers.deleteat": 0, "teamid": teamID, "Users.deleteat": 0, "Bots.userid": nil})
}
countBuilder := builderF("count(*)")
query, args, err := countBuilder.ToSql()
if err != nil {
return nil, 0, errors.Wrap(err, "team_tosql")
}
var totalCount int64
err = s.GetReplicaX().Get(&totalCount, query, args...)
if err != nil {
return nil, 0, errors.Wrap(err, "failed to count team members since")
}
newTeamMembersBuilder := builderF("Users.Id, Users.Username, Users.FirstName, Users.LastName, Users.Position, TeamMembers.CreateAt, Users.Nickname").
Limit(uint64(limit + 1)).
Offset(uint64(offset))
query, args, err = newTeamMembersBuilder.ToSql()
if err != nil {
return nil, 0, errors.Wrap(err, "team_tosql")
}
var ntms []*model.NewTeamMember
err = s.GetReplicaX().Select(&ntms, query, args...)
if err != nil {
return nil, 0, errors.Wrap(err, "failed to get team members since")
}
return model.GetNewTeamMembersListWithPagination(ntms, limit), totalCount, nil
}

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

@@ -1765,7 +1765,7 @@ func (us SqlUserStore) GetUsersBatchForIndexing(startTime int64, startFileID str
teamMembers := []*model.TeamMember{}
teamMembersQuery, args, _ := us.getQueryBuilder().
Select("TeamId, UserId, Roles, DeleteAt, (SchemeGuest IS NOT NULL AND SchemeGuest) as SchemeGuest, SchemeUser, SchemeAdmin").
Select("TeamId, UserId, Roles, DeleteAt, CreateAt, (SchemeGuest IS NOT NULL AND SchemeGuest) as SchemeGuest, SchemeUser, SchemeAdmin").
From("TeamMembers").
Where(sq.Eq{"UserId": userIds, "DeleteAt": 0}).
ToSql()