Добавил проверку на различие пользователей в сущности подписки

This commit is contained in:
Никита Потапов 2024-05-12 21:04:07 +04:00
parent 39988e9b9d
commit 5453c9291b
3 changed files with 8 additions and 3 deletions

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.example.nekontakte.core.configurations.Constants;
import org.apache.coyote.BadRequestException;
import org.modelmapper.ModelMapper;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.DeleteMapping;
@ -67,7 +68,7 @@ public class SubscribeController {
}
@PostMapping
public SubscribeDTO create(@RequestBody @Valid SubscribeDTO SubscribeDTO) {
public SubscribeDTO create(@RequestBody @Valid SubscribeDTO SubscribeDTO) throws BadRequestException {
return toDTO(subscribeService.create(toEntity(SubscribeDTO)));
}

View File

@ -4,6 +4,7 @@ import java.util.List;
import java.util.stream.StreamSupport;
import org.apache.coyote.BadRequestException;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
@ -56,7 +57,10 @@ public class SubscribeService {
return repository.findById(id).orElseThrow(() -> new NotFoundException(SubscribeEntity.class, id));
}
public SubscribeEntity create(SubscribeEntity entity) {
public SubscribeEntity create(SubscribeEntity entity) throws BadRequestException {
if (entity.getSubscriber().getId() == entity.getUser().getId()) {
throw new org.apache.coyote.BadRequestException("User do not subscribe themself");
}
return repository.save(entity);
}

View File

@ -37,7 +37,7 @@ public class SubscribeServiceTests {
private SubscribeEntity secondSubscribe;
@BeforeEach
void createData() throws ParseException {
void createData() throws ParseException, BadRequestException {
removeData();
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy", Locale.ENGLISH);