feat(api): Add compatibility layer for API v1
This commit is contained in:
+12
-3
@@ -14,11 +14,16 @@ import (
|
||||
)
|
||||
|
||||
type Provider struct {
|
||||
db *goqu.Database
|
||||
db *goqu.Database
|
||||
own bool
|
||||
}
|
||||
|
||||
func New(db *goqu.Database) Provider {
|
||||
return Provider{db: db}
|
||||
return Provider{db: db, own: false}
|
||||
}
|
||||
|
||||
func NewWithConn(conn *sql.DB) Provider {
|
||||
return Provider{db: goqu.New("sqlite3", conn), own: false}
|
||||
}
|
||||
|
||||
func Open(path string) (Provider, error) {
|
||||
@@ -31,10 +36,14 @@ func Open(path string) (Provider, error) {
|
||||
return Provider{}, fmt.Errorf("failed to connect to cities database: %w", err)
|
||||
}
|
||||
|
||||
return New(goqu.New("sqlite3", conn)), nil
|
||||
return Provider{db: goqu.New("sqlite3", conn), own: true}, nil
|
||||
}
|
||||
|
||||
func (p Provider) Close() error {
|
||||
if !p.own {
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := p.db.Db.(*sql.DB).Close(); err != nil {
|
||||
return fmt.Errorf("failed to close cities database: %w", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user