mirror of
https://gitea.gofwd.group/Forward_Group/ballistic-builder-spring.git
synced 2026-01-21 01:01:05 -05:00
reorg and some updates
This commit is contained in:
@@ -20,9 +20,9 @@ public class BrandController {
|
|||||||
private BrandService brandService;
|
private BrandService brandService;
|
||||||
//@Cacheable(value="getAllStates")
|
//@Cacheable(value="getAllStates")
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
public ResponseEntity<List<Brand>> getAllBrands() {
|
public ResponseEntity<List<BrandDto>> getAllBrands() {
|
||||||
List<Brand> brand = repo.findAll();
|
List<Brand> brands = repo.findAll();
|
||||||
return ResponseEntity.ok(brand);
|
return ResponseEntity.ok(BrandMapper.toDtoList(brands));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.controllers;
|
package group.goforward.battlbuilder.controllers.api.v1;
|
||||||
//
|
//
|
||||||
import group.goforward.battlbuilder.services.PartRoleMappingService;
|
import group.goforward.battlbuilder.services.PartRoleMappingService;
|
||||||
import group.goforward.battlbuilder.web.dto.admin.PartRoleMappingDto;
|
import group.goforward.battlbuilder.web.dto.admin.PartRoleMappingDto;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.services.auth.impl.BetaInviteService;
|
import group.goforward.battlbuilder.services.auth.impl.BetaInviteService;
|
||||||
import group.goforward.battlbuilder.web.dto.admin.AdminBetaRequestDto;
|
import group.goforward.battlbuilder.web.dto.admin.AdminBetaRequestDto;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.model.PartCategory;
|
import group.goforward.battlbuilder.model.PartCategory;
|
||||||
import group.goforward.battlbuilder.repos.PartCategoryRepository;
|
import group.goforward.battlbuilder.repos.PartCategoryRepository;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.services.admin.impl.AdminDashboardService;
|
import group.goforward.battlbuilder.services.admin.impl.AdminDashboardService;
|
||||||
import group.goforward.battlbuilder.web.dto.AdminDashboardOverviewDto;
|
import group.goforward.battlbuilder.web.dto.AdminDashboardOverviewDto;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.repos.PartCategoryRepository;
|
import group.goforward.battlbuilder.repos.PartCategoryRepository;
|
||||||
import group.goforward.battlbuilder.web.dto.admin.PartCategoryDto;
|
import group.goforward.battlbuilder.web.dto.admin.PartCategoryDto;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.model.PartCategory;
|
import group.goforward.battlbuilder.model.PartCategory;
|
||||||
import group.goforward.battlbuilder.model.PartRoleMapping;
|
import group.goforward.battlbuilder.model.PartRoleMapping;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.model.Platform;
|
import group.goforward.battlbuilder.model.Platform;
|
||||||
import group.goforward.battlbuilder.repos.PlatformRepository;
|
import group.goforward.battlbuilder.repos.PlatformRepository;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
// MerchantAdminController.java
|
// MerchantAdminController.java
|
||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.CrossOrigin;
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import group.goforward.battlbuilder.model.Merchant;
|
import group.goforward.battlbuilder.model.Merchant;
|
||||||
import group.goforward.battlbuilder.repos.MerchantRepository;
|
import group.goforward.battlbuilder.repos.MerchantRepository;
|
||||||
import group.goforward.battlbuilder.web.dto.MerchantAdminDto;
|
import group.goforward.battlbuilder.web.dto.merchant.MerchantAdminDto;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
|
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
* @version 1.0
|
* @version 1.0
|
||||||
* @since 2025-12-10
|
* @since 2025-12-10
|
||||||
*/
|
*/
|
||||||
package group.goforward.battlbuilder.controllers.admin;
|
package group.goforward.battlbuilder.controllers.api.v1.admin;
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
/**
|
||||||
|
* API controllers package for the BattlBuilder application.
|
||||||
|
* <p>
|
||||||
|
* Contains V@ 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.v2;
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
package group.goforward.battlbuilder.mapper;
|
||||||
|
|
||||||
|
import group.goforward.battlbuilder.model.Brand;
|
||||||
|
import group.goforward.battlbuilder.web.dto.brand.BrandDto;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public final class BrandMapper {
|
||||||
|
|
||||||
|
private BrandMapper() {
|
||||||
|
// utility class
|
||||||
|
}
|
||||||
|
|
||||||
|
public static BrandDto toDto(Brand entity) {
|
||||||
|
if (entity == null) return null;
|
||||||
|
|
||||||
|
BrandDto dto = new BrandDto();
|
||||||
|
dto.setId(entity.getId() != null ? String.valueOf(entity.getId()) : null);
|
||||||
|
dto.setUuid(entity.getUuid());
|
||||||
|
dto.setName(entity.getName());
|
||||||
|
dto.setSlug(entity.getSlug());
|
||||||
|
dto.setWebsite(entity.getWebsite());
|
||||||
|
dto.setLogoUrl(entity.getLogoUrl());
|
||||||
|
dto.setCreatedAt(entity.getCreatedAt());
|
||||||
|
dto.setUpdatedAt(entity.getUpdatedAt());
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Brand toEntity(BrandDto dto) {
|
||||||
|
if (dto == null) return null;
|
||||||
|
|
||||||
|
Brand entity = new Brand();
|
||||||
|
|
||||||
|
if (dto.getId() != null && !dto.getId().isBlank()) {
|
||||||
|
try {
|
||||||
|
entity.setId(Integer.valueOf(dto.getId()));
|
||||||
|
} catch (NumberFormatException ignored) {
|
||||||
|
// leave id null if parsing fails
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
entity.setUuid(dto.getUuid());
|
||||||
|
entity.setName(dto.getName());
|
||||||
|
entity.setSlug(dto.getSlug());
|
||||||
|
entity.setWebsite(dto.getWebsite());
|
||||||
|
entity.setLogoUrl(dto.getLogoUrl());
|
||||||
|
entity.setCreatedAt(dto.getCreatedAt());
|
||||||
|
entity.setUpdatedAt(dto.getUpdatedAt());
|
||||||
|
// deletedAt remains managed by domain / persistence logic
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<BrandDto> toDtoList(List<Brand> entities) {
|
||||||
|
if (entities == null) return null;
|
||||||
|
return entities.stream()
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.map(BrandMapper::toDto)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.web.mapper;
|
package group.goforward.battlbuilder.mapper;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.web.dto.catalog.CatalogOptionDto;
|
import group.goforward.battlbuilder.web.dto.catalog.CatalogOptionDto;
|
||||||
import group.goforward.battlbuilder.web.dto.catalog.CatalogOptionRow;
|
import group.goforward.battlbuilder.web.dto.catalog.CatalogOptionRow;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.web.mapper;
|
package group.goforward.battlbuilder.mapper;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.model.PartCategory;
|
import group.goforward.battlbuilder.model.PartCategory;
|
||||||
import group.goforward.battlbuilder.model.PartRoleMapping;
|
import group.goforward.battlbuilder.model.PartRoleMapping;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.web.mapper;
|
package group.goforward.battlbuilder.mapper;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.model.Product;
|
import group.goforward.battlbuilder.model.Product;
|
||||||
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
|
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
|
||||||
@@ -3,8 +3,8 @@ package group.goforward.battlbuilder.services;
|
|||||||
|
|
||||||
import group.goforward.battlbuilder.model.enums.ImportStatus;
|
import group.goforward.battlbuilder.model.enums.ImportStatus;
|
||||||
import group.goforward.battlbuilder.repos.ProductRepository;
|
import group.goforward.battlbuilder.repos.ProductRepository;
|
||||||
import group.goforward.battlbuilder.web.dto.ImportStatusByMerchantDto;
|
import group.goforward.battlbuilder.web.dto.imports.ImportStatusByMerchantDto;
|
||||||
import group.goforward.battlbuilder.web.dto.ImportStatusSummaryDto;
|
import group.goforward.battlbuilder.web.dto.imports.ImportStatusSummaryDto;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package group.goforward.battlbuilder.services;
|
|||||||
import group.goforward.battlbuilder.repos.PartRoleMappingRepository;
|
import group.goforward.battlbuilder.repos.PartRoleMappingRepository;
|
||||||
import group.goforward.battlbuilder.web.dto.admin.PartRoleMappingDto;
|
import group.goforward.battlbuilder.web.dto.admin.PartRoleMappingDto;
|
||||||
import group.goforward.battlbuilder.web.dto.PartRoleToCategoryDto;
|
import group.goforward.battlbuilder.web.dto.PartRoleToCategoryDto;
|
||||||
import group.goforward.battlbuilder.web.mapper.PartRoleMappingMapper;
|
import group.goforward.battlbuilder.mapper.PartRoleMappingMapper;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import group.goforward.battlbuilder.services.CatalogQueryService;
|
|||||||
import group.goforward.battlbuilder.services.ShortLinkService;
|
import group.goforward.battlbuilder.services.ShortLinkService;
|
||||||
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
|
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
|
||||||
import group.goforward.battlbuilder.web.dto.catalog.CatalogProductIdsRequest;
|
import group.goforward.battlbuilder.web.dto.catalog.CatalogProductIdsRequest;
|
||||||
import group.goforward.battlbuilder.web.mapper.ProductMapper;
|
import group.goforward.battlbuilder.mapper.ProductMapper;
|
||||||
import org.springframework.data.domain.*;
|
import org.springframework.data.domain.*;
|
||||||
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import group.goforward.battlbuilder.services.ShortLinkService;
|
|||||||
import group.goforward.battlbuilder.web.dto.product.ProductOfferDto;
|
import group.goforward.battlbuilder.web.dto.product.ProductOfferDto;
|
||||||
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
|
import group.goforward.battlbuilder.web.dto.product.ProductSummaryDto;
|
||||||
import group.goforward.battlbuilder.web.dto.catalog.ProductSort;
|
import group.goforward.battlbuilder.web.dto.catalog.ProductSort;
|
||||||
import group.goforward.battlbuilder.web.mapper.ProductMapper;
|
import group.goforward.battlbuilder.mapper.ProductMapper;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageImpl;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package group.goforward.battlbuilder.web.dto.brand;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class BrandDto {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
private UUID uuid;
|
||||||
|
private String name;
|
||||||
|
private String slug;
|
||||||
|
private String website;
|
||||||
|
private String logoUrl;
|
||||||
|
private Instant createdAt;
|
||||||
|
private Instant updatedAt;
|
||||||
|
|
||||||
|
public String getId() { return id; }
|
||||||
|
public void setId(String id) { this.id = id; }
|
||||||
|
|
||||||
|
public UUID getUuid() { return uuid; }
|
||||||
|
public void setUuid(UUID uuid) { this.uuid = uuid; }
|
||||||
|
|
||||||
|
public String getName() { return name; }
|
||||||
|
public void setName(String name) { this.name = name; }
|
||||||
|
|
||||||
|
public String getSlug() { return slug; }
|
||||||
|
public void setSlug(String slug) { this.slug = slug; }
|
||||||
|
|
||||||
|
public String getWebsite() { return website; }
|
||||||
|
public void setWebsite(String website) { this.website = website; }
|
||||||
|
|
||||||
|
public String getLogoUrl() { return logoUrl; }
|
||||||
|
public void setLogoUrl(String logoUrl) { this.logoUrl = logoUrl; }
|
||||||
|
|
||||||
|
public Instant getCreatedAt() { return createdAt; }
|
||||||
|
public void setCreatedAt(Instant createdAt) { this.createdAt = createdAt; }
|
||||||
|
|
||||||
|
public Instant getUpdatedAt() { return updatedAt; }
|
||||||
|
public void setUpdatedAt(Instant updatedAt) { this.updatedAt = updatedAt; }
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
// src/main/java/group/goforward/ballistic/web/dto/ImportStatusByMerchantDto.java
|
// src/main/java/group/goforward/ballistic/web/dto/ImportStatusByMerchantDto.java
|
||||||
package group.goforward.battlbuilder.web.dto;
|
package group.goforward.battlbuilder.web.dto.imports;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.model.enums.ImportStatus;
|
import group.goforward.battlbuilder.model.enums.ImportStatus;
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
// src/main/java/group/goforward/ballistic/web/dto/ImportStatusSummaryDto.java
|
// src/main/java/group/goforward/ballistic/web/dto/ImportStatusSummaryDto.java
|
||||||
package group.goforward.battlbuilder.web.dto;
|
package group.goforward.battlbuilder.web.dto.imports;
|
||||||
|
|
||||||
import group.goforward.battlbuilder.model.enums.ImportStatus;
|
import group.goforward.battlbuilder.model.enums.ImportStatus;
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
// MerchantAdminDto.java
|
// MerchantAdminDto.java
|
||||||
package group.goforward.battlbuilder.web.dto;
|
package group.goforward.battlbuilder.web.dto.merchant;
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package group.goforward.battlbuilder.web.dto;
|
package group.goforward.battlbuilder.web.dto.merchant;
|
||||||
|
|
||||||
public class MerchantCategoryMappingDto {
|
public class MerchantCategoryMappingDto {
|
||||||
|
|
||||||
Reference in New Issue
Block a user