Using champions alias instead of id in urls
All checks were successful
pipeline / build-and-push-images (push) Successful in 25s

This commit is contained in:
2024-11-24 12:13:00 +01:00
parent fc402120ba
commit 862e3f1b99
4 changed files with 27 additions and 13 deletions

View File

@@ -0,0 +1,30 @@
import { MongoClient } from 'mongodb'
async function connectToDatabase() {
// Create a MongoClient with a MongoClientOptions object to set the Stable API version
const client = new MongoClient(`mongodb://${process.env.MONGO_USER}:${process.env.MONGO_PASS}@mongo:27017`)
await client.connect()
return client
}
async function fetchLatestPatch(client) {
const database = client.db("patches");
const patches = database.collection("patches");
const latestPatch = await patches.find().limit(1).sort({date:-1}).next()
return latestPatch.patch
}
async function championInfos(client, patch, championAlias) {
const database = client.db("champions");
const collection = database.collection(patch);
const query = { alias:championAlias };
const championInfo = await collection.findOne(query);
return championInfo
}
export default defineEventHandler(async (event) => {
const championAlias = getRouterParam(event, "alias").toLowerCase()
const client = await connectToDatabase();
const latestPatch = await fetchLatestPatch(client);
const data = await championInfos(client, latestPatch, championAlias);
await client.close()
return data
})