knotserver: pass logger into DB #877

merged
opened by oppi.li targeting master from op/wonqmpyrknoq
Changed files
+14 -4
knotserver
+13 -3
knotserver/db/db.go
··· 1 package db 2 3 import ( 4 "database/sql" 5 "strings" 6 7 _ "github.com/mattn/go-sqlite3" 8 ) 9 10 type DB struct { 11 - db *sql.DB 12 } 13 14 - func Setup(dbPath string) (*DB, error) { 15 // https://github.com/mattn/go-sqlite3#connection-string 16 opts := []string{ 17 "_foreign_keys=1", ··· 20 "_auto_vacuum=incremental", 21 } 22 23 db, err := sql.Open("sqlite3", dbPath+"?"+strings.Join(opts, "&")) 24 if err != nil { 25 return nil, err ··· 60 return nil, err 61 } 62 63 - return &DB{db: db}, nil 64 }
··· 1 package db 2 3 import ( 4 + "context" 5 "database/sql" 6 + "log/slog" 7 "strings" 8 9 _ "github.com/mattn/go-sqlite3" 10 + "tangled.org/core/log" 11 ) 12 13 type DB struct { 14 + db *sql.DB 15 + logger *slog.Logger 16 } 17 18 + func Setup(ctx context.Context, dbPath string) (*DB, error) { 19 // https://github.com/mattn/go-sqlite3#connection-string 20 opts := []string{ 21 "_foreign_keys=1", ··· 24 "_auto_vacuum=incremental", 25 } 26 27 + logger := log.FromContext(ctx) 28 + logger = log.SubLogger(logger, "db") 29 + 30 db, err := sql.Open("sqlite3", dbPath+"?"+strings.Join(opts, "&")) 31 if err != nil { 32 return nil, err ··· 67 return nil, err 68 } 69 70 + return &DB{ 71 + db: db, 72 + logger: logger, 73 + }, nil 74 }
+1 -1
knotserver/server.go
··· 64 logger.Info("running in dev mode, signature verification is disabled") 65 } 66 67 - db, err := db.Setup(c.Server.DBPath) 68 if err != nil { 69 return fmt.Errorf("failed to load db: %w", err) 70 }
··· 64 logger.Info("running in dev mode, signature verification is disabled") 65 } 66 67 + db, err := db.Setup(ctx, c.Server.DBPath) 68 if err != nil { 69 return fmt.Errorf("failed to load db: %w", err) 70 }