keep working

This commit is contained in:
tl 2022-05-27 08:58:53 +02:00
parent 53e3394214
commit 53e5b33402
8 changed files with 130 additions and 6 deletions

View File

@ -1,6 +1,7 @@
package eu.csc.ODPAppVehOwnServer.persistence.entity;
import eu.csc.ODPAppVehOwnServer.persistence.entity.customer.CustomerDeviceEntity;
import eu.csc.ODPAppVehOwnServer.persistence.entity.customer.CustomerVehicleEntity;
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.VehicleModelEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
@ -30,7 +31,10 @@ public class UserEntity extends AbstractEntity{
@OneToMany(fetch = FetchType.EAGER, mappedBy = "user", cascade = CascadeType.ALL)
private List<CustomerDeviceEntity>customerDeviceEntities;
private List<CustomerDeviceEntity> customerDeviceEntities;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "user", cascade = CascadeType.ALL)
private List<CustomerVehicleEntity> customerVehicleEntities;
}

View File

@ -0,0 +1,29 @@
package eu.csc.ODPAppVehOwnServer.persistence.entity.data;
import eu.csc.ODPAppVehOwnServer.persistence.entity.AbstractEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.*;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "tpropulsion_types")
@ToString(callSuper = true, onlyExplicitlyIncluded = false)
//@ToString(callSuper = true, onlyExplicitlyIncluded = true)
public class PropulsionTypeEntity extends AbstractEntity {
@Column(nullable = false, unique = true)
private String name;
}

View File

@ -0,0 +1,15 @@
package eu.csc.ODPAppVehOwnServer.persistence.respository;
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.DeviceEntity;
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.PropulsionTypeEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.Optional;
@Repository
public interface PropulsionTypeRepository extends JpaRepository<PropulsionTypeEntity, Long> {
}

View File

@ -1,7 +1,9 @@
package eu.csc.ODPAppVehOwnServer.persistence.services;
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.PropulsionTypeEntity;
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.VehicleBrandEntity;
import eu.csc.ODPAppVehOwnServer.persistence.entity.data.VehicleModelEntity;
import eu.csc.ODPAppVehOwnServer.persistence.respository.PropulsionTypeRepository;
import eu.csc.ODPAppVehOwnServer.persistence.respository.VehicleBrandRepository;
import eu.csc.ODPAppVehOwnServer.persistence.respository.VehicleModelRepository;
import org.springframework.beans.factory.annotation.Autowired;
@ -18,6 +20,9 @@ public class VehicleService {
@Autowired
private VehicleModelRepository vehicleModelRepository;
@Autowired
private PropulsionTypeRepository propulsionTypeRepository;
public List<VehicleBrandEntity> findAllBrands(){
return vehicleBrandRepository.findAll();
}
@ -57,4 +62,9 @@ public class VehicleService {
return vehicleModelRepository.findAll();
}
public List<PropulsionTypeEntity> findAllPropulsionTypes() {
return propulsionTypeRepository.findAll();
}
}

View File

@ -0,0 +1,19 @@
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/appvehownserver
spring.datasource.username=root
spring.datasource.password=ODP123qweasdyxc
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.jdbc.batch_size=100
spring.jpa.properties.hibernate.order_inserts=true
spring.jpa.properties.hibernate.order_updates=true
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=250000
spring.jpa.properties.hibernate.generate_statistics=true

View File

@ -3,6 +3,7 @@ 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.services.VehicleService;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
@ -16,13 +17,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("/brands")
public ResponseEntity<List<VehicleBrandDto>> showVehicleBrands() {
var items = new ArrayList<VehicleBrandDto>();
@ -37,6 +38,8 @@ public class VehicleController {
items.add(dto);
//ToDo add models?
}
return ResponseEntity.ok(items);
@ -66,4 +69,25 @@ public class VehicleController {
}
@GetMapping
@RequestMapping("/propulsiontypes")
public ResponseEntity<List<PropulsionTypeDto>> showPropulsionTypes(){
var items = new ArrayList<PropulsionTypeDto>();
for (var v : vehicleService.findAllPropulsionTypes()
) {
var dto = new PropulsionTypeDto();
dto.setId(v.getId());
dto.setName(v.getName());
items.add(dto);
}
return ResponseEntity.ok(items);
}
}

View File

@ -6,6 +6,7 @@ import eu.csc.ODPAppVehOwnServer.models.VehicleModelDto;
import eu.csc.ODPAppVehOwnServer.models.auth.AuthenticationRequest;
import eu.csc.ODPAppVehOwnServer.models.data.DeviceDto;
import eu.csc.ODPAppVehOwnServer.models.data.LanguageDto;
import eu.csc.ODPAppVehOwnServer.models.data.PropulsionTypeDto;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
@ -19,12 +20,19 @@ public interface ClientService {
@GET("/api/languages")
Call<List<LanguageDto>> listLanguages();
//region Vehicle
@GET("/api/vehicles/brands")
Call<List<VehicleBrandDto>> listBrands();
@GET("/api/vehicles/models")
Call<List<VehicleModelDto>> listVehicleModels();
@GET("/api/vehicles/propulsiontypes")
Call<List<PropulsionTypeDto>> listPropulsionTypes();
//endregion
@GET("/api/devices/")
Call<List<DeviceDto>> listDevices();

View File

@ -0,0 +1,15 @@
package eu.csc.ODPAppVehOwnServer.models.data;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PropulsionTypeDto {
private Long id;
private String name;
}