From cbb572fdd823f10a7cb7e485c142cd267ec0fe97 Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Tue, 21 Apr 2026 10:10:31 +0700 Subject: [PATCH] refactor(lolschedule): drop stale Leaguepedia references and unused params Module header and api-client top comment still mentioned Leaguepedia / MatchSchedule / keying by league filter. fetchSchedulePage also exposed an unused `leagueId` parameter and returned an unused `olderToken`; remove both to match the actual usage. --- src/modules/lolschedule/api-client.js | 13 +++++-------- src/modules/lolschedule/index.js | 7 ++++--- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/modules/lolschedule/api-client.js b/src/modules/lolschedule/api-client.js index 5037b76..604da4c 100644 --- a/src/modules/lolschedule/api-client.js +++ b/src/modules/lolschedule/api-client.js @@ -7,7 +7,7 @@ * the live site). If Riot ever rotates it, lift the new value from their * public JS bundle. * - * We cache responses in KV keyed by league filter so concurrent user requests + * We cache responses in KV keyed by date range so concurrent user requests * collapse to one upstream hit within the TTL window. */ @@ -43,18 +43,16 @@ const STALE_MAX_AGE_SEC = 60 * 60; */ /** - * Fetch one page of schedule events. Returns events + pagination tokens. + * Fetch one page of schedule events. * * @param {object} [opts] - * @param {string} [opts.pageToken] — `newer`/`older` cursor from a previous call. - * @param {string} [opts.leagueId] — optional comma-separated league IDs. - * @returns {Promise<{ events: ScheduleEvent[], olderToken?: string, newerToken?: string }>} + * @param {string} [opts.pageToken] — forward cursor from a previous call's `newerToken`. + * @returns {Promise<{ events: ScheduleEvent[], newerToken?: string }>} */ -export async function fetchSchedulePage({ pageToken, leagueId } = {}) { +export async function fetchSchedulePage({ pageToken } = {}) { const url = new URL(API_URL); url.searchParams.set("hl", "en-US"); if (pageToken) url.searchParams.set("pageToken", pageToken); - if (leagueId) url.searchParams.set("leagueId", leagueId); const res = await fetch(url.toString(), { headers: { @@ -82,7 +80,6 @@ export async function fetchSchedulePage({ pageToken, leagueId } = {}) { const filtered = events.filter((e) => e?.type !== "show"); // drop pre/post shows return { events: /** @type {ScheduleEvent[]} */ (filtered), - olderToken: schedule?.pages?.older, newerToken: schedule?.pages?.newer, }; } diff --git a/src/modules/lolschedule/index.js b/src/modules/lolschedule/index.js index 561e3f8..d6c8205 100644 --- a/src/modules/lolschedule/index.js +++ b/src/modules/lolschedule/index.js @@ -1,12 +1,13 @@ /** - * @file lolschedule module — LoL esports match schedule via Leaguepedia API. + * @file lolschedule module — LoL esports match schedule via the + * lolesports.com esports-api (the data feed behind lolesports.com). * * Commands: * /lol_today — matches scheduled for the current ICT day, with live/played scores. * /lol_week — next 7 ICT days, grouped per day. * - * Data source: Leaguepedia Cargo `MatchSchedule` table on lol.fandom.com. - * See plans/reports/researcher-260421-0845-leaguepedia-api-verification.md. + * See the module README for the data-source rationale and the verification + * reports under plans/reports/ for historical context. */ import { handleToday, handleWeek } from "./handlers.js";