Class UIAnnouncementsService


  • @Component
    public class UIAnnouncementsService
    extends java.lang.Object
    A utility class for formatting responses for the announcements page UI.
    • Method Detail

      • getAnnouncementsAdmin

        public TableResponse<AnnouncementTableModel> getAnnouncementsAdmin​(TableRequest tableRequest)
        Returns a paged list of announcements for an administrator.
        Parameters:
        tableRequest - details about the current page of the table requested
        Returns:
        a TableResponse containing the list of announcements.
      • getAnnouncementsUser

        public java.util.List<AnnouncementUserReadDetails> getAnnouncementsUser​(java.security.Principal principal)
        Returns a list of read and unread announcements for a user.
        Parameters:
        principal - the currently logged in user
        Returns:
        a List of AnnouncementUserReadDetails objects representing read and unread announcements for a user.
      • getReadAnnouncementsUser

        public java.util.List<AnnouncementUserJoin> getReadAnnouncementsUser​(java.security.Principal principal)
        Returns a list of read announcements for a user.
        Parameters:
        principal - the currently logged in user
        Returns:
        a List of unread AnnouncementUserJoins for a user.
      • getUnreadAnnouncementsUser

        public java.util.List<Announcement> getUnreadAnnouncementsUser​(java.security.Principal principal)
        Returns a list of unread announcements for a user.
        Parameters:
        principal - the currently logged in user
        Returns:
        a List of unread Announcements for a user.
      • markAnnouncementAsReadByUser

        public void markAnnouncementAsReadByUser​(java.lang.Long aID,
                                                 java.security.Principal principal)
        Marks an announcement as read.
        Parameters:
        aID - ID of the Announcement to be marked
        principal - the currently logged in user
      • createNewAnnouncement

        public void createNewAnnouncement​(AnnouncementRequest announcementRequest,
                                          java.security.Principal principal)
        Creates a new announcement
        Parameters:
        announcementRequest - details about the announcement to create.
        principal - the currently logged in user
      • updateAnnouncement

        public void updateAnnouncement​(AnnouncementRequest announcementRequest)
        Update an existing announcement
        Parameters:
        announcementRequest - - the details of the announcement to update.
      • deleteAnnouncement

        public void deleteAnnouncement​(AnnouncementRequest announcementRequest)
        Delete an existing announcement.
        Parameters:
        announcementRequest - - the announcement to delete
      • getUserAnnouncementInfoTable

        public TableResponse<AnnouncementUserTableModel> getUserAnnouncementInfoTable​(java.lang.Long announcementID,
                                                                                      TableRequest tableRequest)
        Get user read status for current announcement
        Parameters:
        announcementID - Long identifier for the Announcement
        tableRequest - details about the current page of the table requested
        Returns:
        a TableResponse containing the list of users.