39 lines
524 B
Go
39 lines
524 B
Go
package dbdialer
|
|
|
|
import (
|
|
"git.nobla.cn/golang/aeus/pkg/logger"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type (
|
|
options struct {
|
|
log logger.Logger
|
|
cfg *gorm.Config
|
|
}
|
|
|
|
Option func(o *options)
|
|
)
|
|
|
|
func WithConfig(cfg *gorm.Config) Option {
|
|
return func(o *options) {
|
|
o.cfg = cfg
|
|
}
|
|
}
|
|
|
|
func WithLogger(log logger.Logger) Option {
|
|
return func(o *options) {
|
|
o.log = log
|
|
}
|
|
}
|
|
|
|
func newOptions(opts ...Option) *options {
|
|
o := &options{
|
|
cfg: &gorm.Config{},
|
|
log: logger.Default(),
|
|
}
|
|
for _, opt := range opts {
|
|
opt(o)
|
|
}
|
|
return o
|
|
}
|