38 lines
775 B
Go
38 lines
775 B
Go
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)
|
|
}
|