47 lines
921 B
Go
47 lines
921 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"whimsoc/vindn-backend/config"
|
|
"whimsoc/vindn-backend/models"
|
|
"whimsoc/vindn-backend/repositories"
|
|
"whimsoc/vindn-backend/services"
|
|
"whimsoc/vindn-backend/tasks"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
)
|
|
|
|
func main() {
|
|
// Lade .env
|
|
config.LoadEnv()
|
|
|
|
// Verbinde DB
|
|
db := config.ConnectDatabase()
|
|
models.Migrate(db)
|
|
|
|
// Repositories & Services
|
|
eventRepo := repositories.NewEventRepository(db)
|
|
eventService := services.NewEventService(eventRepo)
|
|
|
|
// Starte Cronjob
|
|
tasks.StartCronJobs(eventService)
|
|
|
|
// Direkt beim Start einmal holen
|
|
go func() {
|
|
if err := eventService.ImportEvents(); err != nil {
|
|
log.Printf("Fehler beim initialen Import: %v", err)
|
|
}
|
|
}()
|
|
|
|
app := fiber.New()
|
|
app.Get("/health", func(c *fiber.Ctx) error {
|
|
return c.SendStatus(fiber.StatusOK)
|
|
})
|
|
|
|
log.Printf("Start server")
|
|
|
|
// Starte Fiber
|
|
|
|
log.Fatal(app.Listen(":" + config.GetEnv("PORT", "8080")))
|
|
}
|