OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
 
master @ 67 LINES
 
[ HISTORY ]  [ UP ]
 

package indexes

import (
	"fmt"
	"path/filepath"

	"github.com/charmbracelet/log"

	"ookstats/internal/writer"
)

func GenerateSeasonScopeIndex(outDir string, seasonID int) error {
	log.Info("Generating season scope index", "season", seasonID)

	scopes := []ScopeData{
		{
			Scope: "global",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/api/leaderboard/season/%d/global/index.j
son", seasonID)},
			},
		},
		{
			Scope: "us",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/api/leaderboard/season/%d/us/index.json"
, seasonID)},
			},
		},
		{
			Scope: "eu",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/api/leaderboard/season/%d/eu/index.json"
, seasonID)},
			},
		},
		{
			Scope: "kr",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/api/leaderboard/season/%d/kr/index.json"
, seasonID)},
			},
		},
		{
			Scope: "tw",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/api/leaderboard/season/%d/tw/index.json"
, seasonID)},
			},
		},
		{
			Scope: "players",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/api/leaderboard/season/%d/players/index.
json", seasonID)},
			},
		},
	}

	index := SeasonScopeIndex{
		Data:     scopes,
		Metadata: NewIndexMetadata(len(scopes)),
	}

	outPath := filepath.Join(outDir, "api", "leaderboard", "season", fmt.Sprintf("%d"
, seasonID), "index.json")
	if err := writer.WriteJSONFile(outPath, index); err != nil {
		return err
	}

	log.Info("Generated season scope index", "season", seasonID, "path", outPath)
	return nil
}

package indexes

import (
	"fmt"
	"path/filepath"

	"github.com/charmbracelet/log"

	"ookstats/internal/writer"
)

func GenerateSeasonScopeIndex(outDir string,
 seasonID int) error {
	log.Info("Generating season scope index", "
season", seasonID)

	scopes := []ScopeData{
		{
			Scope: "global",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/ap
i/leaderboard/season/%d/global/index.json", 
seasonID)},
			},
		},
		{
			Scope: "us",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/ap
i/leaderboard/season/%d/us/index.json", seas
onID)},
			},
		},
		{
			Scope: "eu",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/ap
i/leaderboard/season/%d/eu/index.json", seas
onID)},
			},
		},
		{
			Scope: "kr",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/ap
i/leaderboard/season/%d/kr/index.json", seas
onID)},
			},
		},
		{
			Scope: "tw",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/ap
i/leaderboard/season/%d/tw/index.json", seas
onID)},
			},
		},
		{
			Scope: "players",
			Links: ScopeLinks{
				Leaderboard: Link{Href: fmt.Sprintf("/ap
i/leaderboard/season/%d/players/index.json",
 seasonID)},
			},
		},
	}

	index := SeasonScopeIndex{
		Data:     scopes,
		Metadata: NewIndexMetadata(len(scopes)),
	}

	outPath := filepath.Join(outDir, "api", "le
aderboard", "season", fmt.Sprintf("%d", seas
onID), "index.json")
	if err := writer.WriteJSONFile(outPath, ind
ex); err != nil {
		return err
	}

	log.Info("Generated season scope index", "s
eason", seasonID, "path", outPath)
	return nil
}
 
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET