feat(api): Add compatibility layer for API v1

This commit is contained in:
2026-02-22 18:39:14 +03:00
parent 82f252f32f
commit ad1a9364b8
6 changed files with 8624 additions and 10 deletions
+12 -3
View File
@@ -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)
}