package ktmtrainbot import ( "git.samuelpua.com/telboon/ktm-train-bot/backend/internal/user" "github.com/go-chi/chi" "gorm.io/gorm" ) type Env struct { DB *gorm.DB } func KTMTrainBotRoutes(db *gorm.DB) chi.Router { var env Env env.DB = db // Start running job go env.BackgroundJobRunner() userEnv := user.NewUserEnv(db) r := chi.NewRouter() checkLoggedInUserGroup := r.Group(nil) r.Get("/current-time", env.getCurrentTime) checkLoggedInUserGroup.Use(userEnv.CheckUserMiddleware) checkLoggedInUserGroup.Get("/booking", env.getBookingRoute) checkLoggedInUserGroup.Post("/booking", env.createBookingRoute) checkLoggedInUserGroup.Delete("/booking/{bookingID}", env.deleteBookingRoute) checkLoggedInUserGroup.Put("/booking/{bookingID}/{status}", env.updateBookingStatusRoute) return r }