Tried adding API-backend
This commit is contained in:
20
api-backend/src/index.ts
Normal file
20
api-backend/src/index.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import * as express from 'express';
|
||||
import pathRoutes from './routes/parkRoutes';
|
||||
import coasterRoutes from './routes/coasterRoutes';
|
||||
|
||||
const app = express();
|
||||
const port = 3000;
|
||||
|
||||
// Middleware für JSON-Anfragen
|
||||
app.use(express.json());
|
||||
|
||||
// Routen hinzufügen
|
||||
app.use('/api/parks', pathRoutes);
|
||||
app.use('/api/coasters', coasterRoutes);
|
||||
|
||||
// Start des Servers
|
||||
app.listen(port, () => {
|
||||
console.log(`Server läuft auf http://localhost:${port}`);
|
||||
});
|
||||
|
||||
export default app;
|
||||
21
api-backend/src/models/coaster.ts
Normal file
21
api-backend/src/models/coaster.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import sqlite3 from 'sqlite3';
|
||||
|
||||
const db = new sqlite3.Database('./coasterdb.sqlite3');
|
||||
|
||||
export const getCoasters = (): Promise<any[]> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.all("SELECT * FROM coasters", (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) => {
|
||||
if (err) reject(err);
|
||||
else resolve(row);
|
||||
});
|
||||
});
|
||||
};
|
||||
21
api-backend/src/models/park.ts
Normal file
21
api-backend/src/models/park.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import sqlite3 from 'sqlite3';
|
||||
|
||||
const db = new sqlite3.Database('./coasterdb.sqlite3');
|
||||
|
||||
export const getParks = (): Promise<any[]> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.all("SELECT * FROM parks", (err, rows) => {
|
||||
if (err) reject(err);
|
||||
else resolve(rows);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
export const getParkById = (id: number): Promise<any> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.get("SELECT * FROM parks WHERE id = ?", [id], (err, row) => {
|
||||
if (err) reject(err);
|
||||
else resolve(row);
|
||||
});
|
||||
});
|
||||
};
|
||||
31
api-backend/src/routes/coasterRoutes.ts
Normal file
31
api-backend/src/routes/coasterRoutes.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { Router } from 'express';
|
||||
import { getCoasters, getCoasterById } from '../models/coaster';
|
||||
|
||||
const router = Router();
|
||||
|
||||
// Alle Achterbahnen anzeigen
|
||||
router.get('/', async (req, res) => {
|
||||
try {
|
||||
const coasters = await getCoasters();
|
||||
res.json(coasters);
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
// Achterbahn nach ID anzeigen
|
||||
router.get('/:id', async (req, res) => {
|
||||
const { id } = req.params;
|
||||
try {
|
||||
const coaster = await getCoasterById(Number(id));
|
||||
if (coaster) {
|
||||
res.json(coaster);
|
||||
} else {
|
||||
res.status(404).json({ message: 'Achterbahn nicht gefunden' });
|
||||
}
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
||||
31
api-backend/src/routes/parkRoutes.ts
Normal file
31
api-backend/src/routes/parkRoutes.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { Router } from 'express';
|
||||
import { getParks, getParkById } from '../models/park';
|
||||
|
||||
const router = Router();
|
||||
|
||||
// Alle Parks anzeigen
|
||||
router.get('/', async (req, res) => {
|
||||
try {
|
||||
const parks = await getParks();
|
||||
res.json(parks);
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
// Park nach ID anzeigen
|
||||
router.get('/:id', async (req, res) => {
|
||||
const { id } = req.params;
|
||||
try {
|
||||
const park = await getParkById(Number(id));
|
||||
if (park) {
|
||||
res.json(park);
|
||||
} else {
|
||||
res.status(404).json({ message: 'Park nicht gefunden' });
|
||||
}
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
||||
Reference in New Issue
Block a user