organizing

This commit is contained in:
2026-01-06 12:23:14 -05:00
parent 887ccc01d5
commit f0f12d76a6
68 changed files with 667 additions and 614 deletions

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.utils;
package group.goforward.battlbuilder.common;
import java.time.LocalDateTime;

View File

@@ -1,6 +1,4 @@
package group.goforward.battlbuilder.utils;
import org.springframework.context.annotation.Bean;
package group.goforward.battlbuilder.common;
public class Counter {

View File

@@ -8,4 +8,4 @@
* @version 1.0
* @since 2025-12-10
*/
package group.goforward.battlbuilder.utils;
package group.goforward.battlbuilder.common;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.configuration;
package group.goforward.battlbuilder.config;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;

View File

@@ -1,5 +1,5 @@
// src/main/java/com/example/config/CorsConfig.java
package group.goforward.battlbuilder.configuration;
package group.goforward.battlbuilder.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.configuration;
package group.goforward.battlbuilder.config;
import org.springframework.context.annotation.Configuration;
//import org.springframework.data.jpa.repository.config.EnableJpaAuditing;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.configuration;
package group.goforward.battlbuilder.config;
import io.minio.MinioClient;
import org.springframework.beans.factory.annotation.Value;

View File

@@ -4,27 +4,30 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "shortlinks")
public class ShortLinksProperties {
/**
* Master switch to enable short links.
*/
private boolean enabled = true;
/**
* The public base URL used when generating short links (differs in dev vs prod).
* Examples:
* - http://localhost:8080
* - https://bb.ooo
*/
private String publicBaseUrl = "http://localhost:8080";
public static final String PUBLIC_BASE_URL = "http://localhost:8080";
/**
* The frontend base URL used when redirecting BUILD short links.
* Examples:
* - http://localhost:3000
* - https://battlbuilder.com
*/
private String frontendBaseUrl = "http://localhost:3000";
public static final String FRONT_END_BASE_URL = "http://localhost:3000";
/**
* Master switch to enable short links.
*/
private boolean enabled = true;
private String publicBaseUrl = PUBLIC_BASE_URL;
private String frontendBaseUrl = FRONT_END_BASE_URL;
public boolean isEnabled() {
return enabled;

View File

@@ -8,4 +8,4 @@
* @version 1.0
* @since 2025-12-10
*/
package group.goforward.battlbuilder.configuration;
package group.goforward.battlbuilder.config;

View File

@@ -1,6 +1,6 @@
package group.goforward.battlbuilder.controllers.api;
import group.goforward.battlbuilder.utils.ApiResponse;
import group.goforward.battlbuilder.common.ApiResponse;
import group.goforward.battlbuilder.dto.EmailRequestDto;
import group.goforward.battlbuilder.model.EmailRequest;
import group.goforward.battlbuilder.model.EmailStatus;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.model.User;
import group.goforward.battlbuilder.repos.UserRepository;

View File

@@ -1,7 +1,7 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.model.Brand;
import group.goforward.battlbuilder.repos.BrandRepository;
import group.goforward.battlbuilder.repos.build.BrandRepository;
import group.goforward.battlbuilder.services.BrandService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;

View File

@@ -1,7 +1,7 @@
package group.goforward.battlbuilder.controllers.api;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.model.Build;
import group.goforward.battlbuilder.repos.BuildRepository;
import group.goforward.battlbuilder.repos.build.BuildRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

View File

@@ -1,10 +1,10 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.services.BuildService;
import group.goforward.battlbuilder.web.dto.BuildDto;
import group.goforward.battlbuilder.web.dto.BuildFeedCardDto;
import group.goforward.battlbuilder.web.dto.BuildSummaryDto;
import group.goforward.battlbuilder.web.dto.UpdateBuildRequest;
import group.goforward.battlbuilder.web.dto.build.BuildDto;
import group.goforward.battlbuilder.web.dto.build.BuildFeedCardDto;
import group.goforward.battlbuilder.web.dto.build.BuildSummaryDto;
import group.goforward.battlbuilder.web.dto.UpdateBuildRequestDto;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@@ -68,7 +68,7 @@ public class BuildV1Controller {
* POST /api/v1/builds/me
*/
@PostMapping("/me")
public ResponseEntity<BuildDto> createMyBuild(@RequestBody UpdateBuildRequest req) {
public ResponseEntity<BuildDto> createMyBuild(@RequestBody UpdateBuildRequestDto req) {
return ResponseEntity.ok(buildService.createMyBuild(req));
}
@@ -79,7 +79,7 @@ public class BuildV1Controller {
@PutMapping("/me/{uuid}")
public ResponseEntity<BuildDto> updateMyBuild(
@PathVariable("uuid") UUID uuid,
@RequestBody UpdateBuildRequest req
@RequestBody UpdateBuildRequestDto req
) {
return ResponseEntity.ok(buildService.updateMyBuild(uuid, req));
}

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.model.PartRoleMapping;
import group.goforward.battlbuilder.repos.PartCategoryRepository;

View File

@@ -1,7 +1,7 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.services.CatalogQueryService;
import group.goforward.battlbuilder.web.dto.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.catalog.CatalogProductIdsRequest;
import org.springframework.data.domain.Page;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.repos.PartCategoryRepository;
import group.goforward.battlbuilder.web.dto.admin.PartCategoryDto;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.services.MerchantFeedImportService;
import org.springframework.http.ResponseEntity;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers.api;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.model.User;
import group.goforward.battlbuilder.repos.UserRepository;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.model.Merchant;
import group.goforward.battlbuilder.repos.MerchantRepository;

View File

@@ -1,7 +1,5 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.web.dto.ProductOfferDto;
import group.goforward.battlbuilder.web.dto.ProductSummaryDto;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

View File

@@ -1,8 +1,8 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.services.ProductQueryService;
import group.goforward.battlbuilder.web.dto.ProductOfferDto;
import group.goforward.battlbuilder.web.dto.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.product.ProductOfferDto;
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.catalog.ProductSort;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.model.State;
import group.goforward.battlbuilder.repos.StateRepository;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.api.v1;
import group.goforward.battlbuilder.model.User;
import group.goforward.battlbuilder.repos.UserRepository;

View File

@@ -8,4 +8,4 @@
* @version 1.0
* @since 2025-12-10
*/
package group.goforward.battlbuilder.controllers.api;
package group.goforward.battlbuilder.controllers.api.v1;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.utils;
import group.goforward.battlbuilder.repos.EmailRequestRepository;
import org.springframework.http.ResponseEntity;

View File

@@ -6,7 +6,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
public class PingController {
@GetMapping("/ping")
@GetMapping("/api/ping")
public String ping() {
return "pong";
}

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.controllers;
package group.goforward.battlbuilder.controllers.utils;
import group.goforward.battlbuilder.config.ShortLinksProperties;
import group.goforward.battlbuilder.repos.ShortLinkRepository;

View File

@@ -1,7 +1,12 @@
package group.goforward.battlbuilder.enrichment.ai;
import group.goforward.battlbuilder.enrichment.*;
import group.goforward.battlbuilder.enrichment.ai.dto.CaliberExtractionResult;
import group.goforward.battlbuilder.enrichment.domain.CaliberTaxonomy;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentSource;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentStatus;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentType;
import group.goforward.battlbuilder.enrichment.model.ProductEnrichment;
import group.goforward.battlbuilder.enrichment.repo.ProductEnrichmentRepository;
import group.goforward.battlbuilder.model.Product;
import group.goforward.battlbuilder.repos.ProductRepository;
import org.springframework.beans.factory.annotation.Value;

View File

@@ -1,6 +1,12 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.controller;
import group.goforward.battlbuilder.enrichment.ai.AiEnrichmentOrchestrator;
import group.goforward.battlbuilder.enrichment.domain.CaliberTaxonomy;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentStatus;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentType;
import group.goforward.battlbuilder.enrichment.model.ProductEnrichment;
import group.goforward.battlbuilder.enrichment.repo.ProductEnrichmentRepository;
import group.goforward.battlbuilder.enrichment.service.CaliberEnrichmentService;
import org.springframework.data.domain.PageRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.domain;
import java.util.Optional;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.domain;
import java.util.Locale;

View File

@@ -0,0 +1,11 @@
/**
* Domain objects package for the BattlBuilder application.
* <p>
* Contains Objects with business logic.
*
*
* @author Forward Group, LLC
* @version 1.0
* @since 2025-12-10
*/
package group.goforward.battlbuilder.enrichment.domain;

View File

@@ -1,6 +1,8 @@
package group.goforward.battlbuilder.enrichment.dto;
import group.goforward.battlbuilder.enrichment.*;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentSource;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentStatus;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentType;
import java.math.BigDecimal;
import java.time.OffsetDateTime;

View File

@@ -0,0 +1,11 @@
/**
* Data Transfer Objects package for the BattlBuilder application.
* <p>
* Contains DTOs for the with Enrichments package.
*
*
* @author Forward Group, LLC
* @version 1.0
* @since 2025-12-10
*/
package group.goforward.battlbuilder.enrichment.dto;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.enums;
public enum EnrichmentSource {
AI,

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.enums;
public enum EnrichmentStatus {
PENDING_REVIEW,

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.enums;
public enum EnrichmentType {
CALIBER,

View File

@@ -0,0 +1,11 @@
/**
* Enumeration package for the BattlBuilder application.
* <p>
* Contains enumerations for the Enrichments package.
*
*
* @author Forward Group, LLC
* @version 1.0
* @since 2025-12-10
*/
package group.goforward.battlbuilder.enrichment.enums;

View File

@@ -1,5 +1,8 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.model;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentSource;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentStatus;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentType;
import jakarta.persistence.*;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;

View File

@@ -1,5 +1,8 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.repo;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentStatus;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentType;
import group.goforward.battlbuilder.enrichment.model.ProductEnrichment;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

View File

@@ -1,5 +1,11 @@
package group.goforward.battlbuilder.enrichment;
package group.goforward.battlbuilder.enrichment.service;
import group.goforward.battlbuilder.enrichment.domain.CaliberRuleExtractor;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentSource;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentStatus;
import group.goforward.battlbuilder.enrichment.enums.EnrichmentType;
import group.goforward.battlbuilder.enrichment.model.ProductEnrichment;
import group.goforward.battlbuilder.enrichment.repo.ProductEnrichmentRepository;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.repos;
package group.goforward.battlbuilder.repos.build;
import group.goforward.battlbuilder.model.Brand;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.repos;
package group.goforward.battlbuilder.repos.build;
import group.goforward.battlbuilder.model.BuildItem;
import org.springframework.data.jpa.repository.JpaRepository;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.repos;
package group.goforward.battlbuilder.repos.build;
import group.goforward.battlbuilder.model.BuildProfile;
import org.springframework.data.jpa.repository.JpaRepository;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.repos;
package group.goforward.battlbuilder.repos.build;
import group.goforward.battlbuilder.model.Build;
import org.springframework.data.domain.Page;

View File

@@ -1,9 +1,9 @@
package group.goforward.battlbuilder.services;
import group.goforward.battlbuilder.web.dto.BuildDto;
import group.goforward.battlbuilder.web.dto.BuildFeedCardDto;
import group.goforward.battlbuilder.web.dto.BuildSummaryDto;
import group.goforward.battlbuilder.web.dto.UpdateBuildRequest;
import group.goforward.battlbuilder.web.dto.build.BuildDto;
import group.goforward.battlbuilder.web.dto.build.BuildFeedCardDto;
import group.goforward.battlbuilder.web.dto.build.BuildSummaryDto;
import group.goforward.battlbuilder.web.dto.UpdateBuildRequestDto;
import java.util.List;
import java.util.UUID;
@@ -16,9 +16,9 @@ public interface BuildService {
BuildDto getMyBuild(UUID uuid);
BuildDto createMyBuild(UpdateBuildRequest req);
BuildDto createMyBuild(UpdateBuildRequestDto req);
BuildDto updateMyBuild(UUID uuid, UpdateBuildRequest req);
BuildDto updateMyBuild(UUID uuid, UpdateBuildRequestDto req);
BuildDto getPublicBuild(UUID uuid);

View File

@@ -1,6 +1,6 @@
package group.goforward.battlbuilder.services;
import group.goforward.battlbuilder.web.dto.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.catalog.CatalogProductIdsRequest;
import org.springframework.data.domain.Page;

View File

@@ -1,7 +1,7 @@
package group.goforward.battlbuilder.services;
import group.goforward.battlbuilder.web.dto.ProductOfferDto;
import group.goforward.battlbuilder.web.dto.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.product.ProductOfferDto;
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.catalog.ProductSort;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

View File

@@ -2,7 +2,7 @@ package group.goforward.battlbuilder.services.impl;
import group.goforward.battlbuilder.model.Brand;
import group.goforward.battlbuilder.repos.BrandRepository;
import group.goforward.battlbuilder.repos.build.BrandRepository;
import group.goforward.battlbuilder.services.BrandService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@@ -4,17 +4,17 @@ import group.goforward.battlbuilder.model.Build;
import group.goforward.battlbuilder.model.BuildItem;
import group.goforward.battlbuilder.model.BuildProfile;
import group.goforward.battlbuilder.model.ProductOffer;
import group.goforward.battlbuilder.repos.BuildItemRepository;
import group.goforward.battlbuilder.repos.BuildProfileRepository;
import group.goforward.battlbuilder.repos.BuildRepository;
import group.goforward.battlbuilder.repos.build.BuildItemRepository;
import group.goforward.battlbuilder.repos.build.BuildProfileRepository;
import group.goforward.battlbuilder.repos.build.BuildRepository;
import group.goforward.battlbuilder.repos.ProductOfferRepository;
import group.goforward.battlbuilder.security.CurrentUserService;
import group.goforward.battlbuilder.services.BuildService;
import group.goforward.battlbuilder.web.dto.BuildDto;
import group.goforward.battlbuilder.web.dto.BuildFeedCardDto;
import group.goforward.battlbuilder.web.dto.BuildItemDto;
import group.goforward.battlbuilder.web.dto.BuildSummaryDto;
import group.goforward.battlbuilder.web.dto.UpdateBuildRequest;
import group.goforward.battlbuilder.web.dto.build.BuildDto;
import group.goforward.battlbuilder.web.dto.build.BuildFeedCardDto;
import group.goforward.battlbuilder.web.dto.build.BuildItemDto;
import group.goforward.battlbuilder.web.dto.build.BuildSummaryDto;
import group.goforward.battlbuilder.web.dto.UpdateBuildRequestDto;
import group.goforward.battlbuilder.repos.ProductRepository;
import org.springframework.data.domain.PageRequest;
@@ -22,8 +22,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.server.ResponseStatusException;
import java.time.OffsetDateTime;
@@ -189,7 +187,7 @@ public class BuildServiceImpl implements BuildService {
@Override
@Transactional
public BuildDto createMyBuild(UpdateBuildRequest req) {
public BuildDto createMyBuild(UpdateBuildRequestDto req) {
if (req == null) throw new IllegalArgumentException("request body is required");
Integer userId = currentUserService.requireUserId();
@@ -269,7 +267,7 @@ public class BuildServiceImpl implements BuildService {
@Override
@Transactional
public BuildDto updateMyBuild(UUID uuid, UpdateBuildRequest req) {
public BuildDto updateMyBuild(UUID uuid, UpdateBuildRequestDto req) {
if (uuid == null) throw new IllegalArgumentException("uuid is required");
if (req == null) throw new IllegalArgumentException("request body is required");
@@ -326,11 +324,11 @@ public class BuildServiceImpl implements BuildService {
// BuildItem helper
// ---------------------------
private List<BuildItem> buildItemsFromRequest(Build build, List<UpdateBuildRequest.Item> incoming) {
private List<BuildItem> buildItemsFromRequest(Build build, List<UpdateBuildRequestDto.Item> incoming) {
List<BuildItem> out = new ArrayList<>();
if (incoming == null || incoming.isEmpty()) return out;
for (UpdateBuildRequest.Item it : incoming) {
for (UpdateBuildRequestDto.Item it : incoming) {
if (it == null) continue;
if (it.getProductId() == null) continue;
if (it.getSlot() == null || it.getSlot().isBlank()) continue;

View File

@@ -7,7 +7,7 @@ import group.goforward.battlbuilder.repos.ProductRepository;
import group.goforward.battlbuilder.repos.spec.CatalogProductSpecifications;
import group.goforward.battlbuilder.services.CatalogQueryService;
import group.goforward.battlbuilder.services.ShortLinkService;
import group.goforward.battlbuilder.web.dto.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.catalog.CatalogProductIdsRequest;
import group.goforward.battlbuilder.web.mapper.ProductMapper;
import org.springframework.data.domain.*;

View File

@@ -12,7 +12,7 @@ import group.goforward.battlbuilder.model.ImportStatus;
import group.goforward.battlbuilder.model.Merchant;
import group.goforward.battlbuilder.model.Product;
import group.goforward.battlbuilder.model.ProductOffer;
import group.goforward.battlbuilder.repos.BrandRepository;
import group.goforward.battlbuilder.repos.build.BrandRepository;
import group.goforward.battlbuilder.repos.MerchantRepository;
import group.goforward.battlbuilder.repos.ProductOfferRepository;
import group.goforward.battlbuilder.repos.ProductRepository;
@@ -27,7 +27,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.InputStreamReader;
import java.io.Reader;

View File

@@ -6,8 +6,8 @@ import group.goforward.battlbuilder.repos.ProductOfferRepository;
import group.goforward.battlbuilder.repos.ProductRepository;
import group.goforward.battlbuilder.services.ProductQueryService;
import group.goforward.battlbuilder.services.ShortLinkService;
import group.goforward.battlbuilder.web.dto.ProductOfferDto;
import group.goforward.battlbuilder.web.dto.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.product.ProductOfferDto;
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.catalog.ProductSort;
import group.goforward.battlbuilder.web.mapper.ProductMapper;
import org.springframework.data.domain.Page;

View File

@@ -9,7 +9,7 @@ import java.util.List;
* NOTE:
* - We reuse this for BOTH create (POST /me) and update (PUT /me/{uuid}) for MVP speed.
*/
public class UpdateBuildRequest {
public class UpdateBuildRequestDto {
private String title;
private String description;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.build;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.build;
import java.time.OffsetDateTime;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.build;
import java.util.List;
import java.util.UUID;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.build;
import java.math.BigDecimal;
import java.util.UUID;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.build;
import java.math.BigDecimal;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.build;
import group.goforward.battlbuilder.model.Build;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.product;
import java.math.BigDecimal;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.product;
import java.math.BigDecimal;
import java.util.List;

View File

@@ -1,8 +1,7 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.product;
import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.List;
public class ProductOfferDto {
private String id;

View File

@@ -1,4 +1,4 @@
package group.goforward.battlbuilder.web.dto;
package group.goforward.battlbuilder.web.dto.product;
import java.math.BigDecimal;

View File

@@ -1,7 +1,7 @@
package group.goforward.battlbuilder.web.mapper;
import group.goforward.battlbuilder.model.Product;
import group.goforward.battlbuilder.web.dto.ProductSummaryDto;
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
import java.math.BigDecimal;