refactoring and added controller functions

This commit is contained in:
yannick.blanken@csc-online.eu 2022-06-01 07:22:58 +02:00
parent afb10230d7
commit 1a49ae51a6
3 changed files with 25 additions and 11 deletions

View File

@ -5,12 +5,13 @@ import eu.csc.ODPAppVehOwnServer.persistence.entity.data.VehicleModelEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
public interface VehicleModelRepository extends JpaRepository<VehicleModelEntity, Long> {
Optional<VehicleModelEntity> findOneByModel(String brand);
List<VehicleModelEntity> findAllByBrand_BrandId(String brand);
}

View File

@ -63,6 +63,11 @@ public class VehicleService {
return vehicleModelRepository.findAll();
}
public List<VehicleModelEntity> findAllModels(String brand) {
return vehicleModelRepository.findAllByBrand_BrandId(brand);
}
public List<PropulsionTypeEntity> findAllPropulsionTypes() {
return propulsionTypeRepository.findAll();

View File

@ -2,13 +2,14 @@ package eu.csc.ODPAppVehOwnServer.controller.data;
import eu.csc.ODPAppVehOwnServer.models.VehicleBrandDto;
import eu.csc.ODPAppVehOwnServer.models.VehicleModelDto;
import eu.csc.ODPAppVehOwnServer.models.data.LanguageDto;
import eu.csc.ODPAppVehOwnServer.models.data.PropulsionTypeDto;
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.VehicleModelEntity;
import eu.csc.ODPAppVehOwnServer.persistence.services.VehicleService;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -17,13 +18,13 @@ import java.util.List;
@RestController
@RequestMapping("vehicles")
public class VehicleController {
public class VehicleController {
@Autowired
private VehicleService vehicleService;
@Autowired
private VehicleService vehicleService;
@GetMapping
@RequestMapping("/brands")
@GetMapping
@RequestMapping(value={"/brands"})
public ResponseEntity<List<VehicleBrandDto>> showVehicleBrands() {
var items = new ArrayList<VehicleBrandDto>();
@ -47,12 +48,19 @@ import java.util.List;
@GetMapping
@RequestMapping("/models")
public ResponseEntity<List<VehicleModelDto>> showVehicleModels() {
@RequestMapping(value = {"/models","/models/{brand}"})
public ResponseEntity<List<VehicleModelDto>> showVehicleModels(@PathVariable(name = "brand", required = false) String brand) {
var items = new ArrayList<VehicleModelDto>();
for (var v : vehicleService.findAllModels()
List<VehicleModelEntity> models = null;
if(brand== null || brand.equals(""))
models = vehicleService.findAllModels();
else
models = vehicleService.findAllModels(brand);
for (var v : models
) {
var dto = new VehicleModelDto();
@ -71,7 +79,7 @@ import java.util.List;
@GetMapping
@RequestMapping("/propulsiontypes")
public ResponseEntity<List<PropulsionTypeDto>> showPropulsionTypes(){
public ResponseEntity<List<PropulsionTypeDto>> showPropulsionTypes() {
var items = new ArrayList<PropulsionTypeDto>();