Skip to content

Commit 1d0d956

Browse files
committed
fix: Wrong validation on save method - Fixes #90
1 parent 5b8709d commit 1d0d956

4 files changed

Lines changed: 32 additions & 32 deletions

File tree

‎src/main/java/com/lucasjosino/hawapi/services/impl/EpisodeServiceImpl.java‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ public EpisodeDTO save(EpisodeDTO dto) {
176176
dto.setHref(basePath + "/" + uuid);
177177
dto.setLanguages(Collections.singletonList(dto.getLanguage()));
178178

179-
validateDTO(uuid, dto.getLanguage());
179+
validateRequest(uuid, dto.getLanguage());
180180

181181
EpisodeModel dtoToModel = modelMapper.map(dto, EpisodeModel.class);
182182
dtoToModel.getTranslation().setEpisodeUuid(uuid);
@@ -193,7 +193,11 @@ public EpisodeDTO save(EpisodeDTO dto) {
193193
* @since 1.0.0
194194
*/
195195
public EpisodeTranslationDTO saveTranslation(UUID uuid, EpisodeTranslationDTO dto) {
196-
validateDTO(uuid, dto.getLanguage());
196+
if (!repository.existsById(uuid)) {
197+
throw new ItemNotFoundException("Item '" + uuid + "' doesn't exist!");
198+
}
199+
200+
validateRequest(uuid, dto.getLanguage());
197201

198202
EpisodeTranslation dtoToModel = modelMapper.map(dto, EpisodeTranslation.class);
199203
dtoToModel.setEpisodeUuid(uuid);
@@ -262,7 +266,7 @@ public void deleteTranslation(UUID uuid, String language) {
262266
}
263267

264268
/**
265-
* Method to validate an DTO
269+
* Method to validate an request
266270
* <ul>
267271
* <li>Validate if language is valid</li>
268272
* <li>Validate if field with same uuid and language already exists</li>
@@ -274,15 +278,11 @@ public void deleteTranslation(UUID uuid, String language) {
274278
* @throws SaveConflictException If item already exists
275279
* @since 1.0.0
276280
*/
277-
private void validateDTO(UUID uuid, String language) {
281+
private void validateRequest(UUID uuid, String language) {
278282
if (StringUtils.isNullOrEmpty(language)) {
279283
throw new BadRequestException("Column 'language' is required");
280284
}
281285

282-
if (!repository.existsById(uuid)) {
283-
throw new ItemNotFoundException("Item '" + uuid + "' doesn't exist!");
284-
}
285-
286286
if (translationRepository.existsByEpisodeUuidAndLanguage(uuid, language)) {
287287
throw new SaveConflictException("Language '" + language + "' already exist!");
288288
}

‎src/main/java/com/lucasjosino/hawapi/services/impl/GameServiceImpl.java‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ public GameDTO save(GameDTO dto) {
176176
dto.setHref(basePath + "/" + uuid);
177177
dto.setLanguages(Collections.singletonList(dto.getLanguage()));
178178

179-
validateDTO(uuid, dto.getLanguage());
179+
validateRequest(uuid, dto.getLanguage());
180180

181181
GameModel dtoToModel = modelMapper.map(dto, GameModel.class);
182182
dtoToModel.getTranslation().setGameUuid(uuid);
@@ -193,7 +193,11 @@ public GameDTO save(GameDTO dto) {
193193
* @since 1.0.0
194194
*/
195195
public GameTranslationDTO saveTranslation(UUID uuid, GameTranslationDTO dto) {
196-
validateDTO(uuid, dto.getLanguage());
196+
if (!repository.existsById(uuid)) {
197+
throw new ItemNotFoundException("Item '" + uuid + "' doesn't exist!");
198+
}
199+
200+
validateRequest(uuid, dto.getLanguage());
197201

198202
GameTranslation dtoToModel = modelMapper.map(dto, GameTranslation.class);
199203
dtoToModel.setGameUuid(uuid);
@@ -262,7 +266,7 @@ public void deleteTranslation(UUID uuid, String language) {
262266
}
263267

264268
/**
265-
* Method to validate an DTO
269+
* Method to validate an request
266270
* <ul>
267271
* <li>Validate if language is valid</li>
268272
* <li>Validate if field with same uuid and language already exists</li>
@@ -274,15 +278,11 @@ public void deleteTranslation(UUID uuid, String language) {
274278
* @throws SaveConflictException If item already exists
275279
* @since 1.0.0
276280
*/
277-
private void validateDTO(UUID uuid, String language) {
281+
private void validateRequest(UUID uuid, String language) {
278282
if (StringUtils.isNullOrEmpty(language)) {
279283
throw new BadRequestException("Column 'language' is required");
280284
}
281285

282-
if (!repository.existsById(uuid)) {
283-
throw new ItemNotFoundException("Item '" + uuid + "' doesn't exist!");
284-
}
285-
286286
if (translationRepository.existsByGameUuidAndLanguage(uuid, language)) {
287287
throw new SaveConflictException("Language '" + language + "' already exist!");
288288
}

‎src/main/java/com/lucasjosino/hawapi/services/impl/LocationServiceImpl.java‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ public LocationDTO save(LocationDTO dto) {
175175
dto.setHref(basePath + "/" + uuid);
176176
dto.setLanguages(Collections.singletonList(dto.getLanguage()));
177177

178-
validateDTO(uuid, dto.getLanguage());
178+
validateRequest(uuid, dto.getLanguage());
179179

180180
LocationModel dtoToModel = modelMapper.map(dto, LocationModel.class);
181181
dtoToModel.getTranslation().setLocationUuid(uuid);
@@ -192,7 +192,11 @@ public LocationDTO save(LocationDTO dto) {
192192
* @since 1.0.0
193193
*/
194194
public LocationTranslationDTO saveTranslation(UUID uuid, LocationTranslationDTO dto) {
195-
validateDTO(uuid, dto.getLanguage());
195+
if (!repository.existsById(uuid)) {
196+
throw new ItemNotFoundException("Item '" + uuid + "' doesn't exist!");
197+
}
198+
199+
validateRequest(uuid, dto.getLanguage());
196200

197201
LocationTranslation dtoToModel = modelMapper.map(dto, LocationTranslation.class);
198202
dtoToModel.setLocationUuid(uuid);
@@ -261,7 +265,7 @@ public void deleteTranslation(UUID uuid, String language) {
261265
}
262266

263267
/**
264-
* Method to validate an DTO
268+
* Method to validate an request
265269
* <ul>
266270
* <li>Validate if language is valid</li>
267271
* <li>Validate if field with same uuid and language already exists</li>
@@ -273,15 +277,11 @@ public void deleteTranslation(UUID uuid, String language) {
273277
* @throws SaveConflictException If item already exists
274278
* @since 1.0.0
275279
*/
276-
private void validateDTO(UUID uuid, String language) {
280+
private void validateRequest(UUID uuid, String language) {
277281
if (StringUtils.isNullOrEmpty(language)) {
278282
throw new BadRequestException("Column 'language' is required");
279283
}
280284

281-
if (!repository.existsById(uuid)) {
282-
throw new ItemNotFoundException("Item '" + uuid + "' doesn't exist!");
283-
}
284-
285285
if (translationRepository.existsByLocationUuidAndLanguage(uuid, language)) {
286286
throw new SaveConflictException("Language '" + language + "' already exist!");
287287
}

‎src/main/java/com/lucasjosino/hawapi/services/impl/SeasonServiceImpl.java‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ public SeasonDTO save(SeasonDTO dto) {
176176
dto.setHref(basePath + "/" + uuid);
177177
dto.setLanguages(Collections.singletonList(dto.getLanguage()));
178178

179-
validateDTO(uuid, dto.getLanguage());
179+
validateRequest(uuid, dto.getLanguage());
180180

181181
SeasonModel dtoToModel = modelMapper.map(dto, SeasonModel.class);
182182
dtoToModel.getTranslation().setSeasonUuid(uuid);
@@ -193,7 +193,11 @@ public SeasonDTO save(SeasonDTO dto) {
193193
* @since 1.0.0
194194
*/
195195
public SeasonTranslationDTO saveTranslation(UUID uuid, SeasonTranslationDTO dto) {
196-
validateDTO(uuid, dto.getLanguage());
196+
if (!repository.existsById(uuid)) {
197+
throw new ItemNotFoundException("Item '" + uuid + "' doesn't exist!");
198+
}
199+
200+
validateRequest(uuid, dto.getLanguage());
197201

198202
SeasonTranslation dtoToModel = modelMapper.map(dto, SeasonTranslation.class);
199203
dtoToModel.setSeasonUuid(uuid);
@@ -262,7 +266,7 @@ public void deleteTranslation(UUID uuid, String language) {
262266
}
263267

264268
/**
265-
* Method to validate an DTO
269+
* Method to validate an request
266270
* <ul>
267271
* <li>Validate if language is valid</li>
268272
* <li>Validate if field with same uuid and language already exists</li>
@@ -274,15 +278,11 @@ public void deleteTranslation(UUID uuid, String language) {
274278
* @throws SaveConflictException If item already exists
275279
* @since 1.0.0
276280
*/
277-
private void validateDTO(UUID uuid, String language) {
281+
private void validateRequest(UUID uuid, String language) {
278282
if (StringUtils.isNullOrEmpty(language)) {
279283
throw new BadRequestException("Column 'language' is required");
280284
}
281285

282-
if (!repository.existsById(uuid)) {
283-
throw new ItemNotFoundException("Item '" + uuid + "' doesn't exist!");
284-
}
285-
286286
if (translationRepository.existsBySeasonUuidAndLanguage(uuid, language)) {
287287
throw new SaveConflictException("Language '" + language + "' already exist!");
288288
}

0 commit comments

Comments
 (0)