This commit is contained in:
2026-09-10 13:49:36 -05:00
parent 7a5894d9cb
commit 768f44f669
8 changed files with 13805 additions and 14 deletions
+4 -3
View File
@@ -2,14 +2,15 @@ package routes
import (
"github.com/gofiber/fiber/v2"
"gorm.io/gorm"
"github.com/nprasad2077/NBA_Go/controllers"
"github.com/nprasad2077/NBA_Go/utils/middleware"
"gorm.io/gorm"
)
func RegisterGameRoutes(app *fiber.App, db *gorm.DB) {
// Create a new group for game-related endpoints
api := app.Group("/api/games")
// Register the GET endpoint to fetch games
api.Get("/", controllers.GetGames(db))
// Register the GET endpoint to fetch games with immutable edge caching
api.Get("/", middleware.EdgeCache(middleware.Immutable, "nba-games"), controllers.GetGames(db))
}
+6 -4
View File
@@ -2,14 +2,16 @@ package routes
import (
"github.com/gofiber/fiber/v2"
"gorm.io/gorm"
"github.com/nprasad2077/NBA_Go/controllers"
"github.com/nprasad2077/NBA_Go/utils/middleware"
"gorm.io/gorm"
)
func RegisterPlayerAdvancedRoutes(app *fiber.App, db *gorm.DB) {
api := app.Group("/api/playeradvancedstats")
// api.Get("/fetch", controllers.FetchPlayerAdvancedStats(db))
api.Get("/scrape", controllers.ScrapePlayerAdvancedStats(db))
api.Get("/", controllers.GetAllAdvancedPlayerStats(db))
// Scraper trigger - never cached
api.Get("/scrape", middleware.EdgeCache(middleware.NoCache), controllers.ScrapePlayerAdvancedStats(db))
// Public query endpoint - edge cached with stale-while-revalidate
api.Get("/", middleware.EdgeCache(middleware.SemiDynamic, "nba-player-advanced"), controllers.GetAllAdvancedPlayerStats(db))
}
+5 -3
View File
@@ -3,13 +3,15 @@ package routes
import (
"github.com/gofiber/fiber/v2"
"github.com/nprasad2077/NBA_Go/controllers"
"github.com/nprasad2077/NBA_Go/utils/middleware"
"gorm.io/gorm"
)
// RegisterPlayerShotChartRoutes sets up the shot-chart endpoints
func RegisterPlayerShotChartRoutes(app *fiber.App, db *gorm.DB) {
api := app.Group("/api/playershotchart")
// api.Get("/fetch", controllers.FetchPlayerShotChartAPI(db))
api.Get("/scrape", controllers.ScrapePlayerShotChart(db))
api.Get("/", controllers.GetPlayerShotChart(db))
// Scraper trigger - never cached
api.Get("/scrape", middleware.EdgeCache(middleware.NoCache), controllers.ScrapePlayerShotChart(db))
// Public shot chart query endpoint - immutable 30-day edge cache
api.Get("/", middleware.EdgeCache(middleware.Immutable, "nba-shot-charts"), controllers.GetPlayerShotChart(db))
}
+5 -3
View File
@@ -3,13 +3,15 @@ package routes
import (
"github.com/gofiber/fiber/v2"
"github.com/nprasad2077/NBA_Go/controllers"
"github.com/nprasad2077/NBA_Go/utils/middleware"
"gorm.io/gorm"
)
func RegisterPlayerTotalRoutes(app *fiber.App, db *gorm.DB) {
api := app.Group("/api/playertotals")
// api.Get("/fetch", controllers.FetchPlayerTotalStats(db))
api.Get("/scrape", controllers.ScrapePlayerTotalStats(db))
api.Get("/", controllers.GetPlayerTotalStats(db))
// Scraper trigger - never cached
api.Get("/scrape", middleware.EdgeCache(middleware.NoCache), controllers.ScrapePlayerTotalStats(db))
// Public query endpoint - edge cached with stale-while-revalidate
api.Get("/", middleware.EdgeCache(middleware.SemiDynamic, "nba-player-totals"), controllers.GetPlayerTotalStats(db))
}