Skip to content
Snippets Groups Projects
Commit 77a458a0 authored by Martin Slovík's avatar Martin Slovík
Browse files

Moving update to service layer. Changing updating strategy to not update nested members

parent f5952338
No related branches found
No related tags found
No related merge requests found
...@@ -488,7 +488,7 @@ paths: ...@@ -488,7 +488,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/AirplaneTypeDto' $ref: '#/components/schemas/NewAirplaneTypeDtoRequest'
required: true required: true
responses: responses:
"200": "200":
...@@ -603,7 +603,7 @@ paths: ...@@ -603,7 +603,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/AirplaneDto' $ref: '#/components/schemas/NewAirplaneDtoRequest'
required: true required: true
responses: responses:
"200": "200":
......
...@@ -22,5 +22,5 @@ public interface AirplaneTypeFacade<K> { ...@@ -22,5 +22,5 @@ public interface AirplaneTypeFacade<K> {
void deleteAll(); void deleteAll();
AirplaneTypeDto update(K id, AirplaneTypeDto newAirplaneTypeDto); AirplaneTypeDto update(K id, NewAirplaneTypeDtoRequest newAirplaneTypeDto);
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package cz.muni.fi.pa165.core.facade.airplanetype; ...@@ -3,6 +3,7 @@ package cz.muni.fi.pa165.core.facade.airplanetype;
import cz.muni.fi.pa165.core.data.domain.AirplaneType; import cz.muni.fi.pa165.core.data.domain.AirplaneType;
import cz.muni.fi.pa165.core.exceptions.ResourceNotFoundException; import cz.muni.fi.pa165.core.exceptions.ResourceNotFoundException;
import cz.muni.fi.pa165.core.model.AirplaneTypeDto; import cz.muni.fi.pa165.core.model.AirplaneTypeDto;
import cz.muni.fi.pa165.core.model.NewAirplaneDtoRequest;
import cz.muni.fi.pa165.core.model.NewAirplaneTypeDtoRequest; import cz.muni.fi.pa165.core.model.NewAirplaneTypeDtoRequest;
import cz.muni.fi.pa165.core.service.airplanetype.AirplaneTypeService; import cz.muni.fi.pa165.core.service.airplanetype.AirplaneTypeService;
import org.modelmapper.ModelMapper; import org.modelmapper.ModelMapper;
...@@ -56,14 +57,10 @@ public class AirplaneTypeFacadeImpl implements AirplaneTypeFacade<Long> { ...@@ -56,14 +57,10 @@ public class AirplaneTypeFacadeImpl implements AirplaneTypeFacade<Long> {
} }
@Override @Override
public AirplaneTypeDto update(Long id, AirplaneTypeDto newAirplaneTypeDto) { public AirplaneTypeDto update(Long id, NewAirplaneTypeDtoRequest newAirplaneTypeDto) {
var entityToUpdate = airplaneTypeService.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Not Found."));
var newAirplaneTypeEntity = modelMapper.map(newAirplaneTypeDto, AirplaneType.class); var newAirplaneTypeEntity = modelMapper.map(newAirplaneTypeDto, AirplaneType.class);
entityToUpdate.setName(newAirplaneTypeEntity.getName()); return modelMapper.map(airplaneTypeService.update(id, newAirplaneTypeEntity), AirplaneTypeDto.class);
return modelMapper.map(airplaneTypeService.save(entityToUpdate), AirplaneTypeDto.class);
} }
} }
...@@ -79,13 +79,13 @@ public class AirplaneTypeController implements AirplaneTypeApiDelegate { ...@@ -79,13 +79,13 @@ public class AirplaneTypeController implements AirplaneTypeApiDelegate {
* Updates a airplane type by id and returns it as a response. * Updates a airplane type by id and returns it as a response.
* *
* @param id (required) * @param id (required)
* @param airplaneTypeDto (required) * @param newAirplaneTypeDtoRequest (required)
* @return OK (status code 200) * @return OK (status code 200)
* or Input data not correct (status code 400) * or Input data not correct (status code 400)
* @see AirplaneTypeApi#updateAirplaneType * @see AirplaneTypeApi#updateAirplaneType
*/ */
@Override @Override
public ResponseEntity<AirplaneTypeDto> updateAirplaneType(Long id, AirplaneTypeDto airplaneTypeDto) { public ResponseEntity<AirplaneTypeDto> updateAirplaneType(Long id, NewAirplaneTypeDtoRequest newAirplaneTypeDtoRequest) {
return ResponseEntity.ok(airplaneTypeFacade.update(id, airplaneTypeDto)); return ResponseEntity.ok(airplaneTypeFacade.update(id, newAirplaneTypeDtoRequest));
} }
} }
...@@ -8,4 +8,6 @@ import java.util.Optional; ...@@ -8,4 +8,6 @@ import java.util.Optional;
public interface AirplaneTypeService extends BaseService<AirplaneType, Long> { public interface AirplaneTypeService extends BaseService<AirplaneType, Long> {
Optional<AirplaneType> findByName(String name); Optional<AirplaneType> findByName(String name);
AirplaneType update(Long id, AirplaneType newAirplaneType);
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ package cz.muni.fi.pa165.core.service.airplanetype; ...@@ -2,6 +2,7 @@ package cz.muni.fi.pa165.core.service.airplanetype;
import cz.muni.fi.pa165.core.data.domain.AirplaneType; import cz.muni.fi.pa165.core.data.domain.AirplaneType;
import cz.muni.fi.pa165.core.data.repository.airplanetype.AirplaneTypeRepository; import cz.muni.fi.pa165.core.data.repository.airplanetype.AirplaneTypeRepository;
import cz.muni.fi.pa165.core.exceptions.ResourceNotFoundException;
import cz.muni.fi.pa165.core.service.common.BaseServiceImpl; import cz.muni.fi.pa165.core.service.common.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -23,4 +24,14 @@ public class AirplaneTypeServiceImpl extends BaseServiceImpl<AirplaneType, Long> ...@@ -23,4 +24,14 @@ public class AirplaneTypeServiceImpl extends BaseServiceImpl<AirplaneType, Long>
public Optional<AirplaneType> findByName(String name) { public Optional<AirplaneType> findByName(String name) {
return airplaneTypeRepository.findByName(name); return airplaneTypeRepository.findByName(name);
} }
@Override
public AirplaneType update(Long id, AirplaneType newAirplaneType) {
var entityToUpdate = airplaneTypeRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Not Found."));
entityToUpdate.setName(newAirplaneType.getName());
return airplaneTypeRepository.save(entityToUpdate);
}
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment