From 8120dafd6d099857ade9ed5d43d8d8663be67c2a Mon Sep 17 00:00:00 2001 From: Don Strawsburg Date: Wed, 26 Nov 2025 23:59:04 -0500 Subject: [PATCH] lots of changes --- pom.xml | 180 +++++++++++------- .../goforward/ballistic/ApiResponse.java | 70 +++++++ .../ballistic/BallisticApplication.java | 8 + .../ballistic/configuration/CorsConfig.java | 84 ++++++++ .../ballistic/configuration/JpaConfig.java | 10 + .../ballistic/configuration/package-info.java | 1 + .../ballistic/controllers/PsaController.java | 12 +- .../controllers/StateController.java | 62 ++++++ .../ballistic/{jpa => model}/Account.java | 2 +- .../{jpa => model}/AccountRepository.java | 2 +- .../{jpa => model}/AeroPrecision.java | 2 +- .../{jpa => model}/Authenticator.java | 2 +- .../{jpa => model}/AuthenticatorId.java | 2 +- .../ballistic/{jpa => model}/BalReseller.java | 2 +- .../ballistic/{jpa => model}/BbProduct.java | 2 +- .../ballistic/{jpa => model}/Brand.java | 2 +- .../ballistic/{jpa => model}/Build.java | 2 +- .../{jpa => model}/BuildsComponent.java | 2 +- .../ballistic/{jpa => model}/Category.java | 2 +- .../ballistic/{jpa => model}/Compartment.java | 2 +- .../{jpa => model}/ComponentType.java | 2 +- .../{jpa => model}/EmailVerificationCode.java | 2 +- .../{jpa => model}/Lipseycatalog.java | 2 +- .../{jpa => model}/Manufacturer.java | 2 +- .../{jpa => model}/PasswordResetToken.java | 2 +- .../ballistic/{jpa => model}/Post.java | 2 +- .../ballistic/{jpa => model}/Product.java | 2 +- .../ballistic/{jpa => model}/ProductFeed.java | 2 +- .../ballistic/{jpa => model}/Psa.java | 4 +- .../ballistic/{jpa => model}/PsaOld.java | 2 +- .../ballistic/{jpa => model}/Session.java | 2 +- .../ballistic/{jpa => model}/State.java | 2 +- .../ballistic/{jpa => model}/User.java | 2 +- .../{jpa => model}/UserActivityLog.java | 2 +- .../{jpa => model}/VerificationToken.java | 2 +- .../ballistic/repos/PsaRepository.java | 2 +- .../ballistic/repos/StateRepository.java | 10 + .../ballistic/service/PsaService.java | 2 +- .../ballistic/service/StatesService.java | 16 ++ .../service/impl/StatesServiceImpl.java | 38 ++++ 40 files changed, 441 insertions(+), 110 deletions(-) create mode 100644 src/main/java/group/goforward/ballistic/ApiResponse.java create mode 100644 src/main/java/group/goforward/ballistic/configuration/CorsConfig.java create mode 100644 src/main/java/group/goforward/ballistic/configuration/JpaConfig.java create mode 100644 src/main/java/group/goforward/ballistic/configuration/package-info.java create mode 100644 src/main/java/group/goforward/ballistic/controllers/StateController.java rename src/main/java/group/goforward/ballistic/{jpa => model}/Account.java (94%) rename src/main/java/group/goforward/ballistic/{jpa => model}/AccountRepository.java (77%) rename src/main/java/group/goforward/ballistic/{jpa => model}/AeroPrecision.java (95%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Authenticator.java (94%) rename src/main/java/group/goforward/ballistic/{jpa => model}/AuthenticatorId.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/BalReseller.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/BbProduct.java (95%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Brand.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Build.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/BuildsComponent.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Category.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Compartment.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/ComponentType.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/EmailVerificationCode.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Lipseycatalog.java (95%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Manufacturer.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/PasswordResetToken.java (91%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Post.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Product.java (94%) rename src/main/java/group/goforward/ballistic/{jpa => model}/ProductFeed.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Psa.java (95%) rename src/main/java/group/goforward/ballistic/{jpa => model}/PsaOld.java (86%) rename src/main/java/group/goforward/ballistic/{jpa => model}/Session.java (93%) rename src/main/java/group/goforward/ballistic/{jpa => model}/State.java (90%) rename src/main/java/group/goforward/ballistic/{jpa => model}/User.java (95%) rename src/main/java/group/goforward/ballistic/{jpa => model}/UserActivityLog.java (92%) rename src/main/java/group/goforward/ballistic/{jpa => model}/VerificationToken.java (91%) create mode 100644 src/main/java/group/goforward/ballistic/repos/StateRepository.java create mode 100644 src/main/java/group/goforward/ballistic/service/StatesService.java create mode 100644 src/main/java/group/goforward/ballistic/service/impl/StatesServiceImpl.java diff --git a/pom.xml b/pom.xml index f34215e..3733ece 100644 --- a/pom.xml +++ b/pom.xml @@ -1,79 +1,113 @@ - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 3.4.3 - - - group.goforward - ballistic - 0.0.1-SNAPSHOT - ballistic - Ballistic Builder - - - - - - - - - - - - - - - 17 - - - - org.springframework.boot - spring-boot-starter-data-jpa - - - org.springframework.boot - spring-boot-starter-data-rest - - - org.springframework.boot - spring-boot-starter-web - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.4.3 + + + group.goforward + ballistic + 0.0.1-SNAPSHOT + ballistic + Ballistic Builder API + + + + + + + Don Strawsburg + don@goforward.group + Forward Group, LLC + + + Sean Strawsburg + don@goforward.group + Forward Group, LLC + + + + + + + + + + 17 + ${java.version} + ${java.version} + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-data-rest + + + org.springframework.boot + spring-boot-starter-web + - - org.springframework.boot - spring-boot-devtools - runtime - true - - - - org.postgresql - postgresql - runtime - - - org.springframework.boot - spring-boot-starter-test - test - - + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.8.5 + + + + + jakarta.persistence + jakarta.persistence-api + 3.1.0 + + + org.postgresql + postgresql + runtime + + + org.springframework.boot + spring-boot-starter-test + test + + - - - - org.springframework.boot - spring-boot-maven-plugin - - - + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + ${maven.compiler.source} + ${maven.compiler.target} + + --enable-preview + + + + + org.springframework.boot + spring-boot-maven-plugin + + + diff --git a/src/main/java/group/goforward/ballistic/ApiResponse.java b/src/main/java/group/goforward/ballistic/ApiResponse.java new file mode 100644 index 0000000..eb22fff --- /dev/null +++ b/src/main/java/group/goforward/ballistic/ApiResponse.java @@ -0,0 +1,70 @@ +package group.goforward.ballistic; + +import java.time.LocalDateTime; + +public class ApiResponse { + + private static final String API_SUCCESS = "success"; + private static final String API_FAILURE = "failure"; + private static final String API_ERROR = "error"; + private String[] messages; + private T data; + + + + private String status; + private LocalDateTime timestamp; + private ApiResponse(String status, String[] message, T data) { + this.status = status; + this.messages = message; + this.data = data; + this.timestamp = LocalDateTime.now(); + } + + public static ApiResponse success(T data, String message) { + String[] msg = {message}; + return new ApiResponse<>(API_SUCCESS, msg, data); + } + + public static ApiResponse success(T data) { + String[] msg = {}; + return new ApiResponse<>(API_SUCCESS, msg, data); + } + + public static ApiResponse error(String[] messages) { + return new ApiResponse<>(API_ERROR, messages, null); + } + public static ApiResponse error(String message) { + String[] msg = {}; + return new ApiResponse<>(API_ERROR, msg, null); + } + + public String[] getMessages() { + return messages; + } + + public void setMessages(String[] messages) { + this.messages = messages; + } + + public T getData() {return data;} + public void setData(T data) { + this.data = data; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public LocalDateTime getTimestamp() { + return timestamp; + } + + public void setTimestamp(LocalDateTime timestamp) { + this.timestamp = timestamp; + } +} diff --git a/src/main/java/group/goforward/ballistic/BallisticApplication.java b/src/main/java/group/goforward/ballistic/BallisticApplication.java index 01eb00e..bb2d1e2 100644 --- a/src/main/java/group/goforward/ballistic/BallisticApplication.java +++ b/src/main/java/group/goforward/ballistic/BallisticApplication.java @@ -2,7 +2,15 @@ package group.goforward.ballistic; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +@Configuration +@EntityScan("group.goforward.ballistic.model") +@ComponentScan("group.goforward.ballistic.configuration") +@ComponentScan("group.goforward.ballistic.controllers") +@ComponentScan("group.goforward.ballistic.service") @SpringBootApplication public class BallisticApplication { diff --git a/src/main/java/group/goforward/ballistic/configuration/CorsConfig.java b/src/main/java/group/goforward/ballistic/configuration/CorsConfig.java new file mode 100644 index 0000000..88b01b8 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/configuration/CorsConfig.java @@ -0,0 +1,84 @@ +// src/main/java/com/example/config/CorsConfig.java +package group.goforward.ballistic.configuration; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +import java.util.Arrays; + +@Configuration +public class CorsConfig { + + @Bean + public CorsFilter corsFilter() { + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + CorsConfiguration config = new CorsConfiguration(); + + // Allow credentials + config.setAllowCredentials(true); + + // Allow Angular development server + config.setAllowedOrigins(Arrays.asList( + "http://localhost:4200", + "http://localhost:4201", + "http://localhost:8070", + "https://localhost:8070", + "http://192.168.11.210:8070", + "https://192.168.11.210:8070", + "http://localhost:4200", + "http://citysites.gofwd.group", + "https://citysites.gofwd.group", + "http://citysites.gofwd.group:8070", + "https://citysites.gofwd.group:8070" + + )); + + // Allow all headers + config.addAllowedHeader("*"); + + // Allow all HTTP methods + config.setAllowedMethods(Arrays.asList( + "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS" + )); + + // Expose headers + config.setExposedHeaders(Arrays.asList( + "Authorization", + "Content-Type", + "X-Total-Count" + )); + + // Max age for preflight cache (1 hour) + config.setMaxAge(3600L); + + source.registerCorsConfiguration("/**", config); + return new CorsFilter(source); + } +} + + +// Alternative using WebMvcConfigurer: +/* +package group.goforward.citysites.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/api/**") + .allowedOrigins("http://localhost:4200") + .allowedMethods("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS") + .allowedHeaders("*") + .allowCredentials(true) + .maxAge(3600); + } +} +*/ \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/configuration/JpaConfig.java b/src/main/java/group/goforward/ballistic/configuration/JpaConfig.java new file mode 100644 index 0000000..49b0e90 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/configuration/JpaConfig.java @@ -0,0 +1,10 @@ +package group.goforward.ballistic.configuration; + +import org.springframework.context.annotation.Configuration; +//import org.springframework.data.jpa.repository.config.EnableJpaAuditing; + +@Configuration + +public class JpaConfig { + // Enables @CreatedDate / @LastModifiedDate processing +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/configuration/package-info.java b/src/main/java/group/goforward/ballistic/configuration/package-info.java new file mode 100644 index 0000000..cd2627a --- /dev/null +++ b/src/main/java/group/goforward/ballistic/configuration/package-info.java @@ -0,0 +1 @@ +package group.goforward.ballistic.configuration; \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/controllers/PsaController.java b/src/main/java/group/goforward/ballistic/controllers/PsaController.java index 2249c6d..bb394e9 100644 --- a/src/main/java/group/goforward/ballistic/controllers/PsaController.java +++ b/src/main/java/group/goforward/ballistic/controllers/PsaController.java @@ -1,6 +1,6 @@ package group.goforward.ballistic.controllers; -import group.goforward.ballistic.jpa.Psa; +import group.goforward.ballistic.model.Psa; import group.goforward.ballistic.service.PsaService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -11,7 +11,7 @@ import java.util.Optional; import java.util.UUID; @RestController -@RequestMapping("/psa") +@RequestMapping("/api/psa") public class PsaController { private final PsaService psaService; @@ -21,12 +21,12 @@ public class PsaController { this.psaService = psaService; } - @GetMapping("/all") + @GetMapping("/api/getAllPsa") public List getAllPsa() { return psaService.findAll(); } - @GetMapping("/{id}") + @GetMapping("/api/getPSAById/{id}") public ResponseEntity getPsaById(@PathVariable UUID id) { Optional psa = psaService.findById(id); return psa.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build()); @@ -37,7 +37,7 @@ public class PsaController { return psaService.save(psa); } - @PutMapping("/{id}") + @PutMapping("/api/updatePsa/{id}") public ResponseEntity updatePsa(@PathVariable UUID id, @RequestBody Psa psaDetails) { Optional psa = psaService.findById(id); if (psa.isPresent()) { @@ -49,7 +49,7 @@ public class PsaController { } } - @DeleteMapping("/{id}") + @DeleteMapping("/api/deletePsa/{id}") public ResponseEntity deletePsa(@PathVariable UUID id) { psaService.deleteById(id); return ResponseEntity.noContent().build(); diff --git a/src/main/java/group/goforward/ballistic/controllers/StateController.java b/src/main/java/group/goforward/ballistic/controllers/StateController.java new file mode 100644 index 0000000..76fef10 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/controllers/StateController.java @@ -0,0 +1,62 @@ +package group.goforward.ballistic.controllers; + +import group.goforward.ballistic.ApiResponse; +import group.goforward.ballistic.model.State; +import group.goforward.ballistic.repos.StateRepository; +import group.goforward.ballistic.service.StatesService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@RestController +@RequestMapping() +public class StateController { + @Autowired + private StateRepository repo; + @Autowired + private StatesService statesService; + + @GetMapping("/api/getAllStates") + public ResponseEntity> getAllStates() { + List state = repo.findAll(); + return ResponseEntity.ok(state); + } + + @GetMapping("/api/getAllStatesTest") + public ApiResponse> getAllStatesTest() { + List state = repo.findAll(); + return ApiResponse.success(state); + } + + @GetMapping("/api/getAllStatesById/{id}") + public ResponseEntity getAllStatesById(@PathVariable Integer id) { + return repo.findById(id) + .map(ResponseEntity::ok) + .orElse(ResponseEntity.notFound().build()); + } + @GetMapping("/api/getAllStatesByAbbreviation/{abbreviation}") + public ResponseEntity getAllStatesByAbbreviation(@PathVariable String abbreviation) { + return repo.findByAbbreviation(abbreviation) + .map(ResponseEntity::ok) + .orElse(ResponseEntity.notFound().build()); + } + @PostMapping("/api/addState") + public ResponseEntity createState(@RequestBody State item) { + State created = statesService.save(item); + return ResponseEntity.status(HttpStatus.CREATED).body(created); + } + + @DeleteMapping("/api/deleteState/{id}") + public ResponseEntity deleteItem(@PathVariable Integer id) { + return statesService.findById(id) + .map(item -> { + statesService.deleteById(id); + return ResponseEntity.noContent().build(); + }) + .orElse(ResponseEntity.notFound().build()); + } +} diff --git a/src/main/java/group/goforward/ballistic/jpa/Account.java b/src/main/java/group/goforward/ballistic/model/Account.java similarity index 94% rename from src/main/java/group/goforward/ballistic/jpa/Account.java rename to src/main/java/group/goforward/ballistic/model/Account.java index 7b03d63..5b7ff59 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Account.java +++ b/src/main/java/group/goforward/ballistic/model/Account.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/AccountRepository.java b/src/main/java/group/goforward/ballistic/model/AccountRepository.java similarity index 77% rename from src/main/java/group/goforward/ballistic/jpa/AccountRepository.java rename to src/main/java/group/goforward/ballistic/model/AccountRepository.java index 3d4b9fa..abb4486 100644 --- a/src/main/java/group/goforward/ballistic/jpa/AccountRepository.java +++ b/src/main/java/group/goforward/ballistic/model/AccountRepository.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/group/goforward/ballistic/jpa/AeroPrecision.java b/src/main/java/group/goforward/ballistic/model/AeroPrecision.java similarity index 95% rename from src/main/java/group/goforward/ballistic/jpa/AeroPrecision.java rename to src/main/java/group/goforward/ballistic/model/AeroPrecision.java index 864dae2..65cd387 100644 --- a/src/main/java/group/goforward/ballistic/jpa/AeroPrecision.java +++ b/src/main/java/group/goforward/ballistic/model/AeroPrecision.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Authenticator.java b/src/main/java/group/goforward/ballistic/model/Authenticator.java similarity index 94% rename from src/main/java/group/goforward/ballistic/jpa/Authenticator.java rename to src/main/java/group/goforward/ballistic/model/Authenticator.java index 3e38792..49e4006 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Authenticator.java +++ b/src/main/java/group/goforward/ballistic/model/Authenticator.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.EmbeddedId; diff --git a/src/main/java/group/goforward/ballistic/jpa/AuthenticatorId.java b/src/main/java/group/goforward/ballistic/model/AuthenticatorId.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/AuthenticatorId.java rename to src/main/java/group/goforward/ballistic/model/AuthenticatorId.java index 94d85dc..b410ee2 100644 --- a/src/main/java/group/goforward/ballistic/jpa/AuthenticatorId.java +++ b/src/main/java/group/goforward/ballistic/model/AuthenticatorId.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; diff --git a/src/main/java/group/goforward/ballistic/jpa/BalReseller.java b/src/main/java/group/goforward/ballistic/model/BalReseller.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/BalReseller.java rename to src/main/java/group/goforward/ballistic/model/BalReseller.java index 656ad85..522dcd1 100644 --- a/src/main/java/group/goforward/ballistic/jpa/BalReseller.java +++ b/src/main/java/group/goforward/ballistic/model/BalReseller.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/BbProduct.java b/src/main/java/group/goforward/ballistic/model/BbProduct.java similarity index 95% rename from src/main/java/group/goforward/ballistic/jpa/BbProduct.java rename to src/main/java/group/goforward/ballistic/model/BbProduct.java index 3b0beb9..d813c83 100644 --- a/src/main/java/group/goforward/ballistic/jpa/BbProduct.java +++ b/src/main/java/group/goforward/ballistic/model/BbProduct.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Brand.java b/src/main/java/group/goforward/ballistic/model/Brand.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/Brand.java rename to src/main/java/group/goforward/ballistic/model/Brand.java index be73d7f..cef5788 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Brand.java +++ b/src/main/java/group/goforward/ballistic/model/Brand.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Build.java b/src/main/java/group/goforward/ballistic/model/Build.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/Build.java rename to src/main/java/group/goforward/ballistic/model/Build.java index c0de362..f2abcd9 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Build.java +++ b/src/main/java/group/goforward/ballistic/model/Build.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/BuildsComponent.java b/src/main/java/group/goforward/ballistic/model/BuildsComponent.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/BuildsComponent.java rename to src/main/java/group/goforward/ballistic/model/BuildsComponent.java index 27773c0..1dcc0c8 100644 --- a/src/main/java/group/goforward/ballistic/jpa/BuildsComponent.java +++ b/src/main/java/group/goforward/ballistic/model/BuildsComponent.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Category.java b/src/main/java/group/goforward/ballistic/model/Category.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/Category.java rename to src/main/java/group/goforward/ballistic/model/Category.java index ee5b684..37a40b7 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Category.java +++ b/src/main/java/group/goforward/ballistic/model/Category.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Compartment.java b/src/main/java/group/goforward/ballistic/model/Compartment.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/Compartment.java rename to src/main/java/group/goforward/ballistic/model/Compartment.java index e94473a..c5f838e 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Compartment.java +++ b/src/main/java/group/goforward/ballistic/model/Compartment.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/ComponentType.java b/src/main/java/group/goforward/ballistic/model/ComponentType.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/ComponentType.java rename to src/main/java/group/goforward/ballistic/model/ComponentType.java index ac9427e..6106eae 100644 --- a/src/main/java/group/goforward/ballistic/jpa/ComponentType.java +++ b/src/main/java/group/goforward/ballistic/model/ComponentType.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/EmailVerificationCode.java b/src/main/java/group/goforward/ballistic/model/EmailVerificationCode.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/EmailVerificationCode.java rename to src/main/java/group/goforward/ballistic/model/EmailVerificationCode.java index 470389b..d735503 100644 --- a/src/main/java/group/goforward/ballistic/jpa/EmailVerificationCode.java +++ b/src/main/java/group/goforward/ballistic/model/EmailVerificationCode.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Lipseycatalog.java b/src/main/java/group/goforward/ballistic/model/Lipseycatalog.java similarity index 95% rename from src/main/java/group/goforward/ballistic/jpa/Lipseycatalog.java rename to src/main/java/group/goforward/ballistic/model/Lipseycatalog.java index 935904f..5a7fb20 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Lipseycatalog.java +++ b/src/main/java/group/goforward/ballistic/model/Lipseycatalog.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Manufacturer.java b/src/main/java/group/goforward/ballistic/model/Manufacturer.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/Manufacturer.java rename to src/main/java/group/goforward/ballistic/model/Manufacturer.java index 3d4aed8..f7f0639 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Manufacturer.java +++ b/src/main/java/group/goforward/ballistic/model/Manufacturer.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/PasswordResetToken.java b/src/main/java/group/goforward/ballistic/model/PasswordResetToken.java similarity index 91% rename from src/main/java/group/goforward/ballistic/jpa/PasswordResetToken.java rename to src/main/java/group/goforward/ballistic/model/PasswordResetToken.java index 2a7b125..3996494 100644 --- a/src/main/java/group/goforward/ballistic/jpa/PasswordResetToken.java +++ b/src/main/java/group/goforward/ballistic/model/PasswordResetToken.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Post.java b/src/main/java/group/goforward/ballistic/model/Post.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/Post.java rename to src/main/java/group/goforward/ballistic/model/Post.java index f78f08f..b1b63cd 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Post.java +++ b/src/main/java/group/goforward/ballistic/model/Post.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Product.java b/src/main/java/group/goforward/ballistic/model/Product.java similarity index 94% rename from src/main/java/group/goforward/ballistic/jpa/Product.java rename to src/main/java/group/goforward/ballistic/model/Product.java index e087528..f5a2fcf 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Product.java +++ b/src/main/java/group/goforward/ballistic/model/Product.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/ProductFeed.java b/src/main/java/group/goforward/ballistic/model/ProductFeed.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/ProductFeed.java rename to src/main/java/group/goforward/ballistic/model/ProductFeed.java index 0a17eed..2378bd9 100644 --- a/src/main/java/group/goforward/ballistic/jpa/ProductFeed.java +++ b/src/main/java/group/goforward/ballistic/model/ProductFeed.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Psa.java b/src/main/java/group/goforward/ballistic/model/Psa.java similarity index 95% rename from src/main/java/group/goforward/ballistic/jpa/Psa.java rename to src/main/java/group/goforward/ballistic/model/Psa.java index f524184..80dfa66 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Psa.java +++ b/src/main/java/group/goforward/ballistic/model/Psa.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -6,8 +6,6 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.ColumnDefault; -import java.util.UUID; - @Entity @Table(name = "psa") public class Psa { diff --git a/src/main/java/group/goforward/ballistic/jpa/PsaOld.java b/src/main/java/group/goforward/ballistic/model/PsaOld.java similarity index 86% rename from src/main/java/group/goforward/ballistic/jpa/PsaOld.java rename to src/main/java/group/goforward/ballistic/model/PsaOld.java index 22a694e..1933174 100644 --- a/src/main/java/group/goforward/ballistic/jpa/PsaOld.java +++ b/src/main/java/group/goforward/ballistic/model/PsaOld.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/Session.java b/src/main/java/group/goforward/ballistic/model/Session.java similarity index 93% rename from src/main/java/group/goforward/ballistic/jpa/Session.java rename to src/main/java/group/goforward/ballistic/model/Session.java index cf4a3a1..b252219 100644 --- a/src/main/java/group/goforward/ballistic/jpa/Session.java +++ b/src/main/java/group/goforward/ballistic/model/Session.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/State.java b/src/main/java/group/goforward/ballistic/model/State.java similarity index 90% rename from src/main/java/group/goforward/ballistic/jpa/State.java rename to src/main/java/group/goforward/ballistic/model/State.java index 73ba118..881f130 100644 --- a/src/main/java/group/goforward/ballistic/jpa/State.java +++ b/src/main/java/group/goforward/ballistic/model/State.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/User.java b/src/main/java/group/goforward/ballistic/model/User.java similarity index 95% rename from src/main/java/group/goforward/ballistic/jpa/User.java rename to src/main/java/group/goforward/ballistic/model/User.java index a52ad12..ac49425 100644 --- a/src/main/java/group/goforward/ballistic/jpa/User.java +++ b/src/main/java/group/goforward/ballistic/model/User.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/UserActivityLog.java b/src/main/java/group/goforward/ballistic/model/UserActivityLog.java similarity index 92% rename from src/main/java/group/goforward/ballistic/jpa/UserActivityLog.java rename to src/main/java/group/goforward/ballistic/model/UserActivityLog.java index ae209a0..75804ec 100644 --- a/src/main/java/group/goforward/ballistic/jpa/UserActivityLog.java +++ b/src/main/java/group/goforward/ballistic/model/UserActivityLog.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/jpa/VerificationToken.java b/src/main/java/group/goforward/ballistic/model/VerificationToken.java similarity index 91% rename from src/main/java/group/goforward/ballistic/jpa/VerificationToken.java rename to src/main/java/group/goforward/ballistic/model/VerificationToken.java index eff597d..def041e 100644 --- a/src/main/java/group/goforward/ballistic/jpa/VerificationToken.java +++ b/src/main/java/group/goforward/ballistic/model/VerificationToken.java @@ -1,4 +1,4 @@ -package group.goforward.ballistic.jpa; +package group.goforward.ballistic.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/group/goforward/ballistic/repos/PsaRepository.java b/src/main/java/group/goforward/ballistic/repos/PsaRepository.java index 808e774..690fd52 100644 --- a/src/main/java/group/goforward/ballistic/repos/PsaRepository.java +++ b/src/main/java/group/goforward/ballistic/repos/PsaRepository.java @@ -1,5 +1,5 @@ package group.goforward.ballistic.repos; -import group.goforward.ballistic.jpa.Psa; +import group.goforward.ballistic.model.Psa; import org.springframework.data.jpa.repository.JpaRepository; import java.util.UUID; diff --git a/src/main/java/group/goforward/ballistic/repos/StateRepository.java b/src/main/java/group/goforward/ballistic/repos/StateRepository.java new file mode 100644 index 0000000..b808e98 --- /dev/null +++ b/src/main/java/group/goforward/ballistic/repos/StateRepository.java @@ -0,0 +1,10 @@ +package group.goforward.ballistic.repos; + +import group.goforward.ballistic.model.State; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface StateRepository extends JpaRepository { + Optional findByAbbreviation(String abbreviation); +} \ No newline at end of file diff --git a/src/main/java/group/goforward/ballistic/service/PsaService.java b/src/main/java/group/goforward/ballistic/service/PsaService.java index 83f4742..939477b 100644 --- a/src/main/java/group/goforward/ballistic/service/PsaService.java +++ b/src/main/java/group/goforward/ballistic/service/PsaService.java @@ -1,5 +1,5 @@ package group.goforward.ballistic.service; -import group.goforward.ballistic.jpa.Psa; +import group.goforward.ballistic.model.Psa; import group.goforward.ballistic.repos.PsaRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/group/goforward/ballistic/service/StatesService.java b/src/main/java/group/goforward/ballistic/service/StatesService.java new file mode 100644 index 0000000..f3a290a --- /dev/null +++ b/src/main/java/group/goforward/ballistic/service/StatesService.java @@ -0,0 +1,16 @@ +package group.goforward.ballistic.service; + +import group.goforward.ballistic.model.State; + +import java.util.List; +import java.util.Optional; + +public interface StatesService { + + List findAll(); + + Optional findById(Integer id); + + State save(State item); + void deleteById(Integer id); +} diff --git a/src/main/java/group/goforward/ballistic/service/impl/StatesServiceImpl.java b/src/main/java/group/goforward/ballistic/service/impl/StatesServiceImpl.java new file mode 100644 index 0000000..b1fdb4d --- /dev/null +++ b/src/main/java/group/goforward/ballistic/service/impl/StatesServiceImpl.java @@ -0,0 +1,38 @@ +package group.goforward.ballistic.service.impl; + + +import group.goforward.ballistic.model.State; +import group.goforward.ballistic.repos.StateRepository; +import group.goforward.ballistic.service.StatesService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +public class StatesServiceImpl implements StatesService { + + @Autowired + private StateRepository repo; + + @Override + public List findAll() { + return repo.findAll(); + } + + @Override + public Optional findById(Integer id) { + return repo.findById(id); + } + + @Override + public State save(State item) { + return null; + } + + @Override + public void deleteById(Integer id) { + deleteById(id); + } +}