From cab6be063f18b5301376be3d721330a56fd43abf Mon Sep 17 00:00:00 2001 From: Haelnorr Date: Thu, 13 Feb 2025 22:23:16 +1100 Subject: [PATCH] Switched from turso to local sqlite --- config/config.go | 19 ++++--------------- db/connection.go | 8 ++++---- go.mod | 4 ---- go.sum | 8 -------- main.go | 2 +- tests/config.go | 3 --- 6 files changed, 9 insertions(+), 35 deletions(-) diff --git a/config/config.go b/config/config.go index 4d38be7..c42ab69 100644 --- a/config/config.go +++ b/config/config.go @@ -20,8 +20,7 @@ type Config struct { ReadHeaderTimeout time.Duration // Timeout for reading request headers in seconds WriteTimeout time.Duration // Timeout for writing requests in seconds IdleTimeout time.Duration // Timeout for idle connections in seconds - TursoDBName string // DB Name for Turso DB/Branch - TursoToken string // Bearer token for Turso DB/Branch + DBName string // Filename of the db (doesnt include file extension) SecretKey string // Secret key for signing tokens AccessTokenExpiry int64 // Access token expiry in minutes RefreshTokenExpiry int64 // Refresh token expiry in minutes @@ -35,7 +34,7 @@ type Config struct { func GetConfig(args map[string]string) (*Config, error) { err := godotenv.Load(".env") if err != nil { - fmt.Println(".env file not found.") + fmt.Println(err) } var ( host string @@ -83,13 +82,12 @@ func GetConfig(args map[string]string) (*Config, error) { config := &Config{ Host: host, Port: port, - TrustedHost: os.Getenv("TRUSTED_HOST"), + TrustedHost: GetEnvDefault("TRUSTED_HOST", "127.0.0.1"), SSL: GetEnvBool("SSL_MODE", false), ReadHeaderTimeout: GetEnvDur("READ_HEADER_TIMEOUT", 2), WriteTimeout: GetEnvDur("WRITE_TIMEOUT", 10), IdleTimeout: GetEnvDur("IDLE_TIMEOUT", 120), - TursoDBName: os.Getenv("TURSO_DB_NAME"), - TursoToken: os.Getenv("TURSO_AUTH_TOKEN"), + DBName: GetEnvDefault("DB_NAME", "projectreshoot"), SecretKey: os.Getenv("SECRET_KEY"), AccessTokenExpiry: GetEnvInt64("ACCESS_TOKEN_EXPIRY", 5), RefreshTokenExpiry: GetEnvInt64("REFRESH_TOKEN_EXPIRY", 1440), // defaults to 1 day @@ -99,15 +97,6 @@ func GetConfig(args map[string]string) (*Config, error) { LogDir: GetEnvDefault("LOG_DIR", ""), } - if config.TrustedHost == "" { - return nil, errors.New("Envar not set: TRUSTED_HOST") - } - if config.TursoDBName == "" { - return nil, errors.New("Envar not set: TURSO_DB_NAME") - } - if config.TursoToken == "" { - return nil, errors.New("Envar not set: TURSO_AUTH_TOKEN") - } if config.SecretKey == "" { return nil, errors.New("Envar not set: SECRET_KEY") } diff --git a/db/connection.go b/db/connection.go index f2e6900..88c2075 100644 --- a/db/connection.go +++ b/db/connection.go @@ -4,15 +4,15 @@ import ( "database/sql" "fmt" + _ "github.com/mattn/go-sqlite3" "github.com/pkg/errors" - _ "github.com/tursodatabase/libsql-client-go/libsql" ) // Returns a database connection handle for the Turso DB -func ConnectToDatabase(primaryUrl *string, authToken *string) (*sql.DB, error) { - url := fmt.Sprintf("libsql://%s.turso.io?authToken=%s", *primaryUrl, *authToken) +func ConnectToDatabase(dbName string) (*sql.DB, error) { + file := fmt.Sprintf("file:%s.db", dbName) + db, err := sql.Open("sqlite3", file) - db, err := sql.Open("libsql", url) if err != nil { return nil, errors.Wrap(err, "sql.Open") } diff --git a/go.mod b/go.mod index 11426db..97dfb00 100644 --- a/go.mod +++ b/go.mod @@ -11,18 +11,14 @@ require ( github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.33.0 github.com/stretchr/testify v1.10.0 - github.com/tursodatabase/libsql-client-go v0.0.0-20240902231107-85af5b9d094d golang.org/x/crypto v0.33.0 ) require ( - github.com/antlr4-go/antlr/v4 v4.13.0 // indirect - github.com/coder/websocket v1.8.12 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect golang.org/x/sys v0.30.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index ffca76c..328d060 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,5 @@ github.com/a-h/templ v0.3.833 h1:L/KOk/0VvVTBegtE0fp2RJQiBm7/52Zxv5fqlEHiQUU= github.com/a-h/templ v0.3.833/go.mod h1:cAu4AiZhtJfBjMY0HASlyzvkrtjnHWPeEsyGK2YYmfk= -github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= -github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= -github.com/coder/websocket v1.8.12 h1:5bUXkEPPIbewrnkU8LTCLVaxi4N4J8ahufH2vlo4NAo= -github.com/coder/websocket v1.8.12/go.mod h1:LNVeNrXQZfe5qhS9ALED3uA+l5pPqvwXg3CKoDBB2gs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -34,12 +30,8 @@ github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/tursodatabase/libsql-client-go v0.0.0-20240902231107-85af5b9d094d h1:dOMI4+zEbDI37KGb0TI44GUAwxHF9cMsIoDTJ7UmgfU= -github.com/tursodatabase/libsql-client-go v0.0.0-20240902231107-85af5b9d094d/go.mod h1:l8xTsYB90uaVdMHXMCxKKLSgw5wLYBwBKKefNIUnm9s= golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= -golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= -golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/main.go b/main.go index 3e7f1b7..1bcf240 100644 --- a/main.go +++ b/main.go @@ -56,7 +56,7 @@ func run(ctx context.Context, w io.Writer, args map[string]string) error { return errors.Wrap(err, "logging.GetLogger") } - conn, err := db.ConnectToDatabase(&config.TursoDBName, &config.TursoToken) + conn, err := db.ConnectToDatabase(config.DBName) if err != nil { return errors.Wrap(err, "db.ConnectToDatabase") } diff --git a/tests/config.go b/tests/config.go index f436b4a..6b4ab4f 100644 --- a/tests/config.go +++ b/tests/config.go @@ -8,9 +8,6 @@ import ( ) func TestConfig() (*config.Config, error) { - os.Setenv("TRUSTED_HOST", "127.0.0.1") - os.Setenv("TURSO_DB_NAME", ".") - os.Setenv("TURSO_AUTH_TOKEN", ".") os.Setenv("SECRET_KEY", ".") cfg, err := config.GetConfig(map[string]string{}) if err != nil {