generated from azures04/Base-REST-API
Introduce gamification and check-in support plus expanded transport/admin APIs. Added DDL for checkins, badges and user_badges. New repositories: badgeRepository, userBadgeRepository, checkinRepository. New routes: admin badge management, admin transport (lines/platforms/stations), public transport endpoints, user checkins and stations endpoints, and user badges on /me. Services updated: adminService (badge CRUD & user assignment), userService (checkins, badge queries), authService (hasAdminRights). Minor package.json name update. These changes implement database, repo, service and route wiring for badges, user_badins and checkin features and additional transport admin routes.
34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
const express = require("express")
|
|
const transportService = require("../../../../services/transportService")
|
|
const router = express.Router({ mergeParams: true })
|
|
|
|
router.get("/:stationId", async (req, res) => {
|
|
const { stationId } = req.params
|
|
const station = await transportService.getStationByIdx({ stationId })
|
|
return res.status(200).json(station)
|
|
})
|
|
|
|
router.get("/:stationId/lines", async (req, res) => {
|
|
const { stationId } = req.params
|
|
const lines = await transportService.getStationLines(stationId)
|
|
return res.status(200).json(lines)
|
|
})
|
|
|
|
router.get("/all", async (req, res) => {
|
|
const stations = await transportService.getAllStations()
|
|
return res.status(200).json(stations)
|
|
})
|
|
|
|
router.get("/:radiusKm/:latitude/:longitude", async (req, res) => {
|
|
const { radiusKm, latitude, longitude } = req.params
|
|
const station = await transportService.getStationsByDistance({ latitude, longitude, radiusKm })
|
|
return res.status(200).json(station)
|
|
})
|
|
|
|
router.get("/accessible/:radiusKm/:latitude/:longitude", async (req, res) => {
|
|
const { radiusKm, latitude, longitude } = req.params
|
|
const station = await transportService.getAccessibleStations({ latitude, longitude, radiusKm })
|
|
return res.status(200).json(station)
|
|
})
|
|
|
|
module.exports = router |