This commit is contained in:
valitovgaziz
2024-08-05 09:16:04 +05:00
parent 2669e0be51
commit 87de968e7f
4 changed files with 29 additions and 5 deletions
+3
View File
@@ -2,9 +2,12 @@ package main
import (
"api/src/initializers"
"log/slog"
)
func main() {
slog.Info("Start")
initializers.InitChiRouting()
initializers.InitDBconnection()
slog.Info("End")
}
+24 -4
View File
@@ -10,6 +10,7 @@ import (
"github.com/ilyakaznacheev/cleanenv"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"net/http"
@@ -20,6 +21,7 @@ import (
var cfg *configs.PSQLConfig
func InitDBconnection() {
slog.Info("Init DB connection")
cleanenv.ReadEnv(&cfg)
dsn := fmt.Sprintf(
"host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Yekaterinburg",
@@ -29,21 +31,39 @@ func InitDBconnection() {
cfg.Db_name,
cfg.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),
})
if err != nil {
slog.Error("failed to connect database", "error", err)
os.Exit(2)
}
psql.PSQL_GORM_DB = db
sql, err := db.DB()
if err != nil {
slog.Error("failed to get database", "error", err)
os.Exit(2)
}
err = sql.Ping()
if err != nil {
slog.Error("failed to ping database", "error", err)
os.Exit(2)
}
slog.Info("connected to database")
db.Logger = logger.Default.LogMode(logger.Info)
}
func InitChiRouting() {
slog.Info("Init routing")
r := chi.NewRouter()
r.Use(middleware.Logger)
r.Get("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("welcome developer"))
w.Write([]byte("welcome developer! Cool. Are you debugging?"))
})
http.ListenAndServe(":8000", r)
err := http.ListenAndServe(":"+os.Getenv("SERVER_PORT"), r)
if err != nil {
slog.Error("failed to start server", "error", err)
os.Exit(2)
}
slog.Info("Server start on PORT: " + os.Getenv("SERVER_PORT"))
}
View File
+1
View File
@@ -26,6 +26,7 @@ services:
- .:/usr/src/app
depends_on:
- db
command: ./bin/api.exe
volumes:
postgres-db: