Interface IFormRecordChatHandler

    • Method Detail

      • getAllByRecord

        List<FormRecordChat> getAllByRecord​(UserContext uc,
                                            String recordUuid)
        Finds all chats for the form record given by its UUID.
        Parameters:
        uc - user context for accessing the database.
        recordUuid - the UUID of the form record
        Returns:
        a list of form record chats ordered by their creation instant (desc). null if the form record given by the UUID could not be found.
      • getByRecordAndUser

        PagedResult<BaseFormRecordChatDTO> getByRecordAndUser​(UserContext uc,
                                                              UUID recordUuid,
                                                              IUser user,
                                                              int page,
                                                              int pageSize,
                                                              Locale locale)
        Finds the chats for the form record given by its UUID if the given user can access the chat.
        Parameters:
        uc - user context for accessing the database.
        recordUuid - the UUID of the form record
        user - to get the form record chats for.
        page - to get.
        pageSize - size of the page to get.
        Returns:
        a list of form record chats the user has access to ordered by their creation instant (desc). null if the form record given by the UUID could not be found.
        See Also:
        getByUser(UserContext, IUser)
      • getByUser

        PagedResult<FormRecordChat> getByUser​(UserContext uc,
                                              IUser user,
                                              int page,
                                              int pageSize,
                                              int offset)
        Finds all form record chats the given user has access to via the public REST API.
        Parameters:
        uc - user context for database transactions.
        user - user to get the chats for.
        page - to get. Identifies the page by page number. The first page number is 1.
        pageSize - size of the page to get.
        offset - The number of form record chats to skip before starting to collect the result. The offset starts at the beginning of the page given by the page number parameter.
        Returns:
        a list of the user's form record chats ordered by their creation instant (desc).
        See Also:
        getByUser(UserContext, IUser)
      • getByUuid

        FormRecordChat getByUuid​(UserContext uc,
                                 UUID uuid)
        Finds the chat for the given UUID.
        Parameters:
        uc - user context for accessing the database
        uuid - the UUID of the chat
        Returns:
        The chat with the given UUID
      • getByUuidAndUser

        FormRecordChat getByUuidAndUser​(UserContext uc,
                                        UUID uuid,
                                        IUser user)
        Finds the chat for the given UUID if the given user can access the chat.
        Parameters:
        uc - user context for database transactions.
        uuid - the UUID of the chat
        user - user to get the chat for.
        Returns:
        The chat with the given UUID if it exists and the user can access it. null otherwise.
        See Also:
        getByUser(UserContext, IUser)
      • getDetailsByUuidAndUser

        DetailedFormRecordChatDTO getDetailsByUuidAndUser​(UserContext uc,
                                                          UUID uuid,
                                                          IUser user,
                                                          Locale locale)
        Finds the chat for the given UUID if the given user can access the chat.
        Parameters:
        uc - user context for database transactions.
        uuid - the UUID of the chat
        user - user to get the chat for.
        locale - the locale to use for the DTO.
        Returns:
        The chat with the given UUID if it exists and the user can access it. null otherwise.
        See Also:
        getByUser(UserContext, IUser)
      • getFormRecordChatsPage

        PagedResult<BaseFormRecordChatDTO> getFormRecordChatsPage​(UserContext uc,
                                                                  PageQuery page,
                                                                  FormRecordChatsQuery query,
                                                                  boolean skipCount)
        Finds all form record chats that match the given query.
        Parameters:
        uc - user context for accessing the database.
        page - to get.
        query - to filter the form record chats.
        skipCount - whether to skip the count query.
        Returns:
        a list of form record chats that match the query ordered by their creation instant (desc).
      • markReadByEndUser

        void markReadByEndUser​(@NotNull
                               @NotNull UserContext uc,
                               @NotNull
                               @NotNull UUID chatUuid,
                               @NotNull
                               @NotNull IUser user)
        Marks the chat as read for the given end user.
        Parameters:
        uc - user context for accessing the database.
        chatUuid - the UUID of the chat
        user - the end user to mark the chat as read for.
        Since:
        8.4.0
      • markReadByInboxUser

        void markReadByInboxUser​(@NotNull
                                 @NotNull UserContext uc,
                                 @NotNull
                                 @NotNull UUID chatUuid,
                                 @NotNull
                                 @NotNull IUser user)
        Marks the chat as read for the given inbox user.
        Parameters:
        uc - user context for accessing the database.
        chatUuid - the UUID of the chat
        user - the inbox user to mark the chat as read for.
        Since:
        8.4.0