Start of league API implementation
This commit is contained in:
@@ -0,0 +1,51 @@
|
|||||||
|
const axios = require('axios');
|
||||||
|
|
||||||
|
// Middleware function to fetch leaguees data
|
||||||
|
const fetchleagueesData = async (req, res, next) => {
|
||||||
|
try {
|
||||||
|
// Array of years to fetch leaguees data
|
||||||
|
const league_ids = [2021]; /* Readd , 2002, 2014, 2019, 2015, 2013 */
|
||||||
|
|
||||||
|
// Array to store all leaguees data
|
||||||
|
let allLeagues = [];
|
||||||
|
|
||||||
|
// Loop through each year and fetch leaguees data
|
||||||
|
for (const league_id of league_ids) {
|
||||||
|
const response = await axios({
|
||||||
|
url: `http://api.football-data.org/v4/competitions/${league_id}/standings?season`, /* Resinsert ${league_id} for 2021 */
|
||||||
|
method: 'GET',
|
||||||
|
headers: {
|
||||||
|
'X-Auth-Token': '0aa1ed31245d4a36b1ef5a79150324b3', // Add your API key here
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// Extract relevant data from the API response
|
||||||
|
const leagues = response.data.leagues.map(league => ({
|
||||||
|
competition: {
|
||||||
|
league_id: league.competition.id,
|
||||||
|
league_name: league.competition.name,
|
||||||
|
league_emblem: league.competition.emblem
|
||||||
|
},
|
||||||
|
standings: {
|
||||||
|
table: {
|
||||||
|
league_position: league.standings.table.position,
|
||||||
|
team_id: league.standings.table.team.id,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
||||||
|
// Concatenate leaguees data to allleaguees array
|
||||||
|
allLeaguees = allLeaguees.concat(leagues);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attach all leaguees data to res.locals
|
||||||
|
res.locals.leagues = allLeagues;
|
||||||
|
next();
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching leaguees data:', error);
|
||||||
|
res.locals.leagues = []; // Set an empty array if there's an error
|
||||||
|
next(); // Call next middleware or route handler
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = fetchleagueesData;
|
||||||
@@ -10,6 +10,9 @@
|
|||||||
|
|
||||||
<!-- Container to display league table <- split 50% -->
|
<!-- Container to display league table <- split 50% -->
|
||||||
<div class="container" id="league-table-container">
|
<div class="container" id="league-table-container">
|
||||||
|
{{#each league}}
|
||||||
|
{{> navigation-bar/scoreboard-header/game-card}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user