This commit is contained in:
Max 2024-09-30 22:21:36 +03:00
parent c638cc0fb4
commit cfb5d5f210
4 changed files with 57 additions and 31 deletions

View File

@ -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")
}

View File

@ -1,4 +1,4 @@
package dependencies
package utils
import (
"fmt"

View File

@ -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)

33
enshi_back/utils/env.go Normal file
View File

@ -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
}