From 02776c4c90aca2d74e989c9476c5840154e0e3d0 Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Tue, 21 Jan 2020 18:58:38 +0100 Subject: [PATCH] Add departure id to departures --- resources/components/departures.html | 2 +- resources/ts/model/departure.ts | 11 ++++++----- src/Model/Departure.php | 17 +++++++++++++++++ .../Database/GenericScheduleRepository.php | 1 + .../ZtmGdansk/ZtmGdanskDepartureRepository.php | 1 + templates/app.html.twig | 8 +++----- 6 files changed, 29 insertions(+), 11 deletions(-) diff --git a/resources/components/departures.html b/resources/components/departures.html index 353b902..b5bcc5a 100644 --- a/resources/components/departures.html +++ b/resources/components/departures.html @@ -1,6 +1,6 @@
diff --git a/resources/ts/model/departure.ts b/resources/ts/model/departure.ts index 966252f..ece154b 100644 --- a/resources/ts/model/departure.ts +++ b/resources/ts/model/departure.ts @@ -3,14 +3,15 @@ import { Line } from "./line"; import { Moment } from "moment"; export interface Departure { - display: string; + id: string; + display: string; estimated: Moment; scheduled?: Moment; - stop: Stop; - line: Line; - delay: number; + stop: Stop; + line: Line; + delay: number; - vehicle?: Vehicle; + vehicle?: Vehicle; } export interface Vehicle { diff --git a/src/Model/Departure.php b/src/Model/Departure.php index c30b346..a4d8c51 100644 --- a/src/Model/Departure.php +++ b/src/Model/Departure.php @@ -11,6 +11,13 @@ class Departure implements Fillable { use FillTrait; + /** + * Unique identifier of departure, can be meaningless. + * @var string + * @Serializer\Type("string") + */ + private $key; + /** * Information about line. * @var Line @@ -58,6 +65,16 @@ class Departure implements Fillable */ private $scheduled; + public function getKey(): string + { + return $this->key; + } + + public function setKey(string $key): void + { + $this->key = $key; + } + public function getLine(): Line { return $this->line; diff --git a/src/Provider/Database/GenericScheduleRepository.php b/src/Provider/Database/GenericScheduleRepository.php index 9d09acc..d0f12b2 100644 --- a/src/Provider/Database/GenericScheduleRepository.php +++ b/src/Provider/Database/GenericScheduleRepository.php @@ -58,6 +58,7 @@ class GenericScheduleRepository extends DatabaseRepository implements ScheduleRe $last = $entity->getTrip()->getTrack()->getStopsInTrack()->last()->getStop(); return Departure::createFromArray([ + 'id' => sprintf('%s::%s', $entity->getTrip()->getId(), $entity->getDeparture()->format('H:i')), 'scheduled' => $entity->getDeparture(), 'stop' => $stop, 'display' => $last->getName(), diff --git a/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php b/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php index e6faedf..a13c296 100644 --- a/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php +++ b/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php @@ -70,6 +70,7 @@ class ZtmGdanskDepartureRepository implements DepartureRepository $estimated = (clone $scheduled)->addSeconds($delay['delayInSeconds']); return Departure::createFromArray([ + 'id' => sprintf('%s::%s', $delay['routeId'], $scheduled->format('H:i')), 'scheduled' => $scheduled, 'estimated' => $estimated, 'stop' => $stop, diff --git a/templates/app.html.twig b/templates/app.html.twig index 3ca067f..0ec12da 100644 --- a/templates/app.html.twig +++ b/templates/app.html.twig @@ -126,17 +126,15 @@ Zapisane -
- - - - + +