diff --git a/src/main/java/group/goforward/battlbuilder/catalog/classification/package-info.java b/src/main/java/group/goforward/battlbuilder/catalog/classification/package-info.java new file mode 100644 index 0000000..658d49d --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/catalog/classification/package-info.java @@ -0,0 +1,12 @@ + +/** + * Catalog classification package for the BattlBuilder application. + *

+ * This package contains classes responsible for platform resolution, + * rule compilation, and product context classification. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.catalog.classification; diff --git a/src/main/java/group/goforward/battlbuilder/configuration/package-info.java b/src/main/java/group/goforward/battlbuilder/configuration/package-info.java index 9dd2f4f..a640798 100644 --- a/src/main/java/group/goforward/battlbuilder/configuration/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/configuration/package-info.java @@ -1,13 +1,11 @@ -/** - * Provides the classes necessary for the Spring Configurations for the Battl.Builder application. - * This package includes Configurations for Spring-Boot application - * - * - *

The main entry point for managing the inventory is the - * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.

- * - * @since 1.0 - * @author Don Strawsburg - * @version 1.1 - */ -package group.goforward.battlbuilder.configuration; \ No newline at end of file +/** + * Configuration package for the BattlBuilder application. + *

+ * Contains Spring configuration classes for security, CORS, JPA, + * caching, and password encoding. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.configuration; diff --git a/src/main/java/group/goforward/battlbuilder/controllers/admin/package-info.java b/src/main/java/group/goforward/battlbuilder/controllers/admin/package-info.java new file mode 100644 index 0000000..32ff6f6 --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/controllers/admin/package-info.java @@ -0,0 +1,11 @@ +/** + * Admin controllers package for the BattlBuilder application. + *

+ * Contains REST controllers for administrative operations including + * category management, platform configuration, and merchant administration. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.controllers.admin; diff --git a/src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java b/src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java new file mode 100644 index 0000000..e5c9eb1 --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java @@ -0,0 +1,128 @@ +package group.goforward.battlbuilder.controllers.api; + +import group.goforward.battlbuilder.utils.ApiResponse; +import group.goforward.battlbuilder.dto.EmailRequestDto; +import group.goforward.battlbuilder.model.EmailRequest; +import group.goforward.battlbuilder.repos.EmailRequestRepository; +import group.goforward.battlbuilder.services.utils.EmailService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/api/email") +public class EmailController { + + private static final String EMAIL_STATUS_SENT = "SENT"; + + private final EmailService emailService; + private final EmailRequestRepository emailRequestRepository; + + @Autowired + public EmailController(EmailService emailService, EmailRequestRepository emailRequestRepository) { + this.emailService = emailService; + this.emailRequestRepository = emailRequestRepository; + } + + @GetMapping + public ResponseEntity>> getAllEmailRequests() { + try { + List emailRequests = emailRequestRepository.findAll(); + return ResponseEntity.ok( + ApiResponse.success(emailRequests, "Email requests retrieved successfully") + ); + } catch (Exception e) { + return ResponseEntity.status(500).body( + ApiResponse.error("Error retrieving email requests: " + e.getMessage(), null) + ); + } + } + + @GetMapping("/allSent") + public ResponseEntity>> getNotSentEmailRequests() { + try { + List emailRequests = emailRequestRepository.findSent(); + return ResponseEntity.ok( + ApiResponse.success(emailRequests, "Not sent email requests retrieved successfully") + ); + } catch (Exception e) { + return ResponseEntity.status(500).body( + ApiResponse.error("Error retrieving not sent email requests: " + e.getMessage(), null) + ); + } + } + + @GetMapping("/allFailed") + public ResponseEntity>> getFailedEmailRequests() { + try { + List emailRequests = emailRequestRepository.findFailed(); + return ResponseEntity.ok( + ApiResponse.success(emailRequests, "Failed email requests retrieved successfully") + ); + } catch (Exception e) { + return ResponseEntity.status(500).body( + ApiResponse.error("Error retrieving failed email requests: " + e.getMessage(), null) + ); + } + } + + @GetMapping("/allPending") + public ResponseEntity>> getPendingEmailRequests() { + try { + List emailRequests = emailRequestRepository.findPending(); + return ResponseEntity.ok( + ApiResponse.success(emailRequests, "Pending email requests retrieved successfully") + ); + } catch (Exception e) { + return ResponseEntity.status(500).body( + ApiResponse.error("Error retrieving Pending email requests: " + e.getMessage(), null) + ); + } + } + + + @PostMapping("/send") + public ResponseEntity> sendEmail(@RequestBody EmailRequestDto emailDto) { + try { + EmailRequest emailRequest = emailService.sendEmail( + emailDto.getRecipient(), + emailDto.getSubject(), + emailDto.getBody() + ); + return buildEmailResponse(emailRequest); + } catch (Exception e) { + return buildErrorResponse(e.getMessage()); + } + } + @DeleteMapping("/delete/{id}") + public ResponseEntity deleteItem(@PathVariable Integer id) { + return brandService.findById(id) + .map(item -> { + brandService.deleteById(id); + return ResponseEntity.noContent().build(); + }) + .orElse(ResponseEntity.notFound().build()); + } + + private ResponseEntity> buildEmailResponse(EmailRequest emailRequest) { + if (EMAIL_STATUS_SENT.equals(emailRequest.getStatus())) { + return ResponseEntity.ok( + ApiResponse.success(emailRequest, "Email sent successfully") + ); + } else { + String errorMessage = "Failed to send email: " + emailRequest.getErrorMessage(); + return ResponseEntity.status(500).body( + ApiResponse.error(errorMessage, emailRequest) + ); + } + } + + private ResponseEntity> buildErrorResponse(String exceptionMessage) { + String errorMessage = "Error processing email request: " + exceptionMessage; + return ResponseEntity.status(500).body( + ApiResponse.error(errorMessage, null) + ); + } +} \ No newline at end of file diff --git a/src/main/java/group/goforward/battlbuilder/controllers/api/package-info.java b/src/main/java/group/goforward/battlbuilder/controllers/api/package-info.java index d89fa5c..781f23b 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/api/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/api/package-info.java @@ -1,14 +1,11 @@ -/** - * Provides the classes necessary for the public api endpoints for the Battl.Builder - * application Spring Controllers. - * This package includes Controllers for Spring-Boot application - * - * - *

The main entry point for managing the inventory is the - * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.

- * - * @since 1.0 - * @author Don Strawsburg - * @version 1.1 - */ -package group.goforward.battlbuilder.controllers.api; \ No newline at end of file +/** + * API controllers package for the BattlBuilder application. + *

+ * Contains REST API controllers for public-facing endpoints including + * brand management, state information, and user operations. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.controllers.api; diff --git a/src/main/java/group/goforward/battlbuilder/controllers/package-info.java b/src/main/java/group/goforward/battlbuilder/controllers/package-info.java index 5901f12..7f3fa4e 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/package-info.java @@ -1,13 +1,11 @@ /** - * Provides the classes necessary for the Spring Controllers for the Battl.Builder application. - * This package includes Controllers for Spring-Boot application + * Utility controllers package for the BattlBuilder application. + *

+ * Contains utility REST controllers for email handling and + * health check operations. * - * - *

The main entry point for managing the inventory is the - * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.

- * - * @since 1.0 - * @author Don Strawsburg - * @version 1.1 + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 */ package group.goforward.battlbuilder.controllers; \ No newline at end of file diff --git a/src/main/java/group/goforward/battlbuilder/controllers/utils/EmailController.java b/src/main/java/group/goforward/battlbuilder/controllers/utils/EmailController.java deleted file mode 100644 index 56baedd..0000000 --- a/src/main/java/group/goforward/battlbuilder/controllers/utils/EmailController.java +++ /dev/null @@ -1,61 +0,0 @@ - -package group.goforward.battlbuilder.controllers.utils; - -import group.goforward.battlbuilder.ApiResponse; -import group.goforward.battlbuilder.dto.EmailRequestDto; -import group.goforward.battlbuilder.model.EmailRequest; -import group.goforward.battlbuilder.services.utils.EmailService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/api/email") -public class EmailController { - - private static final String EMAIL_STATUS_SENT = "SENT"; - - private final EmailService emailService; - - @Autowired - public EmailController(EmailService emailService) { - this.emailService = emailService; - } - - @PostMapping("/send") - public ResponseEntity> sendEmail(@RequestBody EmailRequestDto emailDto) { - try { - EmailRequest emailRequest = emailService.sendEmail( - emailDto.getRecipient(), - emailDto.getSubject(), - emailDto.getBody() - ); - return buildEmailResponse(emailRequest); - } catch (Exception e) { - return buildErrorResponse(e.getMessage()); - } - } - - private ResponseEntity> buildEmailResponse(EmailRequest emailRequest) { - if (EMAIL_STATUS_SENT.equals(emailRequest.getStatus())) { - return ResponseEntity.ok( - ApiResponse.success(emailRequest, "Email sent successfully") - ); - } else { - String errorMessage = "Failed to send email: " + emailRequest.getErrorMessage(); - return ResponseEntity.status(500).body( - ApiResponse.error(errorMessage, emailRequest) - ); - } - } - - private ResponseEntity> buildErrorResponse(String exceptionMessage) { - String errorMessage = "Error processing email request: " + exceptionMessage; - return ResponseEntity.status(500).body( - ApiResponse.error(errorMessage, null) - ); - } -} \ No newline at end of file diff --git a/src/main/java/group/goforward/battlbuilder/controllers/utils/package-info.java b/src/main/java/group/goforward/battlbuilder/controllers/utils/package-info.java index 3d6ad9a..9d15485 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/utils/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/utils/package-info.java @@ -1,14 +1,11 @@ -/** - * Provides the classes necessary for the utility controllers for the Battl.Builder - * application Spring Controllers. - * This package includes Controllers for Spring-Boot application - * - * - *

