DB connected
This commit is contained in:
Vendored
+16
@@ -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
@@ -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")
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package configs
|
||||||
|
|
||||||
|
import(
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
type APIserver struct {
|
||||||
|
Server_port string
|
||||||
|
}
|
||||||
@@ -6,4 +6,4 @@ type PSQLConfig struct {
|
|||||||
Db_name string
|
Db_name string
|
||||||
Db_port string
|
Db_port string
|
||||||
Host_db string
|
Host_db string
|
||||||
}
|
}
|
||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user