aboutsummaryrefslogtreecommitdiff
path: root/lib/API.hs (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-05-16new feature: Server.Frontend.Tickerstuebinm1-0/+1
A simple way to have "announcements" available via API, and otherwise distinct from the service announcements which show up in Gtfs Realtime. These are meant to go e.g. be embedded on the operator's website, or in other places where it's not as easy to display per-trip specific messages.
2024-05-15Server.Ingest: new handling of unassigned trackersstuebinm1-2/+16
now takes all potential stops along each trip into account when guessing tickets; also checks if a ticket is still likely in case the tracker switched its direction. This should solve many cases where a tracker is accidentally turned off or falls asleep halfway before the last station of one trip, then wakes up in the middle of the next.
2024-05-02restructure: get the tracker to work againstuebinm1-31/+23
This should hopefully be the final (major) part of the restructuring: a tracker no longer has to know which trip it is on (and indeed it has no idea for now), instead the server keeps state about which trips are currently running and will insert incoming pings in a hopefully reasonable manner, based on their geoposition & time. There's lots of associated TODO items here (especially there should be manual overrides for all this logic in the web ui), but that's work for a future me. (incidentally, this also adds support for sending all log messages out via ntfy-sh)
2024-04-24restructure: save a ticket's stop in the databasestuebinm1-4/+4
now mostly independent of the gtfs, but still no live-reloading of it.
2024-04-20restructure: have "tickets" independent of gtfsstuebinm1-6/+6
this is mostly meant to guard against the gtfs changing under tracktrain, and not yet complete (e.g. a ticket does not yet save its expected stops, which it probably should).
2024-04-17general housekeepingstuebinm1-7/+3
jumps to GHC2021 as default language, adds in some fields, moves the old org mode glossary to markdown, etc.
2024-04-17replace protocol-buffers with proto-lensstuebinm1-7/+26
I do not really like either option, but at least the second one seems more likely to be maintained (and a little less clunky to use, too, for what it's worth).
2023-05-20expose the gtfs.zip used in the APIstuebinm1-13/+21
2023-03-11simple on-board toolsstuebinm1-2/+7
these are just enough to send train positions to tracktrain with the current API, but are somewhat brittle (e.g. will fail if not restarted between trips, etc.)
2023-02-23don't hardcode cssstuebinm1-0/+1
2022-12-13simple realtime position mapstuebinm1-1/+1
(what was that about doing the realtime stuff somewhere else and /not/ in this monolithic server thingie? oh well …)
2022-12-12a subscribe websocket for real-time location infostuebinm1-0/+1
(for a leaflet map view or sth which isn't implemented yet)
2022-10-16simple prometheus metricsstuebinm1-1/+11
2022-09-11on-board-unit: display estimated delay etc.stuebinm1-1/+1
2022-09-11correct the generated openapi descriptionstuebinm1-4/+19
2022-08-28some config thingyesodstuebinm1-1/+1
works kinda well, but doesn't complain about unknown config values in json, which is kinda hmpf tbh
2022-08-28this does way too much tbh (also functioning delays)stuebinm1-1/+0
most of it deals with timezones, and all the weird implications that has
2022-08-27controlroom: lots of pretty little knobsstuebinm1-32/+23
(also some database schema changes, for good measure)
2022-08-14control room: translations & form inputstuebinm1-2/+2
still basic, but works pretty well overall
2022-08-14controlroom: replace servant/lucid with yesodstuebinm1-2/+2
aka use something meant for webapps to write the webapp
2022-07-11somewhat functioning control roomstuebinm1-1/+1
tbh i've kinda lost track at what has all been changed in this, but the control room form handling now works, and i can write announcements into the database. Now on to making it do useful things!
2022-07-07don't have the ControlRoom API in Swaggerstuebinm1-5/+1
just causes pain and isn't really useful for anything since it's a webform API meant to be used by the web frontend, not by other applications.
2022-07-03barebones webform API & frontendstuebinm1-17/+20
2022-07-03remove some unused importsstuebinm1-10/+10
2022-07-02websockets and better (empty) response messagesstuebinm1-9/+13
(tough mostly untested)
2022-07-02rudimentary admin api implementationstuebinm1-3/+4
2022-07-02more or less functional servicealerts for gtfs rtstuebinm1-20/+36
(kinda barebones, but the important things should be there)
2022-07-02gtfs realtime proof of conceptstuebinm1-1/+12
this adds a package for protobuf stuff, generated via hprotoc. Seems to work kinda fine? (the generated API is horrible though, will have to write some wrappers for that)
2022-06-27optional date parameter for the timetable endpointstuebinm1-12/+23
(mostly to make debugging easier, but also more generially useful i guess)
2022-06-16foreign keys are a thingstuebinm1-11/+23
(and they can be useful, too!) Also, documentation & deleting imports / extensions that aren't used.
2022-06-16actually use the databasestuebinm1-0/+35
(at least for a few simple things) Also, more modules!