75 lines
1.4 KiB
Go
75 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
db_repo "enshi/db/go_queries"
|
|
"enshi/db_connection"
|
|
"enshi/env"
|
|
"enshi/global"
|
|
"enshi/routes"
|
|
"fmt"
|
|
"io"
|
|
"log"
|
|
"os"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin"
|
|
)
|
|
|
|
var (
|
|
serviceName = os.Getenv("SERVICE_NAME")
|
|
)
|
|
|
|
func main() {
|
|
|
|
if err := env.LoadEnv("utils/secret.env"); err != nil {
|
|
fmt.Println(err.Error())
|
|
return
|
|
}
|
|
|
|
if err := db_connection.SetupDatabase(); err != nil {
|
|
fmt.Println(err.Error())
|
|
return
|
|
}
|
|
defer db_connection.Dbx.Close()
|
|
defer db_connection.Dbx_connection.Close(context.Background())
|
|
|
|
cleanup := routes.InitTracer()
|
|
defer cleanup(context.Background())
|
|
|
|
router := gin.Default()
|
|
router.Use(otelgin.Middleware(serviceName))
|
|
|
|
f, err := os.OpenFile("gin.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
defer f.Close()
|
|
gin.DefaultWriter = io.MultiWriter(f)
|
|
|
|
if err := routes.SetupRotes(router); err != nil {
|
|
fmt.Println(err.Error())
|
|
return
|
|
}
|
|
|
|
// Test Transaction
|
|
tx, _ := db_connection.Dbx.Begin(context.Background())
|
|
defer tx.Rollback(context.Background())
|
|
|
|
repo := db_repo.New(tx)
|
|
|
|
users, _ := repo.GetAllUsers(context.Background())
|
|
|
|
for _, user := range users {
|
|
fmt.Printf("%v\n", user.Username)
|
|
}
|
|
|
|
if err := tx.Commit(context.Background()); err != nil {
|
|
return
|
|
}
|
|
|
|
router.Run(global.GetGinWorkPath())
|
|
|
|
fmt.Printf("Hey!, %v", "you")
|
|
}
|