* Move some more atomic values under Channels The following fields were moved: ``` asymmetricSigningKey atomic.Value clientConfig atomic.Value clientConfigHash atomic.Value limitedClientConfig atomic.Value ``` And also moved the initialization order from NewServer to Channels.Start to better reflect the order of things. Removed AsymmetricSigningKey from ConfigService as it was no longer used. Removed calling regenerateClientConfig during startup explicitly because it was anyways called from ensureAsymmetricSigningKey. https://community-daily.mattermost.com/boards/workspace/zyoahc9uapdn3xdptac6jb69ic/285b80a3-257d-41f6-8cf4-ed80ca9d92e5/495cdb4d-c13a-4992-8eb9-80cfee2819a4?c=87df1e15-588e-49ff-8bd1-ffa9651b8c82 ```release-note NONE ``` * Fix lint error ```release-note NONE ```
56 строки
1.2 KiB
Go
56 строки
1.2 KiB
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
package app
|
|
|
|
import (
|
|
"sync/atomic"
|
|
|
|
"github.com/mattermost/mattermost-server/v6/model"
|
|
"github.com/mattermost/mattermost-server/v6/services/imageproxy"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
// Channels contains all channels related state.
|
|
type Channels struct {
|
|
srv *Server
|
|
|
|
imageProxy *imageproxy.ImageProxy
|
|
|
|
asymmetricSigningKey atomic.Value
|
|
clientConfig atomic.Value
|
|
clientConfigHash atomic.Value
|
|
limitedClientConfig atomic.Value
|
|
|
|
// cached counts that are used during notice condition validation
|
|
cachedPostCount int64
|
|
cachedUserCount int64
|
|
cachedDBMSVersion string
|
|
// previously fetched notices
|
|
cachedNotices model.ProductNotices
|
|
}
|
|
|
|
func init() {
|
|
RegisterProduct("channels", func(s *Server) (Product, error) {
|
|
return NewChannels(s)
|
|
})
|
|
}
|
|
|
|
func NewChannels(s *Server) (*Channels, error) {
|
|
return &Channels{
|
|
srv: s,
|
|
imageProxy: imageproxy.MakeImageProxy(s, s.httpService, s.Log),
|
|
}, nil
|
|
}
|
|
|
|
func (ch *Channels) Start() error {
|
|
if err := ch.ensureAsymmetricSigningKey(); err != nil {
|
|
return errors.Wrapf(err, "unable to ensure asymmetric signing key")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (*Channels) Stop() error {
|
|
return nil
|
|
}
|