The main entry point for managing the inventory is the - * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.

- * - * @since 1.0 - * @author Don Strawsburg - * @version 1.1 - */ -package group.goforward.battlbuilder.controllers.utils; \ No newline at end of file +/** + * Utility controllers package for the BattlBuilder application. + *

+ * Contains utility REST controllers for email handling and + * health check operations. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.controllers.utils; diff --git a/src/main/java/group/goforward/battlbuilder/dto/package_info.java b/src/main/java/group/goforward/battlbuilder/dto/package_info.java new file mode 100644 index 0000000..ee9a48c --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/dto/package_info.java @@ -0,0 +1,12 @@ + +/** + * Web admin DTOs package for the BattlBuilder application. + *

+ * Contains Data Transfer Objects specific to administrative + * operations including user management, mappings, and platform configuration. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.dto; diff --git a/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java b/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java index 8e785a7..8902618 100644 --- a/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java +++ b/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java @@ -5,6 +5,21 @@ import java.time.LocalDateTime; @Entity @Table(name = "email_requests") +@NamedQuery( + name = "EmailRequest.findSent", + query = "SELECT e FROM EmailRequest e WHERE e.status = 'SENT'" +) + +@NamedQuery( + name = "EmailRequest.findFailed", + query = "SELECT e FROM EmailRequest e WHERE e.status = 'FAILED'" +) + +@NamedQuery( + name = "EmailRequest.findPending", + query = "SELECT e FROM EmailRequest e WHERE e.status = 'PENDING'" +) + public class EmailRequest { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/package-info.java b/src/main/java/group/goforward/battlbuilder/model/package-info.java index cd9db33..a23d8e7 100644 --- a/src/main/java/group/goforward/battlbuilder/model/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/model/package-info.java @@ -1 +1,11 @@ -package group.goforward.battlbuilder.model; \ No newline at end of file +/** + * Model package for the BattlBuilder application. + *

+ * Contains JPA entity classes representing the domain model including + * products, merchants, categories, platforms, and user accounts. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.model; diff --git a/src/main/java/group/goforward/battlbuilder/package-info.java b/src/main/java/group/goforward/battlbuilder/package-info.java new file mode 100644 index 0000000..a0c3d14 --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/package-info.java @@ -0,0 +1,11 @@ +/** + * Root package for the BattlBuilder application. + *

+ * BattlBuilder is a comprehensive platform for firearm parts catalog management, + * product classification, and merchant integration. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder; diff --git a/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java b/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java index 4ec6b32..fe9a7e2 100644 --- a/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java +++ b/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java @@ -9,4 +9,10 @@ import java.util.List; @Repository public interface EmailRequestRepository extends JpaRepository { List findByStatus(String status); + + List findFailed(); + + List findSent(); + + List findPending(); } diff --git a/src/main/java/group/goforward/battlbuilder/repos/package-info.java b/src/main/java/group/goforward/battlbuilder/repos/package-info.java index 2887a82..c885a04 100644 --- a/src/main/java/group/goforward/battlbuilder/repos/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/repos/package-info.java @@ -1,13 +1,11 @@ -/** - * Provides the classes necessary for the Spring Repository for the Battl.Builder application. - * This package includes Repository for Spring-Boot application - * - * - *

The main entry point for managing the inventory is the - * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.

- * - * @since 1.0 - * @author Sean Strawsburg - * @version 1.1 - */ -package group.goforward.battlbuilder.repos; \ No newline at end of file +/** + * Repositories package for the BattlBuilder application. + *

+ * Contains Spring Data JPA repository interfaces for database + * access and persistence operations. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.repos; diff --git a/src/main/java/group/goforward/battlbuilder/services/admin/admin_services_package_info.java b/src/main/java/group/goforward/battlbuilder/services/admin/admin_services_package_info.java new file mode 100644 index 0000000..69c9271 --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/services/admin/admin_services_package_info.java @@ -0,0 +1,11 @@ +/** + * Admin services package for the BattlBuilder application. + *

+ * Contains service classes for administrative business logic + * and operations. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.services.admin; diff --git a/src/main/java/group/goforward/battlbuilder/services/impl/BrandServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/impl/BrandServiceImpl.java index 5dd357d..a67fe8a 100644 --- a/src/main/java/group/goforward/battlbuilder/services/impl/BrandServiceImpl.java +++ b/src/main/java/group/goforward/battlbuilder/services/impl/BrandServiceImpl.java @@ -28,7 +28,7 @@ public class BrandServiceImpl implements BrandService { @Override public Brand save(Brand item) { - return null; + return repo.save(item); } @Override diff --git a/src/main/java/group/goforward/battlbuilder/services/impl/package-info.java b/src/main/java/group/goforward/battlbuilder/services/impl/package-info.java index 8ed30f0..9447347 100644 --- a/src/main/java/group/goforward/battlbuilder/services/impl/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/services/impl/package-info.java @@ -1,13 +1,10 @@ -/** - * Provides the classes necessary for the Spring Services implementations for the Battl.Builder application. - * This package includes Services implementations for Spring-Boot application - * - * - *

The main entry point for managing the inventory is the - * {@link group.goforward.battlbuilder.BattlBuilderApplication} class.

- * - * @since 1.0 - * @author Don Strawsburg - * @version 1.1 - */ +/** + * Service implementations package for the BattlBuilder application. + *

+ * Contains implementation classes for service interfaces. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ package group.goforward.battlbuilder.services.impl; \ No newline at end of file diff --git a/src/main/java/group/goforward/battlbuilder/services/package-info.java b/src/main/java/group/goforward/battlbuilder/services/package-info.java index d14c180..b10910c 100644 --- a/src/main/java/group/goforward/battlbuilder/services/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/services/package-info.java @@ -1 +1,12 @@ -package group.goforward.battlbuilder.services; \ No newline at end of file + +/** + * Services package for the BattlBuilder application. + *

+ * Contains business logic service classes for product management, + * category classification, mapping recommendations, and merchant operations. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.services; diff --git a/src/main/java/group/goforward/battlbuilder/services/utils/EmailService.java b/src/main/java/group/goforward/battlbuilder/services/utils/EmailService.java index 056acdb..f7a3075 100644 --- a/src/main/java/group/goforward/battlbuilder/services/utils/EmailService.java +++ b/src/main/java/group/goforward/battlbuilder/services/utils/EmailService.java @@ -4,4 +4,6 @@ import group.goforward.battlbuilder.model.EmailRequest; public interface EmailService { EmailRequest sendEmail(String recipient, String subject, String body); + void deleteById(Integer id); } + diff --git a/src/main/java/group/goforward/battlbuilder/services/utils/impl/EmailServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/utils/impl/EmailServiceImpl.java index 72388bc..e5221bd 100644 --- a/src/main/java/group/goforward/battlbuilder/services/utils/impl/EmailServiceImpl.java +++ b/src/main/java/group/goforward/battlbuilder/services/utils/impl/EmailServiceImpl.java @@ -57,4 +57,9 @@ public class EmailServiceImpl implements EmailService { return emailRequestRepository.save(emailRequest); } + + @Override + public void deleteById(Integer id) { + deleteById(id); + } } diff --git a/src/main/java/group/goforward/battlbuilder/services/utils/impl/package-info.java b/src/main/java/group/goforward/battlbuilder/services/utils/impl/package-info.java new file mode 100644 index 0000000..751196b --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/services/utils/impl/package-info.java @@ -0,0 +1,10 @@ +/** + * Utility service implementations package for the BattlBuilder application. + *

+ * Contains implementation classes for utility service interfaces. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.services.utils.impl; diff --git a/src/main/java/group/goforward/battlbuilder/ApiResponse.java b/src/main/java/group/goforward/battlbuilder/utils/ApiResponse.java similarity index 93% rename from src/main/java/group/goforward/battlbuilder/ApiResponse.java rename to src/main/java/group/goforward/battlbuilder/utils/ApiResponse.java index 4efb1bf..a97bcb6 100644 --- a/src/main/java/group/goforward/battlbuilder/ApiResponse.java +++ b/src/main/java/group/goforward/battlbuilder/utils/ApiResponse.java @@ -1,4 +1,4 @@ -package group.goforward.battlbuilder; +package group.goforward.battlbuilder.utils; import java.time.LocalDateTime; diff --git a/src/main/java/group/goforward/battlbuilder/utils/package-info.java b/src/main/java/group/goforward/battlbuilder/utils/package-info.java new file mode 100644 index 0000000..07c58d3 --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/utils/package-info.java @@ -0,0 +1,11 @@ +/** + * Utilities package for the BattlBuilder application. + *

+ * Contains utility classes and helper functions used throughout + * the application. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.utils; diff --git a/src/main/java/group/goforward/battlbuilder/web/admin/package-info.java b/src/main/java/group/goforward/battlbuilder/web/admin/package-info.java new file mode 100644 index 0000000..babce08 --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/web/admin/package-info.java @@ -0,0 +1,12 @@ + +/** + * Web admin package for the BattlBuilder application. + *

+ * Contains web controllers for administrative interface operations + * including user management, merchant administration, and import status. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.web.admin; diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/auth/package_info.java b/src/main/java/group/goforward/battlbuilder/web/dto/auth/package_info.java new file mode 100644 index 0000000..1d802b6 --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/web/dto/auth/package_info.java @@ -0,0 +1,12 @@ + +/** + * Web authentication DTOs package for the BattlBuilder application. + *

+ * Contains Data Transfer Objects for authentication operations + * including login requests, registration, and authentication responses. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.web.dto.auth; diff --git a/src/main/java/group/goforward/battlbuilder/web/package-info.java b/src/main/java/group/goforward/battlbuilder/web/package-info.java new file mode 100644 index 0000000..f3614bf --- /dev/null +++ b/src/main/java/group/goforward/battlbuilder/web/package-info.java @@ -0,0 +1,11 @@ +/** + * Web package for the BattlBuilder application. + *

+ * Contains web-related classes including controllers and DTOs + * for the web layer. + * + * @author Forward Group, LLC + * @version 1.0 + * @since 2025-12-10 + */ +package group.goforward.battlbuilder.web;