Set up picture upload mechanism.
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
package org.codiki.domain.picture.exception;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.exception.FunctionnalException;
|
||||
|
||||
public class PictureContentLoadingErrorException extends FunctionnalException {
|
||||
public PictureContentLoadingErrorException(UUID pictureId) {
|
||||
super(String.format("An error occurred while loading picture content (picture id=%s).", pictureId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.codiki.domain.picture.exception;
|
||||
|
||||
import org.codiki.domain.exception.FunctionnalException;
|
||||
|
||||
public class PictureStorageErrorException extends FunctionnalException {
|
||||
public PictureStorageErrorException() {
|
||||
super("An error occurred while storing picture content file.");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package org.codiki.domain.picture.model;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.UUID;
|
||||
|
||||
public record Picture(
|
||||
UUID id,
|
||||
File contentFile
|
||||
) {}
|
||||
@@ -0,0 +1,38 @@
|
||||
package org.codiki.domain.picture.model.builder;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.picture.model.Picture;
|
||||
|
||||
public class PictureBuilder {
|
||||
private UUID id;
|
||||
private File contentFile;
|
||||
|
||||
private PictureBuilder() {}
|
||||
|
||||
public static PictureBuilder aPicture() {
|
||||
return new PictureBuilder();
|
||||
}
|
||||
|
||||
public PictureBuilder basedOn(Picture picture) {
|
||||
id = picture.id();
|
||||
contentFile = picture.contentFile();
|
||||
return this;
|
||||
}
|
||||
|
||||
public PictureBuilder withId(UUID id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public PictureBuilder withContentFile(File contentFile) {
|
||||
this.contentFile = contentFile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Picture build() {
|
||||
return new Picture(id, contentFile);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.codiki.domain.picture.port;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.picture.model.Picture;
|
||||
|
||||
public interface PicturePort {
|
||||
boolean existsById(UUID pictureId);
|
||||
|
||||
Optional<Picture> findById(UUID pictureId);
|
||||
|
||||
void save(Picture picture);
|
||||
|
||||
void deleteById(UUID pictureId);
|
||||
}
|
||||
Reference in New Issue
Block a user