/
v2.go
42 lines (35 loc) · 1.59 KB
/
v2.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package api
import (
"github.com/vikpe/qw-hub-api/internal/api/v2/handlers/mvdsvh"
"time"
"github.com/gofiber/fiber/v2"
"github.com/patrickmn/go-cache"
"github.com/vikpe/qw-hub-api/internal/api/v2/handlers"
"github.com/vikpe/qw-hub-api/internal/api/v2/handlers/demoh"
"github.com/vikpe/qw-hub-api/pkg/qtvscraper"
"github.com/vikpe/qw-hub-api/pkg/serverscraper"
"github.com/vikpe/qw-hub-api/pkg/twitch"
)
func Init(
router fiber.Router,
serverProvider *serverscraper.Scraper,
twitchProvider *twitch.Scraper,
demoProvider *qtvscraper.Scraper,
) {
router.Get("servers/mvdsv", mvdsvh.Handler(serverProvider.Mvdsv))
router.Get("servers/qtv", handlers.Qtv(serverProvider.Qtv))
router.Get("servers/qwfwd", handlers.Qwfwd(serverProvider.Qwdfwd))
router.Get("servers/:address/lastscores", handlers.ServerLastScores())
router.Get("servers/:address/laststats", handlers.ServerLastStats())
router.Get("servers/:address", handlers.ServerDetails(serverProvider.ServerByAddress))
router.Get("servers", handlers.Servers(serverProvider.Servers))
router.Get("masters/:address", handlers.MasterDetails())
router.Get("streams", handlers.Streams(twitchProvider.Streams, serverProvider.Mvdsv))
scrapeCache := cache.New(15*time.Minute, 30*time.Minute)
router.Get("events", handlers.Events(scrapeCache))
router.Get("news", handlers.News(scrapeCache))
router.Get("forum_posts", handlers.ForumPosts(scrapeCache))
router.Get("games_in_spotlight", handlers.GamesInSpotlight(scrapeCache))
router.Get("wiki_recent_changes", handlers.WikiRecentChanges(scrapeCache))
router.Get("demos", demoh.Handler(demoProvider.Demos))
}