Add API for room occupancy

This commit is contained in:
2023-09-25 15:33:42 +02:00
parent b78d28a6d3
commit 1a768e1188
7 changed files with 249 additions and 65 deletions

View File

@ -47,6 +47,10 @@ class StatusController {
private set
var timetableRequests = HashMap<String, Int>()
private set
var roomListRequests = 0
private set
var roomScheduleRequests = HashMap<String, Int>()
private set
/**
* if a mensamenu/courseList/timetable is requested update the specific and total request count
@ -66,6 +70,16 @@ class StatusController {
totalRequests++
}
fun updateRoomListRequests() {
roomListRequests++
totalRequests++
}
fun updateRoomScheduleRequests(roomName: String) {
roomScheduleRequests[roomName] = (roomScheduleRequests[roomName] ?: 0) + 1
totalRequests++
}
fun getStatus(): Status {
val currentTime = System.currentTimeMillis() / 1000
val minutes = (currentTime - startTime) % 3600 / 60
@ -103,6 +117,10 @@ class StatusController {
timetableRequests,
CacheController.timetableList.size,
Date(CacheController.courseList.meta.updateTime * 1000),
roomListRequests,
roomScheduleRequests,
CacheController.roomScheduleList.size,
Date(CacheController.roomList.meta.updateTime * 1000),
Date(CacheController.mensaMenu.meta.updateTime * 1000),
hsoCode,
swfrCode