27 lines
594 B
Go
27 lines
594 B
Go
package driver
|
|
|
|
import (
|
|
"context"
|
|
"local/dndex/config"
|
|
"strings"
|
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
)
|
|
|
|
type Driver interface {
|
|
Find(context.Context, string, interface{}) (chan bson.Raw, error)
|
|
Update(context.Context, string, interface{}, interface{}) error
|
|
Insert(context.Context, string, interface{}) error
|
|
Delete(context.Context, string, interface{}) error
|
|
}
|
|
|
|
func New() Driver {
|
|
switch strings.ToLower(config.New().DriverType) {
|
|
case "mongo":
|
|
return NewMongo()
|
|
case "boltdb":
|
|
return NewBoltDB()
|
|
}
|
|
panic("unknown driver type " + strings.ToLower(config.New().DriverType))
|
|
}
|