From 50992a03c466c9741bf524672baf0a17c7077c9d Mon Sep 17 00:00:00 2001 From: Sean Date: Thu, 8 Jan 2026 06:08:06 -0500 Subject: [PATCH] more meta data in product api --- .../goforward/battlbuilder/config/SecurityConfig.java | 4 ++++ .../battlbuilder/web/dto/catalog/CatalogOptionDto.java | 10 +++++++++- .../web/dto/product/ProductSummaryDto.java | 10 ++++++++++ .../battlbuilder/web/mapper/ProductMapper.java | 2 +- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/java/group/goforward/battlbuilder/config/SecurityConfig.java b/src/main/java/group/goforward/battlbuilder/config/SecurityConfig.java index 1264a60..5b01823 100644 --- a/src/main/java/group/goforward/battlbuilder/config/SecurityConfig.java +++ b/src/main/java/group/goforward/battlbuilder/config/SecurityConfig.java @@ -46,6 +46,10 @@ public class SecurityConfig { .requestMatchers("/actuator/health", "/actuator/info").permitAll() .requestMatchers("/api/products/gunbuilder/**").permitAll() + // Short links (public redirect) + .requestMatchers(HttpMethod.GET, "/go/**").permitAll() + .requestMatchers(HttpMethod.HEAD, "/go/**").permitAll() + // Public builds feed + public build detail (1 path segment only) .requestMatchers(HttpMethod.GET, "/api/v1/builds").permitAll() .requestMatchers(HttpMethod.GET, "/api/v1/builds/*").permitAll() diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/catalog/CatalogOptionDto.java b/src/main/java/group/goforward/battlbuilder/web/dto/catalog/CatalogOptionDto.java index 48fafce..c379bb2 100644 --- a/src/main/java/group/goforward/battlbuilder/web/dto/catalog/CatalogOptionDto.java +++ b/src/main/java/group/goforward/battlbuilder/web/dto/catalog/CatalogOptionDto.java @@ -13,4 +13,12 @@ public class CatalogOptionDto { public BigDecimal price; public String buyUrl; public Boolean inStock; -} \ No newline at end of file + private String caliber; + + public String getCaliber() { + return caliber; + } + + public void setCaliber(String caliber) { + this.caliber = caliber; + }} \ No newline at end of file diff --git a/src/main/java/group/goforward/battlbuilder/web/dto/product/ProductSummaryDto.java b/src/main/java/group/goforward/battlbuilder/web/dto/product/ProductSummaryDto.java index f399977..779f0e9 100644 --- a/src/main/java/group/goforward/battlbuilder/web/dto/product/ProductSummaryDto.java +++ b/src/main/java/group/goforward/battlbuilder/web/dto/product/ProductSummaryDto.java @@ -64,6 +64,11 @@ public class ProductSummaryDto { this.categoryKey = categoryKey; } + private String caliber; + + public String getCaliber() { return caliber; } + public void setCaliber(String caliber) { this.caliber = caliber; } + public BigDecimal getPrice() { return price; } @@ -72,6 +77,11 @@ public class ProductSummaryDto { this.price = price; } + private Boolean inStock; + + public Boolean getInStock() { return inStock; } + public void setInStock(Boolean inStock) { this.inStock = inStock; } + public String getBuyUrl() { return buyUrl; } diff --git a/src/main/java/group/goforward/battlbuilder/web/mapper/ProductMapper.java b/src/main/java/group/goforward/battlbuilder/web/mapper/ProductMapper.java index 6146be0..acf2eee 100644 --- a/src/main/java/group/goforward/battlbuilder/web/mapper/ProductMapper.java +++ b/src/main/java/group/goforward/battlbuilder/web/mapper/ProductMapper.java @@ -16,7 +16,7 @@ public class ProductMapper { dto.setBrand(product.getBrand() != null ? product.getBrand().getName() : null); dto.setPlatform(product.getPlatform()); dto.setPartRole(product.getPartRole()); - + dto.setCaliber(product.getCaliber()); dto.setCategoryKey(product.getRawCategoryKey()); dto.setPrice(price);