From 3f1e6f7f42b4ec2175a2daf563b48c6952914716 Mon Sep 17 00:00:00 2001 From: Don Strawsburg Date: Tue, 6 Jan 2026 14:42:23 -0500 Subject: [PATCH] more organization may need more feature packages like AI --- .../admin/ClassificationReconcileService.java | 2 +- .../controllers/admin/MerchantAdminController.java | 2 +- .../controllers/admin/PlatformViewController.java | 2 +- .../controllers/api/{ => v1}/EmailController.java | 6 +++--- .../controllers/api/{ => v1}/ImageController.java | 4 ++-- .../{ => domain}/specs/ProductSpecifications.java | 8 ++++---- .../enrichment/model/ProductEnrichment.java | 2 +- .../group/goforward/battlbuilder/model/Account.java | 2 +- .../battlbuilder/model/AffiliateCategoryMap.java | 2 +- .../group/goforward/battlbuilder/model/AuthToken.java | 1 + .../java/group/goforward/battlbuilder/model/Brand.java | 3 ++- .../java/group/goforward/battlbuilder/model/Build.java | 2 +- .../group/goforward/battlbuilder/model/BuildItem.java | 2 +- .../goforward/battlbuilder/model/BuildProfile.java | 2 +- .../battlbuilder/model/CanonicalCategory.java | 2 +- .../goforward/battlbuilder/model/CategoryMapping.java | 2 +- .../goforward/battlbuilder/model/EmailRequest.java | 3 ++- .../goforward/battlbuilder/model/EmailTemplate.java | 2 +- .../group/goforward/battlbuilder/model/FeedImport.java | 2 +- .../group/goforward/battlbuilder/model/ImageBlob.java | 2 +- .../group/goforward/battlbuilder/model/ImageMeta.java | 2 +- .../group/goforward/battlbuilder/model/Merchant.java | 2 +- .../goforward/battlbuilder/model/PartCategory.java | 2 +- .../goforward/battlbuilder/model/PartRoleMapping.java | 2 +- .../goforward/battlbuilder/model/PartRoleRule.java | 2 +- .../group/goforward/battlbuilder/model/Platform.java | 2 +- .../goforward/battlbuilder/model/PlatformRule.java | 2 +- .../goforward/battlbuilder/model/PriceHistory.java | 2 +- .../group/goforward/battlbuilder/model/Product.java | 3 ++- .../goforward/battlbuilder/model/ProductOffer.java | 2 +- .../group/goforward/battlbuilder/model/ShortLink.java | 1 + .../java/group/goforward/battlbuilder/model/State.java | 2 +- .../java/group/goforward/battlbuilder/model/User.java | 2 +- .../goforward/battlbuilder/model/UserActivityLog.java | 2 +- .../battlbuilder/model/{ => enums}/EmailStatus.java | 2 +- .../battlbuilder/model/{ => enums}/ImportStatus.java | 2 +- .../battlbuilder/model/{ => enums}/PartRoleSource.java | 10 +++++++--- .../model/{ => enums}/ProductConfiguration.java | 2 +- .../battlbuilder/model/{ => enums}/ProductStatus.java | 2 +- .../model/{ => enums}/ProductVisibility.java | 2 +- .../goforward/battlbuilder/model/package-info.java | 2 +- .../battlbuilder/repos/EmailRequestRepository.java | 2 +- .../battlbuilder/repos/ProductRepository.java | 2 +- .../catalog/spec/CatalogProductSpecifications.java | 6 +++--- .../services/CategoryClassificationService.java | 2 +- .../services/ImportStatusAdminService.java | 2 +- .../battlbuilder/services/MappingAdminService.java | 2 +- .../services/admin/impl/AdminDashboardService.java | 2 +- .../services/admin/impl/AdminProductServiceImpl.java | 2 +- .../impl/CategoryClassificationServiceImpl.java | 2 +- .../services/impl/MerchantFeedImportServiceImpl.java | 2 +- .../services/impl/ReclassificationServiceImpl.java | 4 ++-- .../services/utils/impl/EmailServiceImpl.java | 2 +- .../web/admin/AdminImportStatusController.java | 2 +- .../web/dto/ImportStatusByMerchantDto.java | 2 +- .../battlbuilder/web/dto/ImportStatusSummaryDto.java | 2 +- .../web/dto/admin/AdminProductSearchRequest.java | 6 +++--- .../battlbuilder/web/dto/admin/ProductAdminRowDto.java | 7 +++---- .../web/dto/admin/ProductBulkUpdateRequest.java | 4 ++-- 59 files changed, 82 insertions(+), 74 deletions(-) rename src/main/java/group/goforward/battlbuilder/controllers/api/{ => v1}/EmailController.java (97%) rename src/main/java/group/goforward/battlbuilder/controllers/api/{ => v1}/ImageController.java (92%) rename src/main/java/group/goforward/battlbuilder/{ => domain}/specs/ProductSpecifications.java (94%) rename src/main/java/group/goforward/battlbuilder/model/{ => enums}/EmailStatus.java (55%) rename src/main/java/group/goforward/battlbuilder/model/{ => enums}/ImportStatus.java (81%) rename src/main/java/group/goforward/battlbuilder/model/{ => enums}/PartRoleSource.java (61%) rename src/main/java/group/goforward/battlbuilder/model/{ => enums}/ProductConfiguration.java (85%) rename src/main/java/group/goforward/battlbuilder/model/{ => enums}/ProductStatus.java (57%) rename src/main/java/group/goforward/battlbuilder/model/{ => enums}/ProductVisibility.java (53%) diff --git a/src/main/java/group/goforward/battlbuilder/classification/admin/ClassificationReconcileService.java b/src/main/java/group/goforward/battlbuilder/classification/admin/ClassificationReconcileService.java index a4df457..4b2118a 100644 --- a/src/main/java/group/goforward/battlbuilder/classification/admin/ClassificationReconcileService.java +++ b/src/main/java/group/goforward/battlbuilder/classification/admin/ClassificationReconcileService.java @@ -3,7 +3,7 @@ package group.goforward.battlbuilder.classification.admin; import group.goforward.battlbuilder.classification.ClassificationResult; import group.goforward.battlbuilder.classification.ProductClassifier; import group.goforward.battlbuilder.model.MerchantCategoryMap; -import group.goforward.battlbuilder.model.PartRoleSource; +import group.goforward.battlbuilder.model.enums.PartRoleSource; import group.goforward.battlbuilder.model.Product; import group.goforward.battlbuilder.repos.ProductRepository; import group.goforward.battlbuilder.repos.ProductOfferRepository; diff --git a/src/main/java/group/goforward/battlbuilder/controllers/admin/MerchantAdminController.java b/src/main/java/group/goforward/battlbuilder/controllers/admin/MerchantAdminController.java index fc9ed5d..b86fa06 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/admin/MerchantAdminController.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/admin/MerchantAdminController.java @@ -1,5 +1,5 @@ // MerchantAdminController.java -package group.goforward.battlbuilder.controllers; +package group.goforward.battlbuilder.controllers.admin; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; diff --git a/src/main/java/group/goforward/battlbuilder/controllers/admin/PlatformViewController.java b/src/main/java/group/goforward/battlbuilder/controllers/admin/PlatformViewController.java index 1ec28ef..6951c1c 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/admin/PlatformViewController.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/admin/PlatformViewController.java @@ -1,4 +1,4 @@ -package group.goforward.battlbuilder.controllers; +package group.goforward.battlbuilder.controllers.admin; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; diff --git a/src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java b/src/main/java/group/goforward/battlbuilder/controllers/api/v1/EmailController.java similarity index 97% rename from src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java rename to src/main/java/group/goforward/battlbuilder/controllers/api/v1/EmailController.java index 53ad9fc..01b1105 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/api/EmailController.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/api/v1/EmailController.java @@ -1,9 +1,9 @@ -package group.goforward.battlbuilder.controllers.api; +package group.goforward.battlbuilder.controllers.api.v1; import group.goforward.battlbuilder.common.ApiResponse; import group.goforward.battlbuilder.dto.EmailRequestDto; import group.goforward.battlbuilder.model.EmailRequest; -import group.goforward.battlbuilder.model.EmailStatus; +import group.goforward.battlbuilder.model.enums.EmailStatus; import group.goforward.battlbuilder.repos.EmailRequestRepository; import group.goforward.battlbuilder.services.utils.EmailService; import org.springframework.beans.factory.annotation.Autowired; @@ -16,7 +16,7 @@ import java.util.Arrays; import java.util.List; @RestController -@RequestMapping("/api/email") +@RequestMapping({"/api/email","/api/v1/email"}) public class EmailController { private static final EmailStatus EMAIL_STATUS_SENT = EmailStatus.SENT; diff --git a/src/main/java/group/goforward/battlbuilder/controllers/api/ImageController.java b/src/main/java/group/goforward/battlbuilder/controllers/api/v1/ImageController.java similarity index 92% rename from src/main/java/group/goforward/battlbuilder/controllers/api/ImageController.java rename to src/main/java/group/goforward/battlbuilder/controllers/api/v1/ImageController.java index 9db5bfd..2d690c6 100644 --- a/src/main/java/group/goforward/battlbuilder/controllers/api/ImageController.java +++ b/src/main/java/group/goforward/battlbuilder/controllers/api/v1/ImageController.java @@ -1,4 +1,4 @@ -package group.goforward.battlbuilder.controllers.api; +package group.goforward.battlbuilder.controllers.api.v1; import group.goforward.battlbuilder.model.ImageMeta; import group.goforward.battlbuilder.security.UserPrincipal; @@ -14,7 +14,7 @@ import java.io.InputStream; import java.time.Duration; @RestController -@RequestMapping("/api/images") +@RequestMapping({"/api/images", "/api/v1/images"}) public class ImageController { private final ImageService imageService; diff --git a/src/main/java/group/goforward/battlbuilder/specs/ProductSpecifications.java b/src/main/java/group/goforward/battlbuilder/domain/specs/ProductSpecifications.java similarity index 94% rename from src/main/java/group/goforward/battlbuilder/specs/ProductSpecifications.java rename to src/main/java/group/goforward/battlbuilder/domain/specs/ProductSpecifications.java index 598bc87..084aa84 100644 --- a/src/main/java/group/goforward/battlbuilder/specs/ProductSpecifications.java +++ b/src/main/java/group/goforward/battlbuilder/domain/specs/ProductSpecifications.java @@ -1,9 +1,9 @@ -package group.goforward.battlbuilder.specs; +package group.goforward.battlbuilder.domain.specs; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; import group.goforward.battlbuilder.model.Product; -import group.goforward.battlbuilder.model.ProductStatus; -import group.goforward.battlbuilder.model.ProductVisibility; +import group.goforward.battlbuilder.model.enums.ProductStatus; +import group.goforward.battlbuilder.model.enums.ProductVisibility; import group.goforward.battlbuilder.web.dto.admin.AdminProductSearchRequest; import org.springframework.data.jpa.domain.Specification; diff --git a/src/main/java/group/goforward/battlbuilder/enrichment/model/ProductEnrichment.java b/src/main/java/group/goforward/battlbuilder/enrichment/model/ProductEnrichment.java index 6202120..abe85f5 100644 --- a/src/main/java/group/goforward/battlbuilder/enrichment/model/ProductEnrichment.java +++ b/src/main/java/group/goforward/battlbuilder/enrichment/model/ProductEnrichment.java @@ -13,7 +13,7 @@ import java.util.HashMap; import java.util.Map; @Entity -@Table(name = "product_enrichments") +@Table(name = "product_enrichments", schema = "public") public class ProductEnrichment { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/Account.java b/src/main/java/group/goforward/battlbuilder/model/Account.java index f898479..e02ea33 100644 --- a/src/main/java/group/goforward/battlbuilder/model/Account.java +++ b/src/main/java/group/goforward/battlbuilder/model/Account.java @@ -10,7 +10,7 @@ import java.time.OffsetDateTime; import java.util.UUID; @Entity -@Table(name = "accounts") +@Table(name = "accounts", schema = "public" ) public class Account { @Id @ColumnDefault("gen_random_uuid()") diff --git a/src/main/java/group/goforward/battlbuilder/model/AffiliateCategoryMap.java b/src/main/java/group/goforward/battlbuilder/model/AffiliateCategoryMap.java index fe99ee9..4912f92 100644 --- a/src/main/java/group/goforward/battlbuilder/model/AffiliateCategoryMap.java +++ b/src/main/java/group/goforward/battlbuilder/model/AffiliateCategoryMap.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import java.time.OffsetDateTime; @Entity -@Table(name = "affiliate_category_map") +@Table(name = "affiliate_category_map", schema = "public") public class AffiliateCategoryMap { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/AuthToken.java b/src/main/java/group/goforward/battlbuilder/model/AuthToken.java index 0a5984c..4516654 100644 --- a/src/main/java/group/goforward/battlbuilder/model/AuthToken.java +++ b/src/main/java/group/goforward/battlbuilder/model/AuthToken.java @@ -6,6 +6,7 @@ import java.time.OffsetDateTime; @Entity @Table( name = "auth_tokens", + schema = "public", indexes = { @Index(name = "idx_auth_tokens_email", columnList = "email"), @Index(name = "idx_auth_tokens_type_hash", columnList = "type, token_hash") diff --git a/src/main/java/group/goforward/battlbuilder/model/Brand.java b/src/main/java/group/goforward/battlbuilder/model/Brand.java index ffdab93..f90fe18 100644 --- a/src/main/java/group/goforward/battlbuilder/model/Brand.java +++ b/src/main/java/group/goforward/battlbuilder/model/Brand.java @@ -8,7 +8,8 @@ import java.time.Instant; import java.util.UUID; @Entity -@Table(name = "brands") +@Table(name = "brands", + schema = "public") public class Brand { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/Build.java b/src/main/java/group/goforward/battlbuilder/model/Build.java index e857cf8..62de704 100644 --- a/src/main/java/group/goforward/battlbuilder/model/Build.java +++ b/src/main/java/group/goforward/battlbuilder/model/Build.java @@ -8,7 +8,7 @@ import java.time.OffsetDateTime; import java.util.UUID; @Entity -@Table(name = "builds") +@Table(name = "builds", schema = "public") public class Build { // ----------------------------------------------------- diff --git a/src/main/java/group/goforward/battlbuilder/model/BuildItem.java b/src/main/java/group/goforward/battlbuilder/model/BuildItem.java index 225f28d..fc5d523 100644 --- a/src/main/java/group/goforward/battlbuilder/model/BuildItem.java +++ b/src/main/java/group/goforward/battlbuilder/model/BuildItem.java @@ -10,7 +10,7 @@ import java.time.OffsetDateTime; import java.util.UUID; @Entity -@Table(name = "build_items") +@Table(name = "build_items", schema = "public") public class BuildItem { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/src/main/java/group/goforward/battlbuilder/model/BuildProfile.java b/src/main/java/group/goforward/battlbuilder/model/BuildProfile.java index cfac638..6acd34e 100644 --- a/src/main/java/group/goforward/battlbuilder/model/BuildProfile.java +++ b/src/main/java/group/goforward/battlbuilder/model/BuildProfile.java @@ -14,7 +14,7 @@ import java.time.OffsetDateTime; * - Keep it lightweight. Anything social (votes/comments/media) lives elsewhere. */ @Entity -@Table(name = "build_profiles") +@Table(name = "build_profiles", schema = "public") public class BuildProfile { // ----------------------------------------------------- diff --git a/src/main/java/group/goforward/battlbuilder/model/CanonicalCategory.java b/src/main/java/group/goforward/battlbuilder/model/CanonicalCategory.java index 110a7a8..00f5ea1 100644 --- a/src/main/java/group/goforward/battlbuilder/model/CanonicalCategory.java +++ b/src/main/java/group/goforward/battlbuilder/model/CanonicalCategory.java @@ -7,7 +7,7 @@ import java.time.OffsetDateTime; import java.time.ZoneOffset; @Entity -@Table(name = "canonical_categories") +@Table(name = "canonical_categories", schema = "public") public class CanonicalCategory { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/CategoryMapping.java b/src/main/java/group/goforward/battlbuilder/model/CategoryMapping.java index 319433e..2ad225e 100644 --- a/src/main/java/group/goforward/battlbuilder/model/CategoryMapping.java +++ b/src/main/java/group/goforward/battlbuilder/model/CategoryMapping.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import java.time.OffsetDateTime; @Entity -@Table(name = "category_mappings") +@Table(name = "category_mappings", schema = "public") public class CategoryMapping { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java b/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java index ec77e8e..8573df6 100644 --- a/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java +++ b/src/main/java/group/goforward/battlbuilder/model/EmailRequest.java @@ -1,11 +1,12 @@ package group.goforward.battlbuilder.model; +import group.goforward.battlbuilder.model.enums.EmailStatus; import jakarta.persistence.*; import java.time.LocalDateTime; @Entity -@Table(name = "email_requests") +@Table(name = "email_requests", schema = "public") @NamedQueries({ @NamedQuery( name = "EmailRequest.findSent", diff --git a/src/main/java/group/goforward/battlbuilder/model/EmailTemplate.java b/src/main/java/group/goforward/battlbuilder/model/EmailTemplate.java index 9ceebec..943beb7 100644 --- a/src/main/java/group/goforward/battlbuilder/model/EmailTemplate.java +++ b/src/main/java/group/goforward/battlbuilder/model/EmailTemplate.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import java.time.LocalDateTime; @Entity -@Table(name = "email_template") +@Table(name = "email_template", schema = "public") public class EmailTemplate { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/FeedImport.java b/src/main/java/group/goforward/battlbuilder/model/FeedImport.java index 5b258b4..506ad1a 100644 --- a/src/main/java/group/goforward/battlbuilder/model/FeedImport.java +++ b/src/main/java/group/goforward/battlbuilder/model/FeedImport.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import java.time.Instant; @Entity -@Table(name = "feed_imports") +@Table(name = "feed_imports", schema = "public") public class FeedImport { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/ImageBlob.java b/src/main/java/group/goforward/battlbuilder/model/ImageBlob.java index 3e87a86..3da6a51 100644 --- a/src/main/java/group/goforward/battlbuilder/model/ImageBlob.java +++ b/src/main/java/group/goforward/battlbuilder/model/ImageBlob.java @@ -3,7 +3,7 @@ package group.goforward.battlbuilder.model; import jakarta.persistence.*; @Entity -@Table(name = "image_blob") +@Table(name = "image_blob", schema = "public") public class ImageBlob { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/ImageMeta.java b/src/main/java/group/goforward/battlbuilder/model/ImageMeta.java index 881fa57..0cd4090 100644 --- a/src/main/java/group/goforward/battlbuilder/model/ImageMeta.java +++ b/src/main/java/group/goforward/battlbuilder/model/ImageMeta.java @@ -3,7 +3,7 @@ import jakarta.persistence.*; import java.time.Instant; @Entity -@Table(name = "image_meta") +@Table(name = "image_meta", schema = "public") public class ImageMeta { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/Merchant.java b/src/main/java/group/goforward/battlbuilder/model/Merchant.java index f757e47..5f20f42 100644 --- a/src/main/java/group/goforward/battlbuilder/model/Merchant.java +++ b/src/main/java/group/goforward/battlbuilder/model/Merchant.java @@ -6,7 +6,7 @@ import org.hibernate.annotations.ColumnDefault; import java.time.OffsetDateTime; @Entity -@Table(name = "merchants") +@Table(name = "merchants", schema = "public") public class Merchant { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/PartCategory.java b/src/main/java/group/goforward/battlbuilder/model/PartCategory.java index fd3871a..b6163b2 100644 --- a/src/main/java/group/goforward/battlbuilder/model/PartCategory.java +++ b/src/main/java/group/goforward/battlbuilder/model/PartCategory.java @@ -7,7 +7,7 @@ import java.time.OffsetDateTime; import java.util.UUID; @Entity -@Table(name = "part_categories") +@Table(name = "part_categories", schema = "public") public class PartCategory { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/PartRoleMapping.java b/src/main/java/group/goforward/battlbuilder/model/PartRoleMapping.java index b469efe..e60d60f 100644 --- a/src/main/java/group/goforward/battlbuilder/model/PartRoleMapping.java +++ b/src/main/java/group/goforward/battlbuilder/model/PartRoleMapping.java @@ -4,7 +4,7 @@ import jakarta.persistence.*; import java.time.OffsetDateTime; @Entity -@Table(name = "part_role_mappings") +@Table(name = "part_role_mappings", schema = "public") public class PartRoleMapping { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/PartRoleRule.java b/src/main/java/group/goforward/battlbuilder/model/PartRoleRule.java index fd3eb8b..6bd7a7e 100644 --- a/src/main/java/group/goforward/battlbuilder/model/PartRoleRule.java +++ b/src/main/java/group/goforward/battlbuilder/model/PartRoleRule.java @@ -4,7 +4,7 @@ import jakarta.persistence.*; import java.time.Instant; @Entity -@Table(name = "part_role_rules") +@Table(name = "part_role_rules", schema = "public") public class PartRoleRule { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/Platform.java b/src/main/java/group/goforward/battlbuilder/model/Platform.java index a2627d8..0aaed18 100644 --- a/src/main/java/group/goforward/battlbuilder/model/Platform.java +++ b/src/main/java/group/goforward/battlbuilder/model/Platform.java @@ -7,7 +7,7 @@ import org.hibernate.annotations.ColumnDefault; import java.time.OffsetDateTime; @Entity -@Table(name = "platforms") +@Table(name = "platforms", schema = "public") public class Platform { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/src/main/java/group/goforward/battlbuilder/model/PlatformRule.java b/src/main/java/group/goforward/battlbuilder/model/PlatformRule.java index bb6b82c..0ce630e 100644 --- a/src/main/java/group/goforward/battlbuilder/model/PlatformRule.java +++ b/src/main/java/group/goforward/battlbuilder/model/PlatformRule.java @@ -5,7 +5,7 @@ import jakarta.persistence.*; import java.time.OffsetDateTime; @Entity -@Table(name = "platform_rules") +@Table(name = "platform_rules", schema = "public") public class PlatformRule { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/PriceHistory.java b/src/main/java/group/goforward/battlbuilder/model/PriceHistory.java index 2ddb0ab..076390f 100644 --- a/src/main/java/group/goforward/battlbuilder/model/PriceHistory.java +++ b/src/main/java/group/goforward/battlbuilder/model/PriceHistory.java @@ -6,7 +6,7 @@ import java.math.BigDecimal; import java.time.Instant; @Entity -@Table(name = "price_history") +@Table(name = "price_history", schema = "public") public class PriceHistory { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/Product.java b/src/main/java/group/goforward/battlbuilder/model/Product.java index 7b20308..a45695a 100644 --- a/src/main/java/group/goforward/battlbuilder/model/Product.java +++ b/src/main/java/group/goforward/battlbuilder/model/Product.java @@ -1,5 +1,6 @@ package group.goforward.battlbuilder.model; +import group.goforward.battlbuilder.model.enums.*; import jakarta.persistence.*; import java.time.Instant; import java.util.UUID; @@ -10,7 +11,7 @@ import java.util.Set; import java.util.HashSet; @Entity -@Table(name = "products") +@Table(name = "products", schema="public") @NamedQuery(name="Products.findByPlatformWithBrand", query= "" + "SELECT p FROM Product p" + " JOIN FETCH p.brand b" + diff --git a/src/main/java/group/goforward/battlbuilder/model/ProductOffer.java b/src/main/java/group/goforward/battlbuilder/model/ProductOffer.java index 7219cce..54bc3c9 100644 --- a/src/main/java/group/goforward/battlbuilder/model/ProductOffer.java +++ b/src/main/java/group/goforward/battlbuilder/model/ProductOffer.java @@ -9,7 +9,7 @@ import java.math.BigDecimal; import java.time.OffsetDateTime; @Entity -@Table(name = "product_offers") +@Table(name = "product_offers", schema = "public") public class ProductOffer { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/ShortLink.java b/src/main/java/group/goforward/battlbuilder/model/ShortLink.java index 66a157c..f47856a 100644 --- a/src/main/java/group/goforward/battlbuilder/model/ShortLink.java +++ b/src/main/java/group/goforward/battlbuilder/model/ShortLink.java @@ -10,6 +10,7 @@ import java.util.UUID; @Entity @Table( name = "short_links", + schema = "public", indexes = { @Index(name = "idx_short_links_code", columnList = "code"), @Index(name = "idx_short_links_type_offer", columnList = "type,product_offer_id"), diff --git a/src/main/java/group/goforward/battlbuilder/model/State.java b/src/main/java/group/goforward/battlbuilder/model/State.java index 5e540e4..94b4dde 100644 --- a/src/main/java/group/goforward/battlbuilder/model/State.java +++ b/src/main/java/group/goforward/battlbuilder/model/State.java @@ -6,7 +6,7 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; @Entity -@Table(name = "states") +@Table(name = "states", schema = "public") public class State { @Id @Column(name = "id", nullable = false) diff --git a/src/main/java/group/goforward/battlbuilder/model/User.java b/src/main/java/group/goforward/battlbuilder/model/User.java index f504e7f..d2e9aee 100644 --- a/src/main/java/group/goforward/battlbuilder/model/User.java +++ b/src/main/java/group/goforward/battlbuilder/model/User.java @@ -8,7 +8,7 @@ import java.time.OffsetDateTime; import java.util.UUID; @Entity -@Table(name = "users") +@Table(name = "users", schema = "public") public class User { @Id diff --git a/src/main/java/group/goforward/battlbuilder/model/UserActivityLog.java b/src/main/java/group/goforward/battlbuilder/model/UserActivityLog.java index cb361dd..3e6291a 100644 --- a/src/main/java/group/goforward/battlbuilder/model/UserActivityLog.java +++ b/src/main/java/group/goforward/battlbuilder/model/UserActivityLog.java @@ -9,7 +9,7 @@ import org.hibernate.annotations.ColumnDefault; import java.time.Instant; @Entity -@Table(name = "user_activity_log") +@Table(name = "user_activity_log", schema = "public") public class UserActivityLog { @Id @Column(name = "id", nullable = false) diff --git a/src/main/java/group/goforward/battlbuilder/model/EmailStatus.java b/src/main/java/group/goforward/battlbuilder/model/enums/EmailStatus.java similarity index 55% rename from src/main/java/group/goforward/battlbuilder/model/EmailStatus.java rename to src/main/java/group/goforward/battlbuilder/model/enums/EmailStatus.java index 6bf1d2b..64c0e6d 100644 --- a/src/main/java/group/goforward/battlbuilder/model/EmailStatus.java +++ b/src/main/java/group/goforward/battlbuilder/model/enums/EmailStatus.java @@ -1,4 +1,4 @@ -package group.goforward.battlbuilder.model; +package group.goforward.battlbuilder.model.enums; public enum EmailStatus { PENDING, diff --git a/src/main/java/group/goforward/battlbuilder/model/ImportStatus.java b/src/main/java/group/goforward/battlbuilder/model/enums/ImportStatus.java similarity index 81% rename from src/main/java/group/goforward/battlbuilder/model/ImportStatus.java rename to src/main/java/group/goforward/battlbuilder/model/enums/ImportStatus.java index bd0047c..b2c85c5 100644 --- a/src/main/java/group/goforward/battlbuilder/model/ImportStatus.java +++ b/src/main/java/group/goforward/battlbuilder/model/enums/ImportStatus.java @@ -1,4 +1,4 @@ -package group.goforward.battlbuilder.model; +package group.goforward.battlbuilder.model.enums; public enum ImportStatus { PENDING_MAPPING, // Ingested but not fully mapped / trusted diff --git a/src/main/java/group/goforward/battlbuilder/model/PartRoleSource.java b/src/main/java/group/goforward/battlbuilder/model/enums/PartRoleSource.java similarity index 61% rename from src/main/java/group/goforward/battlbuilder/model/PartRoleSource.java rename to src/main/java/group/goforward/battlbuilder/model/enums/PartRoleSource.java index 0ac701f..fe64a34 100644 --- a/src/main/java/group/goforward/battlbuilder/model/PartRoleSource.java +++ b/src/main/java/group/goforward/battlbuilder/model/enums/PartRoleSource.java @@ -1,9 +1,13 @@ -package group.goforward.battlbuilder.model; +package group.goforward.battlbuilder.model.enums; +/** + * + */ public enum PartRoleSource { - MERCHANT_MAP, - RULES, INFERRED, + MERCHANT_MAP, OVERRIDE, + RULES, UNKNOWN + } \ No newline at end of file diff --git a/src/main/java/group/goforward/battlbuilder/model/ProductConfiguration.java b/src/main/java/group/goforward/battlbuilder/model/enums/ProductConfiguration.java similarity index 85% rename from src/main/java/group/goforward/battlbuilder/model/ProductConfiguration.java rename to src/main/java/group/goforward/battlbuilder/model/enums/ProductConfiguration.java index b069df6..eb86982 100644 --- a/src/main/java/group/goforward/battlbuilder/model/ProductConfiguration.java +++ b/src/main/java/group/goforward/battlbuilder/model/enums/ProductConfiguration.java @@ -1,4 +1,4 @@ -package group.goforward.battlbuilder.model; +package group.goforward.battlbuilder.model.enums; public enum ProductConfiguration { STRIPPED, // bare receiver / component diff --git a/src/main/java/group/goforward/battlbuilder/model/ProductStatus.java b/src/main/java/group/goforward/battlbuilder/model/enums/ProductStatus.java similarity index 57% rename from src/main/java/group/goforward/battlbuilder/model/ProductStatus.java rename to src/main/java/group/goforward/battlbuilder/model/enums/ProductStatus.java index c45bc80..8454eac 100644 --- a/src/main/java/group/goforward/battlbuilder/model/ProductStatus.java +++ b/src/main/java/group/goforward/battlbuilder/model/enums/ProductStatus.java @@ -1,4 +1,4 @@ -package group.goforward.battlbuilder.model; +package group.goforward.battlbuilder.model.enums; public enum ProductStatus { ACTIVE, diff --git a/src/main/java/group/goforward/battlbuilder/model/ProductVisibility.java b/src/main/java/group/goforward/battlbuilder/model/enums/ProductVisibility.java similarity index 53% rename from src/main/java/group/goforward/battlbuilder/model/ProductVisibility.java rename to src/main/java/group/goforward/battlbuilder/model/enums/ProductVisibility.java index d286c5f..eb92b99 100644 --- a/src/main/java/group/goforward/battlbuilder/model/ProductVisibility.java +++ b/src/main/java/group/goforward/battlbuilder/model/enums/ProductVisibility.java @@ -1,4 +1,4 @@ -package group.goforward.battlbuilder.model; +package group.goforward.battlbuilder.model.enums; public enum ProductVisibility { PUBLIC, 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 a23d8e7..8849176 100644 --- a/src/main/java/group/goforward/battlbuilder/model/package-info.java +++ b/src/main/java/group/goforward/battlbuilder/model/package-info.java @@ -3,7 +3,7 @@ *

