package sqlstore import ( "database/sql" "fmt" "github.com/mattermost/mattermost-server/v6/plugin" "github.com/mattermost/mattermost-server/v6/shared/mlog" ) type Params struct { DBType string ConnectionString string TablePrefix string Logger *mlog.Logger DB *sql.DB IsPlugin bool IsSingleUser bool NewMutexFn MutexFactory PluginAPI *plugin.API } func (p Params) CheckValid() error { if p.IsPlugin && p.NewMutexFn == nil { return ErrStoreParam{name: "NewMutexFn", issue: "cannot be nil in plugin mode"} } return nil } type ErrStoreParam struct { name string issue string } func (e ErrStoreParam) Error() string { return fmt.Sprintf("invalid store params: %s %s", e.name, e.issue) }