Set up picture upload mechanism.

This commit is contained in:
Florian THIERRY
2024-03-13 14:26:28 +01:00
parent ed766d4c8c
commit 0b00f9b0aa
16 changed files with 305 additions and 2 deletions

View File

@@ -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));
}
}

View File

@@ -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.");
}
}

View 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
) {}

View File

@@ -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);
}
}

View File

@@ -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);
}