feat: waypoints

This commit is contained in:
andrekir 2023-02-01 12:16:44 -03:00 committed by Andre K
parent a9784f3747
commit 62420132f1
10 changed files with 214 additions and 14 deletions

View file

@ -45,6 +45,11 @@ class PacketRepository @Inject constructor(private val packetDaoLazy: dagger.Laz
suspend fun deleteMessages(uuidList: List<Long>) = withContext(Dispatchers.IO) {
packetDao.deleteMessages(uuidList)
}
suspend fun deleteWaypoint(id: Int) = withContext(Dispatchers.IO) {
packetDao.deleteWaypoint(id)
}
suspend fun delete(packet: Packet) = withContext(Dispatchers.IO) {
packetDao.delete(packet)
}

View file

@ -59,4 +59,13 @@ interface PacketDao {
@Transaction
fun getQueuedPackets(): List<DataPacket>? =
getDataPackets().filter { it.status in setOf(MessageStatus.ENROUTE, MessageStatus.QUEUED) }
@Query("Select * from packet where port_num = 8 order by received_time asc")
fun getAllWaypoints(): List<Packet>
@Transaction
fun deleteWaypoint(id: Int) {
val uuidList = getAllWaypoints().filter { it.data.waypoint?.id == id }.map { it.uuid }
deleteMessages(uuidList)
}
}