* 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 diff --git a/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java b/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java index 6dbe9ec..96c176a 100644 --- a/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java +++ b/src/main/java/group/goforward/battlbuilder/repos/EmailRequestRepository.java @@ -1,7 +1,7 @@ package group.goforward.battlbuilder.repos; import group.goforward.battlbuilder.model.EmailRequest; -import group.goforward.battlbuilder.model.EmailStatus; +import group.goforward.battlbuilder.model.enums.EmailStatus; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/group/goforward/battlbuilder/repos/ProductRepository.java b/src/main/java/group/goforward/battlbuilder/repos/ProductRepository.java index 9b11fb9..c8b5cac 100644 --- a/src/main/java/group/goforward/battlbuilder/repos/ProductRepository.java +++ b/src/main/java/group/goforward/battlbuilder/repos/ProductRepository.java @@ -1,6 +1,6 @@ package group.goforward.battlbuilder.repos; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; import group.goforward.battlbuilder.model.Brand; import group.goforward.battlbuilder.model.Product; import group.goforward.battlbuilder.catalog.query.ProductWithBestPrice; diff --git a/src/main/java/group/goforward/battlbuilder/repos/catalog/spec/CatalogProductSpecifications.java b/src/main/java/group/goforward/battlbuilder/repos/catalog/spec/CatalogProductSpecifications.java index 8f92cf0..006c941 100644 --- a/src/main/java/group/goforward/battlbuilder/repos/catalog/spec/CatalogProductSpecifications.java +++ b/src/main/java/group/goforward/battlbuilder/repos/catalog/spec/CatalogProductSpecifications.java @@ -1,8 +1,8 @@ -package group.goforward.battlbuilder.repos.spec; +package group.goforward.battlbuilder.repos.catalog.spec; import group.goforward.battlbuilder.model.Product; -import group.goforward.battlbuilder.model.ProductStatus; -import group.goforward.battlbuilder.model.ProductVisibility; +import group.goforward.battlbuilder.model.enums.ProductStatus; +import group.goforward.battlbuilder.model.enums.ProductVisibility; import org.springframework.data.jpa.domain.Specification; diff --git a/src/main/java/group/goforward/battlbuilder/services/CategoryClassificationService.java b/src/main/java/group/goforward/battlbuilder/services/CategoryClassificationService.java index a6fc9eb..bb2db94 100644 --- a/src/main/java/group/goforward/battlbuilder/services/CategoryClassificationService.java +++ b/src/main/java/group/goforward/battlbuilder/services/CategoryClassificationService.java @@ -2,7 +2,7 @@ package group.goforward.battlbuilder.services; import group.goforward.battlbuilder.imports.MerchantFeedRow; import group.goforward.battlbuilder.model.Merchant; -import group.goforward.battlbuilder.model.PartRoleSource; +import group.goforward.battlbuilder.model.enums.PartRoleSource; public interface CategoryClassificationService { diff --git a/src/main/java/group/goforward/battlbuilder/services/ImportStatusAdminService.java b/src/main/java/group/goforward/battlbuilder/services/ImportStatusAdminService.java index 7eb229d..2043269 100644 --- a/src/main/java/group/goforward/battlbuilder/services/ImportStatusAdminService.java +++ b/src/main/java/group/goforward/battlbuilder/services/ImportStatusAdminService.java @@ -1,7 +1,7 @@ // src/main/java/group/goforward/ballistic/services/ImportStatusAdminService.java package group.goforward.battlbuilder.services; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; import group.goforward.battlbuilder.repos.ProductRepository; import group.goforward.battlbuilder.web.dto.ImportStatusByMerchantDto; import group.goforward.battlbuilder.web.dto.ImportStatusSummaryDto; diff --git a/src/main/java/group/goforward/battlbuilder/services/MappingAdminService.java b/src/main/java/group/goforward/battlbuilder/services/MappingAdminService.java index f0fc5fc..4ea9465 100644 --- a/src/main/java/group/goforward/battlbuilder/services/MappingAdminService.java +++ b/src/main/java/group/goforward/battlbuilder/services/MappingAdminService.java @@ -1,6 +1,6 @@ package group.goforward.battlbuilder.services; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; import group.goforward.battlbuilder.model.Merchant; import group.goforward.battlbuilder.model.MerchantCategoryMap; import group.goforward.battlbuilder.model.CanonicalCategory; diff --git a/src/main/java/group/goforward/battlbuilder/services/admin/impl/AdminDashboardService.java b/src/main/java/group/goforward/battlbuilder/services/admin/impl/AdminDashboardService.java index d6f7f37..1c7d711 100644 --- a/src/main/java/group/goforward/battlbuilder/services/admin/impl/AdminDashboardService.java +++ b/src/main/java/group/goforward/battlbuilder/services/admin/impl/AdminDashboardService.java @@ -1,6 +1,6 @@ package group.goforward.battlbuilder.services.admin.impl; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; import group.goforward.battlbuilder.repos.MerchantCategoryMapRepository; import group.goforward.battlbuilder.repos.MerchantRepository; import group.goforward.battlbuilder.repos.ProductRepository; diff --git a/src/main/java/group/goforward/battlbuilder/services/admin/impl/AdminProductServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/admin/impl/AdminProductServiceImpl.java index 3d24752..97a7eb5 100644 --- a/src/main/java/group/goforward/battlbuilder/services/admin/impl/AdminProductServiceImpl.java +++ b/src/main/java/group/goforward/battlbuilder/services/admin/impl/AdminProductServiceImpl.java @@ -3,7 +3,7 @@ package group.goforward.battlbuilder.services.admin.impl; import group.goforward.battlbuilder.model.Product; import group.goforward.battlbuilder.repos.ProductRepository; import group.goforward.battlbuilder.services.admin.AdminProductService; -import group.goforward.battlbuilder.specs.ProductSpecifications; +import group.goforward.battlbuilder.domain.specs.ProductSpecifications; import group.goforward.battlbuilder.web.dto.admin.AdminProductSearchRequest; import group.goforward.battlbuilder.web.dto.admin.BulkUpdateResult; import group.goforward.battlbuilder.web.dto.admin.ProductAdminRowDto; diff --git a/src/main/java/group/goforward/battlbuilder/services/impl/CategoryClassificationServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/impl/CategoryClassificationServiceImpl.java index 1a5fbaf..fe34108 100644 --- a/src/main/java/group/goforward/battlbuilder/services/impl/CategoryClassificationServiceImpl.java +++ b/src/main/java/group/goforward/battlbuilder/services/impl/CategoryClassificationServiceImpl.java @@ -3,7 +3,7 @@ package group.goforward.battlbuilder.services.impl; import group.goforward.battlbuilder.catalog.classification.PartRoleResolver; import group.goforward.battlbuilder.imports.MerchantFeedRow; import group.goforward.battlbuilder.model.Merchant; -import group.goforward.battlbuilder.model.PartRoleSource; +import group.goforward.battlbuilder.model.enums.PartRoleSource; import group.goforward.battlbuilder.services.CategoryClassificationService; import org.springframework.stereotype.Service; diff --git a/src/main/java/group/goforward/battlbuilder/services/impl/MerchantFeedImportServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/impl/MerchantFeedImportServiceImpl.java index 217d563..130917b 100644 --- a/src/main/java/group/goforward/battlbuilder/services/impl/MerchantFeedImportServiceImpl.java +++ b/src/main/java/group/goforward/battlbuilder/services/impl/MerchantFeedImportServiceImpl.java @@ -8,7 +8,7 @@ package group.goforward.battlbuilder.services.impl; import group.goforward.battlbuilder.imports.MerchantFeedRow; import group.goforward.battlbuilder.model.Brand; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; import group.goforward.battlbuilder.model.Merchant; import group.goforward.battlbuilder.model.Product; import group.goforward.battlbuilder.model.ProductOffer; diff --git a/src/main/java/group/goforward/battlbuilder/services/impl/ReclassificationServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/impl/ReclassificationServiceImpl.java index 3d937fe..069c12b 100644 --- a/src/main/java/group/goforward/battlbuilder/services/impl/ReclassificationServiceImpl.java +++ b/src/main/java/group/goforward/battlbuilder/services/impl/ReclassificationServiceImpl.java @@ -1,7 +1,7 @@ package group.goforward.battlbuilder.services.impl; -import group.goforward.battlbuilder.model.ImportStatus; -import group.goforward.battlbuilder.model.PartRoleSource; +import group.goforward.battlbuilder.model.enums.ImportStatus; +import group.goforward.battlbuilder.model.enums.PartRoleSource; import group.goforward.battlbuilder.model.Product; import group.goforward.battlbuilder.repos.ProductRepository; import group.goforward.battlbuilder.services.ReclassificationService; 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 27ac0e9..87e8009 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 @@ -1,7 +1,7 @@ package group.goforward.battlbuilder.services.utils.impl; import group.goforward.battlbuilder.model.EmailRequest; -import group.goforward.battlbuilder.model.EmailStatus; +import group.goforward.battlbuilder.model.enums.EmailStatus; import group.goforward.battlbuilder.repos.EmailRequestRepository; import group.goforward.battlbuilder.services.utils.EmailService; import jakarta.mail.internet.MimeMessage; diff --git a/src/main/java/group/goforward/battlbuilder/web/admin/AdminImportStatusController.java b/src/main/java/group/goforward/battlbuilder/web/admin/AdminImportStatusController.java index f960a38..4a29820 100644 --- a/src/main/java/group/goforward/battlbuilder/web/admin/AdminImportStatusController.java +++ b/src/main/java/group/goforward/battlbuilder/web/admin/AdminImportStatusController.java @@ -1,6 +1,6 @@ package group.goforward.battlbuilder.web.admin; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; import group.goforward.battlbuilder.repos.ProductRepository; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/ImportStatusByMerchantDto.java b/src/main/java/group/goforward/battlbuilder/web/dto/ImportStatusByMerchantDto.java index 5e33ea1..14a657f 100644 --- a/src/main/java/group/goforward/battlbuilder/web/dto/ImportStatusByMerchantDto.java +++ b/src/main/java/group/goforward/battlbuilder/web/dto/ImportStatusByMerchantDto.java @@ -1,7 +1,7 @@ // src/main/java/group/goforward/ballistic/web/dto/ImportStatusByMerchantDto.java package group.goforward.battlbuilder.web.dto; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; public record ImportStatusByMerchantDto( String merchantName, diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/ImportStatusSummaryDto.java b/src/main/java/group/goforward/battlbuilder/web/dto/ImportStatusSummaryDto.java index b86aa7d..5db4610 100644 --- a/src/main/java/group/goforward/battlbuilder/web/dto/ImportStatusSummaryDto.java +++ b/src/main/java/group/goforward/battlbuilder/web/dto/ImportStatusSummaryDto.java @@ -1,7 +1,7 @@ // src/main/java/group/goforward/ballistic/web/dto/ImportStatusSummaryDto.java package group.goforward.battlbuilder.web.dto; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; public record ImportStatusSummaryDto( ImportStatus status, diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/admin/AdminProductSearchRequest.java b/src/main/java/group/goforward/battlbuilder/web/dto/admin/AdminProductSearchRequest.java index fde9bfe..082dadb 100644 --- a/src/main/java/group/goforward/battlbuilder/web/dto/admin/AdminProductSearchRequest.java +++ b/src/main/java/group/goforward/battlbuilder/web/dto/admin/AdminProductSearchRequest.java @@ -1,8 +1,8 @@ package group.goforward.battlbuilder.web.dto.admin; -import group.goforward.battlbuilder.model.ImportStatus; -import group.goforward.battlbuilder.model.ProductStatus; -import group.goforward.battlbuilder.model.ProductVisibility; +import group.goforward.battlbuilder.model.enums.ImportStatus; +import group.goforward.battlbuilder.model.enums.ProductStatus; +import group.goforward.battlbuilder.model.enums.ProductVisibility; /** * Bound from query params on: diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/admin/ProductAdminRowDto.java b/src/main/java/group/goforward/battlbuilder/web/dto/admin/ProductAdminRowDto.java index f99c62f..e0c0290 100644 --- a/src/main/java/group/goforward/battlbuilder/web/dto/admin/ProductAdminRowDto.java +++ b/src/main/java/group/goforward/battlbuilder/web/dto/admin/ProductAdminRowDto.java @@ -1,11 +1,10 @@ package group.goforward.battlbuilder.web.dto.admin; -import group.goforward.battlbuilder.model.ImportStatus; +import group.goforward.battlbuilder.model.enums.ImportStatus; import group.goforward.battlbuilder.model.Product; -import group.goforward.battlbuilder.model.ProductStatus; -import group.goforward.battlbuilder.model.ProductVisibility; +import group.goforward.battlbuilder.model.enums.ProductStatus; +import group.goforward.battlbuilder.model.enums.ProductVisibility; -import java.math.BigDecimal; import java.time.Instant; import java.util.UUID; diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/admin/ProductBulkUpdateRequest.java b/src/main/java/group/goforward/battlbuilder/web/dto/admin/ProductBulkUpdateRequest.java index 4098c38..ed416c0 100644 --- a/src/main/java/group/goforward/battlbuilder/web/dto/admin/ProductBulkUpdateRequest.java +++ b/src/main/java/group/goforward/battlbuilder/web/dto/admin/ProductBulkUpdateRequest.java @@ -1,7 +1,7 @@ package group.goforward.battlbuilder.web.dto.admin; -import group.goforward.battlbuilder.model.ProductStatus; -import group.goforward.battlbuilder.model.ProductVisibility; +import group.goforward.battlbuilder.model.enums.ProductStatus; +import group.goforward.battlbuilder.model.enums.ProductVisibility; import java.util.Set;