diff options
Diffstat (limited to 'shrine/services/stats.go')
| -rw-r--r-- | shrine/services/stats.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/shrine/services/stats.go b/shrine/services/stats.go index 2e31c02..aa2eaab 100644 --- a/shrine/services/stats.go +++ b/shrine/services/stats.go @@ -1,15 +1,25 @@ package services import ( + "shrine/models" "shrine/repositories" "shrine/types/user" ) -func GetStats() user.StatsResponse { - return user.StatsResponse{ +func GetStats(citizen *models.User) user.StatsResponse { + response := user.StatsResponse{ Citizens: repositories.CountCitizens(), Online: repositories.CountOnline(), NewestCitizens: buildCitizenSummaries(repositories.NewestCitizens(5)), OnlineCitizens: buildCitizenSummaries(repositories.OnlineCitizens(10)), } + + if citizen != nil { + response.UnreadLetters = repositories.CountUnreadLetters(citizen.ID) + if citizen.IsStaff() { + response.PendingDistricts = repositories.CountPendingDistrictSites() + } + } + + return response }
\ No newline at end of file |
