All Classes and Interfaces

Class
Description
Shared implementation for SessionManagementService, containing common business logic.
Interceptor to retrieve and verify the Jwt Token for authentication of the user.
API contract for ChatController.
Application Event listener for ChatMessageApplicationEvents to handle the received chat messages and user notifications.
 
Entity representing a chat message exchanged in direct or group conversations.
Application event for a chat message.
 
The object to provide message index for chat message within a conversation.
 
 
Producer component responsible for sending chat and notification messages to Messaging Service.
 
 
Consumer component that processes messages from Messaging Service and persists/broadcasts them.
Entity representing a chat room that groups participants and tracks metadata like creation time, last activity, active state and capacity.
 
Service contract for managing chat rooms and user presence in rooms.
Service implementation for chat room management and user presence in rooms.
Entity representing a conversation that can be: - DIRECT: 1-on-1 chat between two users (LinkedIn-style) - GROUP: Private group chat with invited members
API contract for all conversation related endpoints.
REST Controller for managing shared functionality for all conversations (DIRECT, GROUP) Provides LinkedIn-style direct messaging and group chat functionality
Helper class for some common functions related to Conversations.
 
 
Entity representing a participant in a conversation with their role and status
 
 
 
 
Service contract for managing conversations (direct and group).
Service implementation for conversation management (direct and group).
Enum representing different types of conversations in the chat system
Default implementation for PreConditionService
Default implementation for SessionManagementService
Default implementation for WebSocketService
This interface defines the contract for REST API endpoints used for system testing and debugging.
REST controller class for handling debugging/analysis related API requests.
API contract for direct conversation related endpoints.
REST Controller for managing direct conversations Provides LinkedIn-style direct messaging functionality
Service contract for managing direct conversations.
Service implementation for DirectConversationService.
Utility class for constants related to Errors.
The external broker implementation for SessionManagementService
API contract for group conversation related endpoints.
REST Controller for managing group conversations Provides LinkedIn-style direct messaging and group chat functionality
Service contract for managing group conversations.
Service implementation for GroupConversationService.
 
 
 
 
DTO for finding user profile info by provided ids.
 
 
 
 
 
Implementation for MessagingService that simply logs the messages to standard output.
 
Utility class for methods related to message destinations.
Utility class for constants related to message headers.
Entity to track individual read receipts for messages in group conversations.
 
 
 
 
Dto for sending error responses for web socket messages.
 
Service to handle all messaging to send chat messages to appropriate messaging queues.
The supported messaging types to produce and consume the chat messages using the MessagingService
Entity representing a message queued for a user who was offline when it was sent.
 
Service contract for handling offline message queuing, delivery, and notifications.
Service implementation handling offline message queuing, notifications, and delivery.
SpringDoc OpenAPI configuration (server URL customization).
 
 
 
 
Response dto for conversation participants.
Simple statistics for conversations.
Response dto for search results
 
 
Output DTO representing a userprofile.
Enum representing different roles a participant can have in a conversation
Service contract for managing pre-conditions for accessing conversations (direct and group).
RabbitMQ topology and template configuration for chats and notifications.
Represents the configuration properties for a messaging client connection.
Represents the configuration properties for a chat messages.
Implementation for MessagingService that sends the messages to Rabbit MQ queues.
Utility class for constants related to Security.
Service contract for managing websocket sessions.
 
Implementation for MessagingService that sends the messages as Spring Events.
An Stomp OAuth2 credentials provider for RabbitMQ.
An implementation of the ChannelInterceptor to verify if the users are allowed to subscribe to the topics.
Entity representing an application user used by the messaging system to associate messages, presence status and profile information.
REST API contract for user endpoints related to listing, searching, and maintaining users.
 
Represents the configuration properties related to security.
REST controller implementing UserApi for user listing, search and maintenance endpoints.
 
 
Feign Client interface for User Profile Domain Service
 
The authentication object for Web Socket that represents the currently logged-in user.
API contract for WebSocketChatController.
STOMP/WebSocket controller implementing WebSocketChatApi.
WebSocket and STOMP broker configuration for application and user destinations.
Represents the configuration properties for a web sockets.
Listens to WebSocket connect/subscribe/disconnect events to update user presence and trigger offline message delivery and notifications.
 
 
Service contract for interacting with websockets.
Error handler for Stomp errors.