A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
917 B

  1. package org.ros.chatto.service;
  2. import java.time.Instant;
  3. import org.ros.chatto.repository.ChatMessageRepository;
  4. import org.ros.chatto.repository.UserRepository;
  5. import org.ros.chatto.repository.UserSessionRepository;
  6. import org.springframework.stereotype.Service;
  7. import lombok.RequiredArgsConstructor;
  8. @RequiredArgsConstructor
  9. @Service
  10. public class StatisticsService {
  11. private final ChatMessageRepository chatMessageRepository;
  12. private final UserRepository userRepo;
  13. private final UserSessionRepository userSessionRepo;
  14. public Long totalMessage() {
  15. return chatMessageRepository.totalMessages();
  16. }
  17. public Long totalUsers() {
  18. return userRepo.totalUsers();
  19. }
  20. public Long totalUsersOnline() {
  21. return userSessionRepo.totalOnlineUsers();
  22. }
  23. public Long messagesOnDay(Instant date) {
  24. return chatMessageRepository.messagesOnDate(date);
  25. }
  26. }