Class VehicleService

java.lang.Object
springboot.bg.harisauto.vehicle.service.VehicleService

@Service public class VehicleService extends Object
VehicleService.class - Service class for managing vehicles.
Author:
Kristian Popov
  • Constructor Details

    • VehicleService

      @Autowired public VehicleService(VehicleRepository vehicleRepository)
  • Method Details

    • createVehicle

      @Transactional public void createVehicle(User user, CreateVehicleRequest request)
      Creates a new vehicle.
      Parameters:
      user - The user who owns the vehicle.
      request - The vehicle creation request.
    • getVehiclesByUser

      public List<Vehicle> getVehiclesByUser(User user)
      Get vehicles by user.
      Parameters:
      user - - user
      Returns:
      list of vehicles
    • getById

      public Vehicle getById(UUID vehicleId)
      Get vehicle by id.
      Parameters:
      vehicleId - - vehicle id
      Returns:
      vehicle
      Throws:
      VehicleBusinessException - if no vehicle has that id
    • findById

      public Optional<Vehicle> findById(UUID vehicleId)
      Get vehicle by id, or empty when it does not exist.

      For callers that render a placeholder rather than failing, such as a booking that still references a vehicle the owner has since deleted.

      Parameters:
      vehicleId - - vehicle id
      Returns:
      the vehicle, if present
    • deleteVehicle

      @Transactional public void deleteVehicle(User user, UUID vehicleId)
      Deletes a vehicle.
      Parameters:
      user - The user who owns the vehicle.
      vehicleId - The vehicle id.