Implementation of publication deletion.

This commit is contained in:
Florian THIERRY
2024-03-12 11:08:33 +01:00
parent 571b005770
commit 822eae5991
6 changed files with 34 additions and 2 deletions

View File

@@ -123,4 +123,18 @@ public class PublicationUseCases {
return updatedPublication;
}
public void deletePublication(UUID publicationId) {
Publication publicationToDelete = publicationPort.findById(publicationId)
.orElseThrow(() -> new PublicationNotFoundException(publicationId));
User authenticatedUser = userUseCases.getAuthenticatedUser()
.orElseThrow(AuthenticationRequiredException::new);
if (!publicationToDelete.author().id().equals(authenticatedUser.id())) {
throw new PublicationUpdateForbiddenException();
}
publicationPort.delete(publicationToDelete);
}
}