| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package main
- import (
- "fmt"
- "kng_feed_api/controller"
- cronjob "kng_feed_api/cron-job"
- "kng_feed_api/database"
- "kng_feed_api/model"
- "log"
- "github.com/gin-gonic/gin"
- "github.com/joho/godotenv"
- "github.com/robfig/cron"
- )
- func main() {
- loadEnv()
- loadDatabase()
- startCronJob()
- serveApplication()
- }
- func startCronJob() {
- cron := cron.New()
- cron.AddFunc("@every 15s", cronjob.CreateXMLFeed)
- cron.Start()
- }
- func loadDatabase() {
- database.Connect()
- database.Database.AutoMigrate(&model.User{})
- database.Database.AutoMigrate(model.Product{})
- }
- func loadEnv() {
- err := godotenv.Load(".env.local")
- if err != nil {
- log.Fatal("Error loading .env file")
- }
- }
- func serveApplication() {
- router := gin.Default()
- router.StaticFile("/feed.xml", "./feed.xml") //filepath.Join(helper.RootDir()))
- publicRoutes := router.Group("/auth")
- publicRoutes.POST("/register", controller.Register)
- publicRoutes.POST("/login", controller.Login)
- feedRoutes := router.Group("/feed")
- feedRoutes.POST("/products", controller.LoadProductsInfo)
- feedRoutes.GET("/", controller.SendFileToClient)
- router.Run(":8000")
- fmt.Println("Server running on port 8000")
- }
|