diff --git a/back/dist/app.js b/back/dist/app.js index 2e8b024..48bef31 100644 --- a/back/dist/app.js +++ b/back/dist/app.js @@ -1,4 +1,5 @@ import express from 'express'; +import bodyParser from 'body-parser'; import { createClient } from 'hafas-client'; import { profile as dbProfile } from 'hafas-client/p/db/index.js'; import { profile as vbbProfile } from 'hafas-client/p/vbb/index.js'; @@ -11,6 +12,10 @@ import { profile as bartProfile } from 'hafas-client/p/bart/index.js'; import { profile as dartProfile } from 'hafas-client/p/dart/index.js'; import { profile as nrwProfile } from 'hafas-client/p/mobil-nrw/index.js'; import { profile as danmarkProfile } from 'hafas-client/p/rejseplanen/index.js'; +import { profile as blsProfile } from 'hafas-client/p/bls/index.js'; +import { profile as nrwbusradarProfile } from 'hafas-client/p/db-busradar-nrw/index.js'; +import { profile as cmtaProfile } from 'hafas-client/p/cmta/index.js'; +import { profile as vrnProfile } from 'hafas-client/p/vrn/index.js'; const app = express(); const port = 3000; // Adapt this to your project! createClient() won't work with this string. @@ -29,12 +34,17 @@ clients.set("bart", createClient(bartProfile, userAgent)); clients.set("dart", createClient(dartProfile, userAgent)); clients.set("nrw", createClient(nrwProfile, userAgent)); clients.set("danmark", createClient(danmarkProfile, userAgent)); +clients.set("bls", createClient(blsProfile, userAgent)); +clients.set("nrwbus", createClient(nrwbusradarProfile, userAgent)); +clients.set("cmta", createClient(cmtaProfile, userAgent)); +clients.set("vrn", createClient(vrnProfile, userAgent)); app.use((req, res, next) => { res.append('Access-Control-Allow-Origin', ['*']); res.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.append('Access-Control-Allow-Headers', 'Content-Type'); next(); }); +app.use(bodyParser.json()); app.get('/', (req, res) => { client.journeys('8011167', '8000261', { results: 1 }).then(result => res.send(result)).catch(error => res.status(500).send(error)); }); @@ -44,7 +54,7 @@ app.get('/searchStation', (req, res) => { } else { let query = req.query; - clients.get((String)(req.query.service)).locations(query.text, { results: 1 }).then(result => res.send({ name: result[0].name, id: result[0].id })).catch(error => res.status(500).send(error)); + clients.get((String)(req.query.service)).locations(query.text, { results: 1, subStops: false, entrances: false, language: query.language }).then(result => res.send(result[0])).catch(error => res.status(500).send(error)); } }); app.get('/searchStations', (req, res) => { @@ -55,26 +65,23 @@ app.get('/searchStations', (req, res) => { else { let query = req.query; try { - clients.get((String)(req.query.service)).locations(query.text, { results: 6 }).then(result => res.send(result - //.map(entry => {return {name:entry.name, id:entry.id}}) - )).catch(error => res.status(500).send(error)); + clients.get((String)(req.query.service)).locations(query.text, { results: 6, subStops: false, entrances: false, language: query.language }).then(result => res.send(result)).catch(error => res.status(500).send(error)); } catch (e) { res.status(500).send(e); } } }); -app.get('/searchConnection', (req, res) => { - if (!req.query || !req.query.from || !req.query.to || !req.query.date || !req.query.service) { - console.log(req.query); +app.post('/searchConnection', (req, res) => { + if (!req.body.data || !req.body.data.from || !req.body.data.to || !req.body.data.date || !req.body.data.service) { res.send([]); } else { - let query = req.query; - let date = new Date((String)(req.query.date)); + let query = req.body.data; + let date = new Date((String)(query.date)); try { - clients.get((String)(req.query.service)). - journeys(query.from, query.to, { results: 5, departure: date }) + console.log(query.language); + clients.get((String)(query.service)).journeys(query.from, query.to, { results: 5, departure: date, language: query.language }) .then(result => { let journeys = result.journeys; res.send(journeys.map(journey => { @@ -87,13 +94,40 @@ app.get('/searchConnection', (req, res) => { }; })); }) - .catch(error => res.status(500).send(error)); + .catch(error => { + console.log(error); + res.status(500).send(error); + }); } catch (e) { res.status(500).send(e); } } }); +app.get('/findNearby', (req, res) => { + if (!req.query || !req.query.location) { + res.send([]); + } + else { + let query = req.query; + try { + clients.get((String)(req.query.service)).nearby({ type: "location", latitude: parseFloat(query.location.latitude), longitude: parseFloat(query.location.longitude) }, { subStops: false, entrances: false, language: query.language }).then(result => res.send(result)).catch(error => { + console.log(error); + res.status(500).send(error); + }); + } + catch (e) { + res.status(500).send(e); + } + } +}); +app.get('/nearbyTest', (req, res) => { + client.nearby({ + type: 'location', + latitude: 52.5137344, + longitude: 13.4744798 + }, undefined).then(result => res.send(result)).catch(error => res.status(500).send(error)); +}); app.listen(port, () => { return console.log(`Express is listening at http://localhost:${port}`); }); diff --git a/back/dist/app.js.map b/back/dist/app.js.map index 0d0fe44..2436b38 100644 --- a/back/dist/app.js.map +++ b/back/dist/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/back/node_modules/.package-lock.json b/back/node_modules/.package-lock.json index e3115bc..013f44b 100644 --- a/back/node_modules/.package-lock.json +++ b/back/node_modules/.package-lock.json @@ -180,6 +180,7 @@ "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", diff --git a/back/package-lock.json b/back/package-lock.json index bacbc2a..5e58841 100644 --- a/back/package-lock.json +++ b/back/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "@types/hafas-client": "^6.2.0", + "body-parser": "^1.20.3", "express": "^4.21.1", "hafas-client": "^6.3.2" }, @@ -194,6 +195,7 @@ "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", diff --git a/back/package.json b/back/package.json index 4012d1f..6e14bb3 100644 --- a/back/package.json +++ b/back/package.json @@ -14,8 +14,9 @@ }, "dependencies": { "@types/hafas-client": "^6.2.0", + "body-parser": "^1.20.3", "express": "^4.21.1", "hafas-client": "^6.3.2" }, - "type":"module" + "type": "module" } diff --git a/back/src/app.ts b/back/src/app.ts index b8cd4f3..7b68fde 100644 --- a/back/src/app.ts +++ b/back/src/app.ts @@ -1,4 +1,5 @@ import express from 'express'; +import bodyParser from 'body-parser'; import {createClient, HafasClient} from 'hafas-client' import {profile as dbProfile} from 'hafas-client/p/db/index.js' import {profile as vbbProfile} from 'hafas-client/p/vbb/index.js' @@ -11,6 +12,10 @@ import {profile as bartProfile} from 'hafas-client/p/bart/index.js' import {profile as dartProfile} from 'hafas-client/p/dart/index.js' import {profile as nrwProfile} from 'hafas-client/p/mobil-nrw/index.js' import {profile as danmarkProfile} from 'hafas-client/p/rejseplanen/index.js' +import {profile as blsProfile} from 'hafas-client/p/bls/index.js' +import {profile as nrwbusradarProfile} from 'hafas-client/p/db-busradar-nrw/index.js' +import {profile as cmtaProfile} from 'hafas-client/p/cmta/index.js' +import {profile as vrnProfile} from 'hafas-client/p/vrn/index.js' import {Journey} from 'hafas-client' const app = express(); const port = 3000; @@ -32,6 +37,10 @@ clients.set("bart", createClient(bartProfile, userAgent)); clients.set("dart", createClient(dartProfile, userAgent)); clients.set("nrw", createClient(nrwProfile, userAgent)); clients.set("danmark", createClient(danmarkProfile, userAgent)); +clients.set("bls", createClient(blsProfile, userAgent)); +clients.set("nrwbus", createClient(nrwbusradarProfile, userAgent)); +clients.set("cmta", createClient(cmtaProfile, userAgent)); +clients.set("vrn", createClient(vrnProfile, userAgent)); app.use((req, res, next) => { res.append('Access-Control-Allow-Origin', ['*']); res.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); @@ -39,6 +48,8 @@ app.use((req, res, next) => { next(); }); +app.use(bodyParser.json()); + app.get('/', (req, res) => { client.journeys('8011167', '8000261', {results: 1}).then(result => res.send(result)).catch(error => res.status(500).send(error)); }); @@ -47,7 +58,7 @@ app.get('/searchStation', (req, res) => { res.send([]); } else { let query: any = req.query; - clients.get((String) (req.query.service)).locations(query.text, {results:1}).then(result => res.send({name: result[0].name, id:result[0].id})).catch(error => res.status(500).send(error)); + clients.get((String) (req.query.service)).locations(query.text, {results:1, subStops:false, entrances:false, language:query.language}).then(result => res.send(result[0])).catch(error => res.status(500).send(error)); } }); app.get('/searchStations', (req, res) => { @@ -57,24 +68,22 @@ app.get('/searchStations', (req, res) => { } else { let query: any = req.query; try { - clients.get((String) (req.query.service)).locations(query.text, {results:6}).then(result => res.send(result - //.map(entry => {return {name:entry.name, id:entry.id}}) + clients.get((String) (req.query.service)).locations(query.text, {results:6, subStops:false, entrances:false, language:query.language}).then(result => res.send(result )).catch(error => res.status(500).send(error)); } catch (e) { res.status(500).send(e) } } }); -app.get('/searchConnection', (req, res) => { - if(!req.query || !req.query.from || !req.query.to || !req.query.date || !req.query.service){ - console.log(req.query); +app.post('/searchConnection', (req, res) => { + if(!req.body.data || !req.body.data.from || !req.body.data.to || !req.body.data.date || !req.body.data.service){ res.send([]); } else { - let query: any = req.query; - let date: Date = new Date((String)(req.query.date)); + let query: any = req.body.data; + let date: Date = new Date((String)(query.date)); try { - clients.get((String) (req.query.service)). - journeys(query.from, query.to,{results:5, departure:date}) + console.log(query.language) + clients.get((String) (query.service)).journeys(query.from, query.to,{results:5, departure:date, language:query.language}) .then(result => { let journeys: readonly Journey[] = result.journeys; res.send(journeys.map(journey => { return { @@ -85,13 +94,40 @@ app.get('/searchConnection', (req, res) => { price: journey.price, }})) }) - .catch(error => res.status(500).send(error)); + .catch(error => { + console.log(error); + res.status(500).send(error)} + ); + } catch (e) { + res.status(500).send(e) + } + } +}); +app.get('/findNearby', (req, res) => { + if(!req.query || !req.query.location){ + res.send([]); + } else { + let query: any = req.query; + try { + clients.get((String) (req.query.service)).nearby({type:"location", latitude: parseFloat(query.location.latitude), longitude: parseFloat(query.location.longitude)}, {subStops:false, entrances:false, language:query.language}).then(result => res.send(result + )).catch(error => { + console.log(error); + res.status(500).send(error); + }); } catch (e) { res.status(500).send(e) } } }); +app.get('/nearbyTest', (req, res) => { + client.nearby({ + type: 'location', + latitude: 52.5137344, + longitude: 13.4744798 + }, undefined).then(result => res.send(result)).catch(error => res.status(500).send(error)); +}); + app.listen(port, () => { return console.log(`Express is listening at http://localhost:${port}`); }); diff --git a/front/bahnui-front/src/App.vue b/front/bahnui-front/src/App.vue index bdcca70..12e8fe2 100644 --- a/front/bahnui-front/src/App.vue +++ b/front/bahnui-front/src/App.vue @@ -8,6 +8,7 @@
{{ leg.line?.fahrtNr }}
{{ leg.line?.operator?.name }}
-Gleis {{ leg.arrivalPlatform }}