All checks were successful
Build and Push Docker Image / Build-And-Push-Docker-Image (push) Successful in 1m16s
45 lines
971 B
Go
45 lines
971 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
"os"
|
|
"spend-sparrow/internal"
|
|
|
|
"github.com/joho/godotenv"
|
|
_ "github.com/mattn/go-sqlite3"
|
|
"github.com/uptrace/opentelemetry-go-extra/otelsql"
|
|
"github.com/uptrace/opentelemetry-go-extra/otelsqlx"
|
|
semconv "go.opentelemetry.io/otel/semconv/v1.10.0"
|
|
)
|
|
|
|
func main() {
|
|
ctx := context.Background()
|
|
|
|
err := godotenv.Load()
|
|
if err != nil {
|
|
slog.ErrorContext(ctx, "Error loading .env file")
|
|
return
|
|
}
|
|
|
|
db, err := otelsqlx.Open(
|
|
"sqlite3",
|
|
"./data/spend-sparrow.db?_journal_mode=WAL",
|
|
otelsql.WithAttributes(semconv.DBSystemSqlite),
|
|
)
|
|
if err != nil {
|
|
slog.ErrorContext(ctx, "Could not open Database data.db", "err", err)
|
|
return
|
|
}
|
|
defer func() {
|
|
if err = db.Close(); err != nil {
|
|
slog.ErrorContext(ctx, "Database close failed", "err", err)
|
|
}
|
|
}()
|
|
|
|
if err = internal.Run(context.Background(), db, "", os.Getenv); err != nil {
|
|
slog.ErrorContext(ctx, "Error running server", "err", err)
|
|
return
|
|
}
|
|
}
|