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
PreConditionServiceDefault implementation for
SessionManagementServiceDefault implementation for
WebSocketServiceThis 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
SessionManagementServiceAPI 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.