Add KVStore service and Log service for Focalboard multi product architecture (#20563)

* add KVStore service, add Log service
Этот коммит содержится в:
Doug Lauder
2022-06-29 09:08:34 -04:00
коммит произвёл GitHub
родитель 90c687b728
Коммит 7e4024665c
4 изменённых файлов: 32 добавлений и 16 удалений

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

@@ -11,6 +11,7 @@ import (
"github.com/mattermost/mattermost-server/v6/app/request"
"github.com/mattermost/mattermost-server/v6/model"
"github.com/mattermost/mattermost-server/v6/shared/filestore"
"github.com/mattermost/mattermost-server/v6/shared/mlog"
)
// RouterService enables registering the product router to the server. After registering the
@@ -48,7 +49,6 @@ type PermissionService interface {
type ClusterService interface {
PublishPluginClusterEvent(productID string, ev model.PluginClusterEvent, opts model.PluginClusterEventSendOptions) error
PublishWebSocketEvent(productID string, event string, payload map[string]interface{}, broadcast *model.WebsocketBroadcast)
SetPluginKeyWithOptions(productID string, key string, value []byte, options model.PluginKVSetOptions) (bool, *model.AppError)
}
// ChannelService provides channel related API The service implementation is provided by
@@ -153,3 +153,17 @@ type FileInfoStoreService interface {
type CloudService interface {
GetCloudLimits() (*model.ProductLimits, error)
}
// KVStoreService is the API for accessing the KVStore service APIs.
//
// The service shall be registered via app.KVStoreKey service key.
type KVStoreService interface {
SetPluginKeyWithOptions(pluginID string, key string, value []byte, options model.PluginKVSetOptions) (bool, *model.AppError)
}
// LogService is the API for accessing the log service APIs.
//
// The service shall be registered via app.LogKey service key.
type LogService interface {
mlog.LoggerIFace
}