package main import ( "astra-events/config" "astra-events/handler" "astra-events/model" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "gorm.io/driver/postgres" "gorm.io/gorm" "gorm.io/gorm/logger" "log" "os" "time" ) func main() { newLogger := logger.New( log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer logger.Config{ SlowThreshold: time.Second, // Slow SQL threshold LogLevel: logger.Info, // Log level IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger ParameterizedQueries: true, // Don't include params in the SQL log Colorful: false, // Disable color }, ) db, err := gorm.Open(postgres.Open(config.Env.Server.ConnectionString), &gorm.Config{ Logger: newLogger, }) if err != nil { panic("failed to connect database") } e := echo.New() e.Use(middleware.Logger()) db.AutoMigrate(&model.Event{}) var h = &handler.Handler{DB: db} e.POST("/", h.CreateEvent) e.GET("/:id", h.GetEvent) e.GET("/", h.GetEvents) e.DELETE("/", h.DeleteEvent) e.Logger.Fatal(e.Start(":" + config.Env.Server.Port)) }