const express = require("express") const transportService = require("../../../../../services/transportService") const router = express.Router({ mergeParams: true }) router.post("/", async (req, res) => { const { direction, latitude, longitude, name, stationId, hasElevator, isPRM } = req.body const lines = await transportService.createPlatform({ direction: direction || 0, latitude, longitude, name, stationId, hasElevator, isPRM }) return res.status(201).json(lines) }) router.delete("/:platformId", async (req, res) => { const { platformId } = req.params await transportService.deletePlatform({ platformId }) return res.sendStatus(204) }) router.post("/:platformId/line/:lineId", async (req, res) => { const { platformId, lineId } = req.params const { orderInLine, directionId } = req.body const patchedPlatform = await transportService.addLineToPlatform({ platformId, lineId, orderInLine, directionId }) return res.status(201).json(patchedPlatform) }) router.patch("/:platformId", async (req, res) => { const { platformId } = req.params const { hasElevator, isPRM } = req.body const patchedPlatform = await transportService.updatePlatformAccessibility({ platformId, hasElevator, isPRM }) return res.status(200).json(patchedPlatform) }) router.patch("/:platformLineId/:orderInLine", async (req, res) => { const { platformLineId, orderInLine } = req.params const patchedPlatform = await transportService.updatePlatformLineOrder({ platformLineId, orderInLine }) return res.status(200).json(patchedPlatform) }) router.delete("/:platformId/:lineId", async (req, res) => { const { lineId, platformId, directionId } = req.body await transportService.removeLineFromPlatform({ lineId, platformId, directionId }) return res.sendStatus(204) }) module.exports = router