From c4e5776f9e174fe6bf91721649c0541a9fb310ae Mon Sep 17 00:00:00 2001 From: Zach Berwaldt Date: Fri, 15 Mar 2024 21:41:12 -0400 Subject: add env samples, move files --- api/.env.sample | 10 ++++++++++ api/cmd/main.go | 13 +++++++++---- api/internal/config/config.go | 17 +++++++++++++++++ api/internal/database/database.go | 16 +++++++++------- fe/.env.sample | 1 + fe/src/errors.ts | 5 +++++ fe/src/lib/errors.ts | 5 ----- fe/src/lib/utils.ts | 9 --------- fe/src/utils.ts | 9 +++++++++ 9 files changed, 60 insertions(+), 25 deletions(-) create mode 100644 api/.env.sample create mode 100644 api/internal/config/config.go create mode 100644 fe/.env.sample create mode 100644 fe/src/errors.ts delete mode 100644 fe/src/lib/errors.ts delete mode 100644 fe/src/lib/utils.ts create mode 100644 fe/src/utils.ts diff --git a/api/.env.sample b/api/.env.sample new file mode 100644 index 0000000..6e25893 --- /dev/null +++ b/api/.env.sample @@ -0,0 +1,10 @@ +# user for test +TEST_USER=user1 +# test user password +TEST_PASS=12345 +# database path +DB_PATH="path/to/database/file" +# database driver +DB_DRIVER="sqlite3" +# port +PORT=":8080" \ No newline at end of file diff --git a/api/cmd/main.go b/api/cmd/main.go index d97c942..c23eff1 100644 --- a/api/cmd/main.go +++ b/api/cmd/main.go @@ -1,16 +1,21 @@ package main import ( - "water/api/internal/database" + "log" + "water/api/internal/config" "water/api/internal/router" ) func main() { - database.SetupDatabase() + c, err := config.Load() + if err != nil { + log.Fatalf("Error while reading config file %s", err) + } + r := router.SetupRouter() // Listen and Server in 0.0.0.0:8080 - err := r.Run(":8080") + err = r.Run(c.GetString("PORT")) if err != nil { - return + log.Fatal(err) } } diff --git a/api/internal/config/config.go b/api/internal/config/config.go new file mode 100644 index 0000000..1892696 --- /dev/null +++ b/api/internal/config/config.go @@ -0,0 +1,17 @@ +package config + +import ( + "fmt" + "github.com/spf13/viper" +) + +func Load() (*viper.Viper, error) { + v := viper.New() + v.SetConfigFile(".env") + v.AddConfigPath(".") + err := v.ReadInConfig() + if err != nil { + return nil, fmt.Errorf("error reading .env file: %s", err) + } + return v, nil +} \ No newline at end of file diff --git a/api/internal/database/database.go b/api/internal/database/database.go index 7af9780..1866655 100644 --- a/api/internal/database/database.go +++ b/api/internal/database/database.go @@ -4,17 +4,19 @@ import ( "database/sql" _ "github.com/mattn/go-sqlite3" "log" + "path/filepath" + "water/api/internal/config" ) -func SetupDatabase() { - _, err := sql.Open("sqlite3", "water.sqlite3") +func EstablishDBConnection() *sql.DB { + c, err := config.Load() + + driver := c.GetString("DB_DRIVER") + path, err := filepath.Abs(c.GetString("DB_PATH")) if err != nil { - log.Fatal(err) + log.Fatal("There was and error getting the absolute path of the database.") } -} - -func EstablishDBConnection() *sql.DB { - db, err := sql.Open("sqlite3", "../db/water.sqlite3") + db, err := sql.Open(driver, path) if err != nil { panic(err) } diff --git a/fe/.env.sample b/fe/.env.sample new file mode 100644 index 0000000..60c383f --- /dev/null +++ b/fe/.env.sample @@ -0,0 +1 @@ +VITE_API_BASE_URL="https://www.example.org" \ No newline at end of file diff --git a/fe/src/errors.ts b/fe/src/errors.ts new file mode 100644 index 0000000..81f7145 --- /dev/null +++ b/fe/src/errors.ts @@ -0,0 +1,5 @@ +export class UnauthorizedError extends Error { + constructor(message?: string) { + super(message); + } +} diff --git a/fe/src/lib/errors.ts b/fe/src/lib/errors.ts deleted file mode 100644 index 81f7145..0000000 --- a/fe/src/lib/errors.ts +++ /dev/null @@ -1,5 +0,0 @@ -export class UnauthorizedError extends Error { - constructor(message?: string) { - super(message); - } -} diff --git a/fe/src/lib/utils.ts b/fe/src/lib/utils.ts deleted file mode 100644 index e78556c..0000000 --- a/fe/src/lib/utils.ts +++ /dev/null @@ -1,9 +0,0 @@ -export function processFormInput(form: HTMLFormElement) { - const formData: FormData = new FormData(form); - const data: Record = {}; - for (let field of formData) { - const [key, value] = field; - data[key] = value; - } - return data; -} diff --git a/fe/src/utils.ts b/fe/src/utils.ts new file mode 100644 index 0000000..e78556c --- /dev/null +++ b/fe/src/utils.ts @@ -0,0 +1,9 @@ +export function processFormInput(form: HTMLFormElement) { + const formData: FormData = new FormData(form); + const data: Record = {}; + for (let field of formData) { + const [key, value] = field; + data[key] = value; + } + return data; +} -- cgit v1.1