Добавил проверку на различие пользователей в сущности подписки
This commit is contained in:
parent
39988e9b9d
commit
5453c9291b
@ -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)));
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user