All Classes and Interfaces
Class
Description
Response payload containing a new access token after refresh token validation.
Main entry point for the Blog API Spring Boot application.
Validates that at least one of the specified fields has a non-blank value.
Validator that checks if at least one specified field contains a non-blank value.
REST controller for user authentication, registration, and token management.
OpenAPI documentation annotations for authentication controller endpoints.
Meta-annotation combining all OpenAPI documentation for the user login endpoint.
Meta-annotation combining all OpenAPI documentation for the logout endpoint.
Meta-annotation combining all OpenAPI documentation for the get current user endpoint.
Meta-annotation combining all OpenAPI documentation for the refresh token endpoint.
Meta-annotation combining all OpenAPI documentation for the user registration endpoint.
Handles authentication operations including user registration, login, token management,
and logout functionality.
Orchestrates user authentication operations by coordinating password hashing, user validation, and token generation.
Production-grade CloudWatch Logs appender for Log4j2.
Handles HTTP requests for comment-related operations.
OpenAPI documentation annotations for comment controller endpoints.
Meta-annotation combining all OpenAPI documentation for the create comment endpoint.
Meta-annotation combining all OpenAPI documentation for the delete comment endpoint.
Meta-annotation combining all OpenAPI documentation for the update comment endpoint.
Data transfer object representing a comment.
Entity representing a comment on a blog post.
Maps between comment entities and DTOs using MapStruct.
Exception thrown when a requested comment is not found.
JPA repository for managing comment persistence operations.
Adapter for comment repository operations with exception handling.
Wraps comment repository operations with exception translation for consistent error handling.
Verifies comment ownership by coordinating with the comment repository and security context.
Service for comment-related business operations.
Orchestrates comment retrieval operations by coordinating with the comment repository adapter.
Data transfer object for creating or updating a comment.
Command object for creating a new user with validated and processed data.
Thrown when attempting to create a user with an already-existing email address.
Standardized error response structure for all API exceptions.
Writes standardized error responses to HTTP servlet responses.
Maps domain-specific exceptions to appropriate HTTP status codes.
Exception thrown when a comment existence check operation fails.
Thrown when a database error occurs while checking if a token has been revoked.
Thrown when a database error occurs during scheduled cleanup of expired revoked tokens.
Exception thrown when a comment creation operation fails.
Exception thrown when post creation fails due to underlying service or repository errors.
Thrown when user creation fails for reasons other than uniqueness constraint violations.
Exception thrown when a comment deletion operation fails.
Thrown when deletion of file metadata by ID fails in the repository.
Thrown when deletion of a file from S3 storage fails.
Exception thrown when a post deletion operation fails due to database or system errors.
Exception thrown when a comment lookup by ID operation fails.
Exception thrown when comment retrieval by post ID fails due to a system error.
Exception thrown when a post lookup by ID fails due to a repository error.
Exception thrown when post retrieval by slug fails due to a system error.
Thrown when the repository fails to retrieve posts by author ID.
Exception thrown when a reaction lookup operation fails.
Thrown when user lookup by ID fails for database-related reasons.
Thrown when a database error occurs during user lookup operations.
Thrown when JWT token claims cannot be parsed due to invalid format or signature.
Thrown when a database error occurs while attempting to persist a revoked token.
Thrown when automatic rollback cleanup of an S3 file upload fails during transaction rollback.
Exception thrown when saving a file entity to the repository fails.
Exception thrown when saving a post to the repository fails.
Exception thrown when a reaction save operation fails.
Exception thrown when storing a file to S3 storage fails.
Exception thrown when a comment update operation fails.
Exception thrown when a post update operation fails due to a repository error.
Thrown when user profile update fails for reasons other than uniqueness constraint violations.
Exception thrown when uploading a file to storage fails.
Represents a file entity with metadata including file path, name, extension, and unique identifier.
Interface for building file access links from storage metadata.
Record holding the separated name and extension components of a filename.
Spring Data JPA repository for file entity persistence operations.
Adapter for file repository operations with exception handling.
Wraps file repository operations with exception translation for consistent error handling.
Service for file upload operations and metadata management.
Orchestrates file upload operations by coordinating storage upload and metadata persistence.
Builds public URLs for file entities by delegating to the file link builder.
Utility class for file-related operations including content type detection, filename parsing, and path normalization.
Centralized exception handler that translates exceptions into standardized error responses.
Cryptographic hashing service for generating irreversible token digests.
Hashes strings using SHA-256 algorithm and returns hexadecimal representation.
Thrown when authentication credentials are invalid.
Generates unique JWT Token Identifiers (JTI) for use as the subject claim in JWTs.
Default implementation of JtiGenerator that produces UUID-based token identifiers.
Handles JWT authentication failures by writing appropriate error responses.
Configuration for JWT parsing and validation using JJWT library.
Provides JWT decoder bean for validating and parsing JWT tokens in Spring Security OAuth2 resource server.
Catches JWT exceptions thrown during request processing and writes error responses.
Low-level utility for generating signed JWT tokens with custom claims and expiration.
Generates JWT tokens using JJWT library with HMAC SHA256 signing.
Generates JWT tokens with preconfigured expiration times for access and refresh flows.
Delegates to JWTHelper with application-configured expiration durations for access and refresh tokens.
Converts JWT tokens to UserPrincipal authentication tokens for Spring Security context.
Request payload for user authentication.
Request payload for user logout containing the refresh token to revoke.
Defines standard MDC (Mapped Diagnostic Context) keys for consistent structured logging across the application.
Populates MDC with authenticated user information for request-scoped logging context.
Configures the Jackson ObjectMapper for JSON serialization and deserialization.
Provides BCrypt password encoding for secure password hashing.
Data transfer object representing a summary of a comment on a post.
REST controller for managing post resources.
OpenAPI documentation annotations for post controller endpoints.
Meta-annotation combining all OpenAPI documentation for the create post endpoint.
Meta-annotation combining all OpenAPI documentation for the delete post by ID endpoint.
Meta-annotation combining all OpenAPI documentation for the get post by slug endpoint.
Meta-annotation combining all OpenAPI documentation for the update post by ID endpoint.
Request data transfer object for creating a new post with title, description, and content.
Response data transfer object containing created post details with ID, slug, and preview image URL.
Data transfer object representing a complete blog post with author and comments.
Represents a blog post with metadata, content, and author relationship.
Mapper for converting between post entities and DTOs.
Exception thrown when a requested post does not exist.
JPA repository for managing post persistence operations.
Adapter for post repository operations with exception handling.
Wraps post repository operations with exception translation for consistent error handling.
Verifies post ownership for authorization purposes.
Verifies post ownership by coordinating with the post repository and security context.
Service for post-related business operations.
Orchestrates post retrieval operations by coordinating with the post repository adapter.
Updates post slugs by regenerating them from the updated title when necessary.
Request DTO for updating a post with partial field updates.
Response DTO for post update operations with updated fields and timestamp.
Data transfer object representing a summary of a user associated with a post or comment.
Handles HTTP requests for reaction-related operations.
OpenAPI documentation annotations for reaction controller endpoints.
Meta-annotation combining all OpenAPI documentation for the set reaction endpoint.
Data transfer object representing a reaction on a post.
Entity representing a user's reaction to a post.
Maps between reaction entities and DTOs using MapStruct.
Exception thrown when a requested reaction is not found.
JPA repository for managing reaction persistence operations.
Adapter for reaction repository operations with exception handling.
Wraps reaction repository operations with exception translation for consistent error handling.
Service for reaction-related business operations.
Orchestrates reaction operations by coordinating with repository adapters.
Data transfer object for setting or updating a reaction on a post.
Enumeration of possible reaction types for posts.
Request payload for refreshing an access token using a valid refresh token.
Request payload for user registration containing credentials and profile information.
Generates unique request IDs and logs HTTP request completion metrics including duration and status.
Scheduled task for removing expired tokens from the revoked tokens table.
Configures and executes scheduled cleanup of expired revoked tokens.
Revoked JWT token entity with automatic timestamp tracking and expiration indexing.
Data access for revoked token entities with operations for token validation and cleanup.
Adapter for revoked token operations with domain-specific exception handling.
Translates database constraint violations and SQL errors into domain-specific exceptions
for revoked token operations.
Builds S3 file access links by combining base URL, bucket name, and file metadata.
Production implementation of FileLinkBuilder for constructing S3 file access URLs.
Service for S3 bucket operations including file uploads.
Implementation of S3 bucket operations using AWS SDK for file uploads.
Configuration class for AWS S3 client with support for custom endpoints and path-style access.
Generates S3 object keys by combining file path, name, and extension.
Configures Spring Security for a stateless JWT-based API.
Configures the Slugify library for generating URL-friendly slugs.
Service for generating unique URL-friendly slugs from post titles.
Generates unique URL-friendly slugs by combining slugified titles with random suffixes.
Utility for analyzing PostgreSQL exceptions and extracting constraint violation details.
Thrown when attempting to revoke a token that has already been revoked.
JWT authentication token pair returned after successful registration or login.
Generates JWT token pairs (access and refresh) with user claims for authentication.
Creates JWT token pairs with embedded user claims for access and refresh authentication flows.
Handles file uploads with automatic rollback when database transactions fail.
Thrown when a request fails authorization due to invalid, expired, or missing authentication credentials.
Request payload for updating user profile information.
Response payload containing updated user profile information.
REST API endpoints for user profile operations.
OpenAPI documentation annotations for user controller endpoints.
Meta-annotation combining all OpenAPI documentation for the get user by username endpoint.
Meta-annotation combining all OpenAPI documentation for the update user profile endpoint.
User profile data transfer object containing personal information and post summaries.
User entity with unique constraints on username and email.
Exception thrown when a user attempts to create a duplicate reaction.
MapStruct mapper for converting user entities and posts to data transfer objects.
Thrown when attempting to create a user with an already-existing username.
Thrown when a requested user does not exist in the system.
Summary information for a user's post including title, description, and preview details.
Represents the authenticated user's identity extracted from JWT token claims.
Spring Security authentication token holding UserPrincipal and JWT credentials.
Data access for user entities with unique constraints on username and email.
Abstracts user repository operations with exception translation for domain-specific errors.
Translates database constraint violations and errors into domain-specific exceptions.
Manages user lifecycle operations.
Orchestrates user operations by coordinating repository access, post retrieval, and entity-to-DTO mapping.