From cfb5d5f21039ab44bf58b117b04f8aadf7a40323 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 30 Sep 2024 22:21:36 +0300 Subject: [PATCH] Back --- enshi_back/main.go | 37 ++++++++++-------------------------- enshi_back/utils/auth.go | 2 +- enshi_back/utils/database.go | 16 +++++++++++++--- enshi_back/utils/env.go | 33 ++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 31 deletions(-) create mode 100644 enshi_back/utils/env.go diff --git a/enshi_back/main.go b/enshi_back/main.go index e62e2c9..ffdf7a3 100644 --- a/enshi_back/main.go +++ b/enshi_back/main.go @@ -1,47 +1,30 @@ package main import ( - "context" + "enshi/utils" "fmt" - "os" - "github.com/jackc/pgx/v5/pgxpool" - "github.com/joho/godotenv" + "github.com/gin-gonic/gin" ) -func lookupEnv(dest *string, envVar string) error { - if v, exists := os.LookupEnv(envVar); !exists { - return fmt.Errorf("%v not found in local env", envVar) - } else { - *dest = v - return nil - } -} - func main() { - var bd_pass, bd_user string - var err error - if err = godotenv.Load("secret.env"); err != nil { - fmt.Printf("%v", err) + if err := utils.LoadEnv("utils/secret.env"); err != nil { + fmt.Println(err.Error()) return } - if err := lookupEnv(&bd_pass, "BD_PASSWORD"); err != nil { - fmt.Printf("%v", err) - return - } - if err := lookupEnv(&bd_user, "BD_USER"); err != nil { - fmt.Printf("%v", err) + if err := utils.SetupDatabase(); err != nil { + fmt.Println(err.Error()) return } + defer utils.Dbx.Close() - Dbx, err := pgxpool.New(context.Background(), fmt.Sprintf("postgres://%v:%v@nekiiinkognito.ru:5432/enshi_db", bd_user, bd_pass)) - if err != nil { - fmt.Printf("%v", err) + router := gin.Default() + if err := utils.SetupRotes(router); err != nil { + fmt.Println(err.Error()) return } - print(Dbx) fmt.Printf("Hey!, %v", "you") } diff --git a/enshi_back/utils/auth.go b/enshi_back/utils/auth.go index 06ed3c7..deb1886 100644 --- a/enshi_back/utils/auth.go +++ b/enshi_back/utils/auth.go @@ -1,4 +1,4 @@ -package dependencies +package utils import ( "fmt" diff --git a/enshi_back/utils/database.go b/enshi_back/utils/database.go index 859a6dd..df60d81 100644 --- a/enshi_back/utils/database.go +++ b/enshi_back/utils/database.go @@ -12,11 +12,21 @@ var Dbx *pgxpool.Pool func SetupDatabase() error { - // Url to connect - url := "postgres://root:JET159sam753@nekiiinkognito.ru:5432/recipes" - + var bd_pass, bd_user string var err error + if err := LookupEnv(&bd_pass, "BD_PASSWORD"); err != nil { + fmt.Printf("%v", err) + return err + } + if err := LookupEnv(&bd_user, "BD_USER"); err != nil { + fmt.Printf("%v", err) + return err + } + + // Url to connect + url := fmt.Sprintf("postgres://%v:%v@nekiiinkognito.ru:5432/enshi_db", bd_user, bd_pass) + // Connecting to database Dbx, err = pgxpool.New(context.Background(), url) diff --git a/enshi_back/utils/env.go b/enshi_back/utils/env.go new file mode 100644 index 0000000..cf82df3 --- /dev/null +++ b/enshi_back/utils/env.go @@ -0,0 +1,33 @@ +package utils + +import ( + "fmt" + "os" + + "github.com/joho/godotenv" +) + +func LookupEnv(dest *string, envVar string) error { + if v, exists := os.LookupEnv(envVar); !exists { + return fmt.Errorf("%v not found in local env", envVar) + } else { + *dest = v + return nil + } +} + +func LoadEnv(path string) error { + + if err := godotenv.Load(path); err != nil { + fmt.Printf("%v\n", err) + return err + } + + if err := LookupEnv(&SecretKey, "SECRET_KEY"); err != nil { + fmt.Printf("%v\n", err) + return err + } + + fmt.Println("Env loaded") + return nil +}