DB connected

This commit is contained in:
valitovgaziz
2024-08-08 10:58:02 +05:00
parent bd05ac48df
commit 69a735e692
5 changed files with 38 additions and 13 deletions
+16
View File
@@ -0,0 +1,16 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"args": []
}
]
}
+5 -1
View File
@@ -1,13 +1,17 @@
package main package main
import ( import (
"api/src/configs"
"api/src/initializers" "api/src/initializers"
"log/slog" "log/slog"
) )
var APIServerCnf configs.APIserver
var PSQLCnf configs.PSQLConfig
func main() { func main() {
slog.Info("Start") slog.Info("Start")
initializers.InitChiRouting()
initializers.InitDBconnection() initializers.InitDBconnection()
initializers.InitChiRouting()
slog.Info("End") slog.Info("End")
} }
+9
View File
@@ -0,0 +1,9 @@
package configs
import(
)
type APIserver struct {
Server_port string
}
+7 -11
View File
@@ -1,13 +1,11 @@
package initializers package initializers
import ( import (
"api/src/configs"
"api/src/storages/psql" "api/src/storages/psql"
"fmt" "fmt"
"log/slog" "log/slog"
"os" "os"
"github.com/ilyakaznacheev/cleanenv"
"gorm.io/driver/postgres" "gorm.io/driver/postgres"
"gorm.io/gorm" "gorm.io/gorm"
"gorm.io/gorm/logger" "gorm.io/gorm/logger"
@@ -18,18 +16,15 @@ import (
"github.com/go-chi/chi/v5/middleware" "github.com/go-chi/chi/v5/middleware"
) )
var cfg *configs.PSQLConfig
func InitDBconnection() { func InitDBconnection() {
slog.Info("Init DB connection") slog.Info("Init DB connection")
cleanenv.ReadEnv(&cfg)
dsn := fmt.Sprintf( dsn := fmt.Sprintf(
"host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Yekaterinburg", "host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Yekaterinburg",
cfg.Host_db, os.Getenv("HOST_DB"),
cfg.Db_user, os.Getenv("DB_USER"),
cfg.Db_password, os.Getenv("DB_PASSWORD"),
cfg.Db_name, os.Getenv("DB_NAME"),
cfg.Db_port, os.Getenv("DB_PORT"),
) )
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{ db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info), Logger: logger.Default.LogMode(logger.Info),
@@ -58,10 +53,11 @@ func InitChiRouting() {
r := chi.NewRouter() r := chi.NewRouter()
r.Use(middleware.Logger) r.Use(middleware.Logger)
r.Get("/", func(w http.ResponseWriter, r *http.Request) { r.Get("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("welcome developer! Cool. Are you debugging?")) w.Write([]byte("welcome developer! Cool."))
}) })
err := http.ListenAndServe(":"+os.Getenv("SERVER_PORT"), r) err := http.ListenAndServe(":"+os.Getenv("SERVER_PORT"), r)
if err != nil { if err != nil {
slog.Info("failed to start server")
slog.Error("failed to start server", "error", err) slog.Error("failed to start server", "error", err)
os.Exit(2) os.Exit(2)
} }