Implementation of publication update.
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
package org.codiki.domain.category.exception;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.exception.FunctionnalException;
|
||||
|
||||
public class CategoryNotFoundException extends FunctionnalException {
|
||||
public CategoryNotFoundException(UUID categoryId) {
|
||||
super(String.format("No any category found for id %s.",categoryId));
|
||||
}
|
||||
}
|
||||
@@ -4,4 +4,12 @@ public abstract class FunctionnalException extends RuntimeException {
|
||||
public FunctionnalException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public FunctionnalException(FunctionnalException cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
public FunctionnalException(String message, FunctionnalException cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
package org.codiki.domain.publication.exception;
|
||||
|
||||
import org.codiki.domain.exception.FunctionnalException;
|
||||
|
||||
public class PublicationCreationException extends FunctionnalException {
|
||||
public PublicationCreationException(String reason) {
|
||||
super(String.format("Impossible to create a publication because : %s", reason));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.codiki.domain.publication.exception;
|
||||
|
||||
import org.codiki.domain.exception.FunctionnalException;
|
||||
|
||||
public class PublicationEditionException extends FunctionnalException {
|
||||
public PublicationEditionException(String reason) {
|
||||
super(String.format("Impossible to edit a publication because : %s.", reason));
|
||||
}
|
||||
|
||||
public PublicationEditionException(FunctionnalException cause) {
|
||||
super("Impossible to edit a publication due to a root cause.", cause);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package org.codiki.domain.publication.exception;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.exception.FunctionnalException;
|
||||
|
||||
public class PublicationNotFoundException extends FunctionnalException {
|
||||
public PublicationNotFoundException(UUID publicationId) {
|
||||
super(String.format("No any publication found for id %s.", publicationId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.codiki.domain.publication.exception;
|
||||
|
||||
import org.codiki.domain.exception.FunctionnalException;
|
||||
|
||||
public class PublicationUpdateForbiddenException extends FunctionnalException {
|
||||
public PublicationUpdateForbiddenException() {
|
||||
super("Publication update is not allowed because you are not its owner.");
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package org.codiki.domain.publication.model;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public record PublicationCreationRequest(
|
||||
public record PublicationEditionRequest(
|
||||
String title,
|
||||
String text,
|
||||
String description,
|
||||
@@ -82,4 +82,17 @@ public class PublicationBuilder {
|
||||
category
|
||||
);
|
||||
}
|
||||
|
||||
public PublicationBuilder basedOn(Publication publication) {
|
||||
return new PublicationBuilder()
|
||||
.withId(publication.id())
|
||||
.withKey(publication.key())
|
||||
.withTitle(publication.title())
|
||||
.withText(publication.text())
|
||||
.withDescription(publication.description())
|
||||
.withImage(publication.image())
|
||||
.withCreationDate(publication.creationDate())
|
||||
.withAuthor(publication.author())
|
||||
.withCategory(publication.category());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
package org.codiki.domain.publication.port;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.publication.model.Publication;
|
||||
|
||||
public interface PublicationPort {
|
||||
void save(Publication publication);
|
||||
|
||||
Optional<Publication> findById(UUID publicationId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user