Add illustration id to publication entity.

This commit is contained in:
Florian THIERRY
2024-03-14 13:56:34 +01:00
parent 2dc386e896
commit 5d267111a9
15 changed files with 57 additions and 54 deletions

View File

@@ -44,4 +44,8 @@ public class PictureUseCases {
public Optional<Picture> findById(UUID pictureId) {
return picturePort.findById(pictureId);
}
public boolean existsById(UUID pictureId) {
return picturePort.existsById(pictureId);
}
}

View File

@@ -19,8 +19,8 @@ public class PublicationCreationRequestValidator {
throw new PublicationEditionException("description cannot be null");
}
if (request.pictureId() == null) {
throw new PublicationEditionException("pictureId cannot be null");
if (request.illustrationId() == null) {
throw new PublicationEditionException("illustrationId cannot be null");
}
}
}

View File

@@ -13,7 +13,7 @@ public class PublicationUpdateRequestValidator {
isNull(request.title()) &&
isNull(request.text()) &&
isNull(request.description()) &&
isNull(request.pictureId()) &&
isNull(request.illustrationId()) &&
isNull(request.categoryId())
) {
throw new PublicationEditionException("no any field is filled");

View File

@@ -15,7 +15,6 @@ import org.codiki.domain.category.exception.CategoryNotFoundException;
import org.codiki.domain.category.model.Category;
import org.codiki.domain.exception.AuthenticationRequiredException;
import org.codiki.domain.picture.exception.PictureNotFoundException;
import org.codiki.domain.picture.model.Picture;
import org.codiki.domain.publication.exception.PublicationEditionException;
import org.codiki.domain.publication.exception.PublicationNotFoundException;
import org.codiki.domain.publication.exception.PublicationUpdateForbiddenException;
@@ -68,10 +67,11 @@ public class PublicationUseCases {
new CategoryNotFoundException(request.categoryId())
));
Picture picture = pictureUseCases.findById(request.pictureId())
.orElseThrow(() -> new PublicationEditionException(
new PictureNotFoundException(request.pictureId())
));
if (!pictureUseCases.existsById(request.illustrationId())) {
throw new PublicationEditionException(
new PictureNotFoundException(request.illustrationId())
);
}
Publication newPublication = aPublication()
.withId(UUID.randomUUID())
@@ -79,7 +79,7 @@ public class PublicationUseCases {
.withTitle(request.title())
.withText(request.text())
.withDescription(request.description())
.withPicture(picture)
.withIllustrationId(request.illustrationId())
.withCreationDate(ZonedDateTime.now(clock))
.withAuthor(anAuthor().basedOn(authenticatedUser).build())
.withCategory(category)
@@ -117,12 +117,13 @@ public class PublicationUseCases {
publicationBuilder.withDescription(request.description());
}
if (!isNull(request.pictureId())) {
Picture picture = pictureUseCases.findById(request.pictureId())
.orElseThrow(() -> new PublicationEditionException(
new PictureNotFoundException(request.pictureId())
));
publicationBuilder.withPicture(picture);
if (!isNull(request.illustrationId())) {
if (!pictureUseCases.existsById(request.illustrationId())) {
throw new PublicationEditionException(
new PictureNotFoundException(request.illustrationId())
);
}
publicationBuilder.withIllustrationId(request.illustrationId());
}
if (!isNull(request.categoryId())) {