Add badges, checkins, and transport endpoints

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.
This commit is contained in:
2026-09-23 02:09:39 +02:00
parent e5eccb77db
commit b03f5c91e6
22 changed files with 686 additions and 24 deletions
+28
View File
@@ -0,0 +1,28 @@
const express = require("express")
const transportService = require("../../../../services/transportService")
const router = express.Router({ mergeParams: true })
router.get("/:lineId", async (req, res) => {
const { lineId } = req.params
const line = await transportService.getLineById({ lineId })
return res.status(200).json(line)
})
router.get("/:lineId/stations", async (req, res) => {
const { lineId } = req.params
const stations = await transportService.getLineStations({ lineId, directionId: 0 })
return res.status(200).json(stations)
})
router.get("/all", async (req, res) => {
const lines = await transportService.getAllLines()
return res.status(200).json(lines)
})
router.get("/all/:transportType", async (req, res) => {
const { transportType } = req.params
const lines = await transportService.getLinesByTransportType(transportType)
return res.status(200).json(lines)
})
module.exports = router