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);
+ }
+}