Added dynamic loading for every page

This commit is contained in:
2025-05-07 15:53:18 +02:00
parent 5b6a46d81b
commit 60a054a4bb
6 changed files with 143 additions and 50 deletions

View File

@@ -11,6 +11,15 @@ export const getCoasters = (): Promise<any[]> => {
});
};
export const getCoastersByPark = (id: number): Promise<any[]> => {
return new Promise((resolve, reject) => {
db.all("SELECT * FROM coasters WHERE park_id = ?", [id], (err, rows) => {
if (err) reject(err);
else resolve(rows);
});
});
};
export const getCoasterById = (id: number): Promise<any> => {
return new Promise((resolve, reject) => {
db.get("SELECT * FROM coasters WHERE id = ?", [id], (err, row) => {

View File

@@ -1,5 +1,5 @@
import { Router } from 'express';
import { getCoasters, getCoasterById } from '../models/coaster.js';
import { getCoasters, getCoasterById, getCoastersByPark } from '../models/coaster.js';
const router = Router();
@@ -14,6 +14,18 @@ router.get('/', async (req, res) => {
}
});
// Alle Achterbahnen eines Parks anzeigen
router.get('/p/:id', async (req, res) => {
const { id } = req.params;
try {
const coasters = await getCoastersByPark(Number(id));
res.json(coasters);
} catch (err) {
console.error('Fehler beim Abrufen der Achterbahnen:', err);
res.status(500).json({ message: 'Fehler beim Abrufen der Achterbahnen' });
}
});
// Achterbahn nach ID anzeigen
router.get('/:id', async (req, res) => {
const { id } = req.params;