mattermost/server/public/model/user_count.go
Jesús Espino 5f7482e541
Remove remote users from the license counting and explicitly dissallow them to log in (#22582)
* Making all the counts aware of Remote users

* Disable login for remote users

* Adding tests for login remote_users error

* Adding tests for the store

* Adding frontend part of not counting remote users in the license

* Addressing PR review comment

* Adding the new ExternaUserId field to users

* Running make migrations-extract

* Running make app-layers and make gen-serialized

* Revert "Adding the new ExternaUserId field to users"

This reverts commit 12e5fd5189.

* Adding GetUserByRemoteID methods

* Adding needed migration for users

* i18n-extract

* Fixing postgres increase remote user id field size migration up and down

* run make gen-serialized

* Removing migration code

* Not count remote users as part of the cloud pricing

* Add the cloud subscription when a user gets promote from remote to not-remote

* Fixing merge problems

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-08-14 17:54:10 +02:00

28 lines
987 B
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package model
// Options for counting users
type UserCountOptions struct {
// Should include users that are bots
IncludeBotAccounts bool
// Should include deleted users (of any type)
IncludeDeleted bool
// Include remote users
IncludeRemoteUsers bool
// Exclude regular users
ExcludeRegularUsers bool
// Only include users on a specific team. "" for any team.
TeamId string
// Only include users on a specific channel. "" for any channel.
ChannelId string
// Restrict to search in a list of teams and channels
ViewRestrictions *ViewUsersRestrictions
// Only include users matching any of the given system wide roles.
Roles []string
// Only include users matching any of the given channel roles, must be used with ChannelId.
ChannelRoles []string
// Only include users matching any of the given team roles, must be used with TeamId.
TeamRoles []string
}