Initial commit

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Christoph K.
2026-03-21 15:03:55 +01:00
commit dfd66e43c6
78 changed files with 6219 additions and 0 deletions

37
backend/internal/store/store.go Executable file
View File

@@ -0,0 +1,37 @@
package store
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
// Store kapselt den Datenbankzugriff.
type Store struct {
db *sql.DB
}
// New erstellt einen neuen Store und konfiguriert SQLite.
func New(dbPath string) (*Store, error) {
db, err := sql.Open("sqlite3", dbPath+"?_journal_mode=WAL&_foreign_keys=ON")
if err != nil {
return nil, fmt.Errorf("Datenbank öffnen: %w", err)
}
if err := db.Ping(); err != nil {
return nil, fmt.Errorf("Datenbank-Verbindung prüfen: %w", err)
}
return &Store{db: db}, nil
}
// DB gibt die zugrundeliegende Datenbankverbindung zurück (für Migrations).
func (s *Store) DB() *sql.DB {
return s.db
}
// Close schliesst die Datenbankverbindung.
func (s *Store) Close() error {
return s.db.Close()
}