/api/v2/pis Ready to go
Signed-off-by: Fred Boniface <fred@fjla.uk>
This commit is contained in:
parent
06259e3d9f
commit
a04570c9e4
6
app.js
6
app.js
@ -30,6 +30,8 @@ const statRtr = require('./src/routes/stats.routes');
|
|||||||
const regRtr = require('./src/routes/registration.routes');
|
const regRtr = require('./src/routes/registration.routes');
|
||||||
const pisRtr = require('./src/routes/pis.routes');
|
const pisRtr = require('./src/routes/pis.routes');
|
||||||
const trainRtr = require('./src/routes/train.routes');
|
const trainRtr = require('./src/routes/train.routes');
|
||||||
|
const pis2Rtr = require('./src/routes/pis2.routes'); // API Version 2 Routes
|
||||||
|
const miscRtr = require('./src/routes/misc.routes'); // Non-Public API Routes
|
||||||
|
|
||||||
// Set Server Configurations
|
// Set Server Configurations
|
||||||
const srvListen = process.env.OWL_SRV_LISTEN || '0.0.0.0';
|
const srvListen = process.env.OWL_SRV_LISTEN || '0.0.0.0';
|
||||||
@ -70,6 +72,10 @@ app.use(express.json()); //JSON Parsing for POST Requests
|
|||||||
app.use(compression()); // Compress API Data if supported by client
|
app.use(compression()); // Compress API Data if supported by client
|
||||||
app.use(limiter);
|
app.use(limiter);
|
||||||
|
|
||||||
|
// 2023 Rationalisation Routes (/api/v2, /misc)
|
||||||
|
app.use('/api/v2/pis', pis2Rtr); // API Version 2 Routes
|
||||||
|
app.use('/misc', miscRtr); // Non public-api endpoints (Stats, Issue, etc.)
|
||||||
|
|
||||||
// Unauthenticated Routes
|
// Unauthenticated Routes
|
||||||
app.use('/api/v1/list', listRtr);
|
app.use('/api/v1/list', listRtr);
|
||||||
app.use('/api/v1/ldb', ldbRtr);
|
app.use('/api/v1/ldb', ldbRtr);
|
||||||
|
@ -11,6 +11,19 @@ async function byOrigDest(req, res, next){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Used in /api/v2 */
|
||||||
|
async function byStartEndCRS(req, res, next){
|
||||||
|
try {
|
||||||
|
let startCrs = req.params.startCrs;
|
||||||
|
let endCrs = req.params.endCrs;
|
||||||
|
res.json(await pis.findPisByOrigDest(startCrs,endCrs));
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Unknown Error', err.message);
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Used in /api/v2 */
|
||||||
async function byCode(req, res, next){
|
async function byCode(req, res, next){
|
||||||
try {
|
try {
|
||||||
let code = req.params.code;
|
let code = req.params.code;
|
||||||
@ -33,6 +46,7 @@ async function random(req, res, next){
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
byOrigDest,
|
byOrigDest,
|
||||||
|
byStartEndCRS,
|
||||||
byCode,
|
byCode,
|
||||||
random
|
random
|
||||||
};
|
};
|
9
src/routes/api1.routes.js
Normal file
9
src/routes/api1.routes.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
|
// Controller Imports
|
||||||
|
|
||||||
|
|
||||||
|
// Routes
|
||||||
|
|
||||||
|
module.exports = router;
|
34
src/routes/api2.routes.js
Normal file
34
src/routes/api2.routes.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
|
/* Controller Imports */
|
||||||
|
|
||||||
|
// Live
|
||||||
|
|
||||||
|
// Timetable
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Ref
|
||||||
|
|
||||||
|
// User
|
||||||
|
|
||||||
|
/* Routes */
|
||||||
|
|
||||||
|
// Live
|
||||||
|
router.get('/live/station/:id/:type');
|
||||||
|
router.get('/live/train/:searchType/:id');
|
||||||
|
|
||||||
|
// Timetable
|
||||||
|
router.get('/timetable/train/:date/:searchType/:id');
|
||||||
|
|
||||||
|
// Ref
|
||||||
|
router.get('/reasonCode/:code');
|
||||||
|
router.get('/locationCode/:searchType/:id');
|
||||||
|
|
||||||
|
// User
|
||||||
|
router.post('/user');
|
||||||
|
router.get('/user/:uuid');
|
||||||
|
router.delete('/user/:uuid');
|
||||||
|
|
||||||
|
module.exports = router;
|
14
src/routes/misc.routes.js
Normal file
14
src/routes/misc.routes.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
|
// Controller Imports
|
||||||
|
|
||||||
|
|
||||||
|
// Routes
|
||||||
|
|
||||||
|
router.get('/server/stats');
|
||||||
|
router.get('/server/versions');
|
||||||
|
|
||||||
|
router.post('issue');
|
||||||
|
|
||||||
|
module.exports = router;
|
9
src/routes/pis2.routes.js
Normal file
9
src/routes/pis2.routes.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const router = express.Router();
|
||||||
|
const pisCtr = require('../controllers/pis.controllers');
|
||||||
|
|
||||||
|
// PIS
|
||||||
|
router.get('/byCode/:code', pisCtr.byCode);
|
||||||
|
router.get('/:startCrs/:endCrs', pisCtr.byStartEndCRS);
|
||||||
|
|
||||||
|
module.exports = router;
|
Loading…
Reference in New Issue
Block a user