aboutsummaryrefslogtreecommitdiff
path: root/lib/Persist.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Persist.hs')
-rw-r--r--lib/Persist.hs14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Persist.hs b/lib/Persist.hs
index 7ff3f1d..dbab9bd 100644
--- a/lib/Persist.hs
+++ b/lib/Persist.hs
@@ -93,8 +93,14 @@ derivePersistFieldJSON "Value"
-- We derive these here so that OwnTracks.* can become its own package eventually
derivePersistFieldJSON "OwnTracks.Status"
+derivePersistFieldJSON "OwnTracks.Command"
+data CommandStatus = Queued | Sent
+ deriving (Eq, Show, Read, Generic)
+
+derivePersistField "CommandStatus"
+
share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase|
Ticket sql=tt_ticket
Id UUID default=uuid_generate_v4()
@@ -150,6 +156,14 @@ TrackerTicket
tracker TrackerId OnDeleteCascade OnUpdateCascade
UniqueTrackerTicket ticket tracker
+-- owntracks commands enqueued, to be sent to a tracker on next contact
+TrackerCommand sql=tt_tracker_command
+ tracker TrackerId
+ timestamp UTCTime
+ status CommandStatus
+ command OwnTracks.Command
+ deriving Show Eq
+
-- raw frames as received from OBUs
Ping json sql=tt_trip_ping
ticket TicketId Maybe OnDeleteCascade OnUpdateCascade