MM-27493 Shared channels (MVP) (#17301)
Remote Cluster Service - provides ability for multiple Mattermost cluster instances to create a trusted connection with each other and exchange messages - trusted connections are managed via slash commands (for now) - facilitates features requiring inter-cluster communication, such as Shared Channels Shared Channels Service - provides ability to shared channels between one or more Mattermost cluster instances (using trusted connection) - sharing/unsharing of channels is managed via slash commands (for now)
Этот коммит содержится в:
@@ -90,6 +90,7 @@ type User struct {
|
||||
Timezone StringMap `json:"timezone"`
|
||||
MfaActive bool `json:"mfa_active,omitempty"`
|
||||
MfaSecret string `json:"mfa_secret,omitempty"`
|
||||
RemoteId *string `json:"remote_id,omitempty"`
|
||||
LastActivityAt int64 `db:"-" json:"last_activity_at,omitempty"`
|
||||
IsBot bool `db:"-" json:"is_bot,omitempty"`
|
||||
BotDescription string `db:"-" json:"bot_description,omitempty"`
|
||||
@@ -124,6 +125,7 @@ type UserPatch struct {
|
||||
NotifyProps StringMap `json:"notify_props,omitempty"`
|
||||
Locale *string `json:"locale"`
|
||||
Timezone StringMap `json:"timezone"`
|
||||
RemoteId *string `json:"remote_id"`
|
||||
}
|
||||
|
||||
//msgp:ignore UserAuth
|
||||
@@ -512,6 +514,10 @@ func (u *User) Patch(patch *UserPatch) {
|
||||
if patch.Timezone != nil {
|
||||
u.Timezone = patch.Timezone
|
||||
}
|
||||
|
||||
if patch.RemoteId != nil {
|
||||
u.RemoteId = patch.RemoteId
|
||||
}
|
||||
}
|
||||
|
||||
// ToJson convert a User to a json string
|
||||
@@ -734,6 +740,11 @@ func (u *User) GetPreferredTimezone() string {
|
||||
return GetPreferredTimezone(u.Timezone)
|
||||
}
|
||||
|
||||
// IsRemote returns true if the user belongs to a remote cluster (has RemoteId).
|
||||
func (u *User) IsRemote() bool {
|
||||
return u.RemoteId != nil && *u.RemoteId != ""
|
||||
}
|
||||
|
||||
func (u *User) ToPatch() *UserPatch {
|
||||
return &UserPatch{
|
||||
Username: &u.Username, Password: &u.Password,
|
||||
|
||||
Ссылка в новой задаче
Block a user