// Copyright (c) 2024 Mattermost Community Enterprise // Registration of Account Migration implementation package account_migration 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" ) // AccountMigrationFactory is a function type that creates an AccountMigrationInterface type AccountMigrationFactory func(store store.Store, config func() *model.Config, logger mlog.LoggerIFace) einterfaces.AccountMigrationInterface // NewAccountMigrationFactory returns a factory function for creating AccountMigration interfaces func NewAccountMigrationFactory() AccountMigrationFactory { return func(store store.Store, config func() *model.Config, logger mlog.LoggerIFace) einterfaces.AccountMigrationInterface { cfg := &AccountMigrationConfig{ Store: store, Config: config, Logger: logger, } return NewAccountMigrationInterface(cfg) } } // CreateAccountMigrationInterface creates a new AccountMigration interface directly func CreateAccountMigrationInterface(store store.Store, config func() *model.Config, logger mlog.LoggerIFace) einterfaces.AccountMigrationInterface { cfg := &AccountMigrationConfig{ Store: store, Config: config, Logger: logger, } return NewAccountMigrationInterface(cfg) }