// Copyright (c) 2024 Mattermost Community Enterprise // Registration of Message Export implementation package message_export import ( "github.com/mattermost/mattermost/server/public/model" "github.com/mattermost/mattermost/server/public/shared/mlog" "github.com/mattermost/mattermost/server/v8/channels/store" "github.com/mattermost/mattermost/server/v8/einterfaces" ) // MessageExportFactory is a function type that creates a MessageExportInterface type MessageExportFactory func(store store.Store, config func() *model.Config, logger mlog.LoggerIFace) einterfaces.MessageExportInterface // NewMessageExportFactory returns a factory function for creating MessageExport interfaces func NewMessageExportFactory() MessageExportFactory { return func(store store.Store, config func() *model.Config, logger mlog.LoggerIFace) einterfaces.MessageExportInterface { cfg := &MessageExportConfig{ Store: store, Config: config, Logger: logger, } return NewMessageExportInterface(cfg) } } // CreateMessageExportInterface creates a new MessageExport interface directly func CreateMessageExportInterface(store store.Store, config func() *model.Config, logger mlog.LoggerIFace) einterfaces.MessageExportInterface { cfg := &MessageExportConfig{ Store: store, Config: config, Logger: logger, } return NewMessageExportInterface(cfg) }