diff options
| author | stuebinm | 2026-04-16 01:25:16 +0200 |
|---|---|---|
| committer | stuebinm | 2026-04-16 01:25:51 +0200 |
| commit | 426ecb4e0ccc23e411039b7f075155df275b0a2d (patch) | |
| tree | f89c7820cb61583eed5a0cff0f4040a1576ea155 /lib/API.hs | |
| parent | 4cc892fd4fdf93dded8edfda444a39409e4d1f9d (diff) | |
Server: ingest owntracks messages, frontend tracker view
Diffstat (limited to '')
| -rw-r--r-- | lib/API.hs | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -29,7 +29,7 @@ import Servant.API (Accept, Capture, Get, JSON, MimeRender, MimeUnrender, NoContent, OctetStream, PlainText, Post, QueryParam, Raw, ReqBody, - type (:<|>) (..)) + type (:<|>) (..), QueryFlag) import Servant.API.WebSocket (WebSocket) import Servant.Swagger (HasSwagger (..)) import Web.Internal.FormUrlEncoded (Form) @@ -51,6 +51,7 @@ import Persist import Prometheus import Proto.GtfsRealtime (FeedMessage) import Servant.API.ContentTypes (Accept (..)) +import qualified OwnTracks as OT -- | a bare ping as sent by a tracker device data SentPing = SentPing @@ -75,11 +76,14 @@ type API = :<|> "debug" :> "pings" :> Capture "Ticket Id" UUID :> Get '[JSON] [Ping] :<|> "gtfs.zip" :> Get '[OctetStream] GTFSFile :<|> "gtfs" :> GtfsRealtimeAPI + :<|> "owntracks" :> OwnTracksAPI type GtfsRealtimeAPI = "servicealerts" :> QueryFlag "force" :> Get '[Proto] FeedMessage :<|> "tripupdates" :> QueryFlag "force" :> Get '[Proto] FeedMessage :<|> "vehiclepositions" :> QueryFlag "force" :> Get '[Proto] FeedMessage +type OwnTracksAPI = + "pub" :> QueryParam "u" Text :> QueryParam "d" Text :> ReqBody '[JSON] OT.Message :> Post '[JSON] () type CompleteAPI = |
