diff --git a/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/dto/ImageCreateDto.java b/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/dto/ImageCreateDto.java index 42635f3..410c65a 100644 --- a/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/dto/ImageCreateDto.java +++ b/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/dto/ImageCreateDto.java @@ -2,10 +2,13 @@ package com.bgasol.model.file.image.dto; import com.bgasol.common.core.base.dto.BaseCreateDto; import com.bgasol.model.file.image.entity.ImageEntity; +import com.bgasol.model.file.image.mapstruct.ImageMapstruct; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; -import lombok.*; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; import lombok.experimental.SuperBuilder; @Setter @@ -25,9 +28,7 @@ public class ImageCreateDto extends BaseCreateDto { @JsonIgnore @Schema(hidden = true) public ImageEntity toEntity() { - ImageEntity imageEntity = new ImageEntity(); - imageEntity.setName(name); - imageEntity.setFileId(fileId); + ImageEntity imageEntity = ImageMapstruct.IMAGE_MAPSTRUCT.toEntity(this); return this.toEntity(imageEntity); } } diff --git a/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/dto/ImageUpdateDto.java b/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/dto/ImageUpdateDto.java index 9c9c4a3..2dc7472 100644 --- a/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/dto/ImageUpdateDto.java +++ b/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/dto/ImageUpdateDto.java @@ -2,10 +2,13 @@ package com.bgasol.model.file.image.dto; import com.bgasol.common.core.base.dto.BaseUpdateDto; import com.bgasol.model.file.image.entity.ImageEntity; +import com.bgasol.model.file.image.mapstruct.ImageMapstruct; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; -import lombok.*; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; import lombok.experimental.SuperBuilder; @Setter @@ -25,9 +28,7 @@ public class ImageUpdateDto extends BaseUpdateDto { @JsonIgnore @Schema(hidden = true) public ImageEntity toEntity() { - ImageEntity imageEntity = new ImageEntity(); - imageEntity.setName(name); - imageEntity.setFileId(fileId); + ImageEntity imageEntity = ImageMapstruct.IMAGE_MAPSTRUCT.toEntity(this); return this.toEntity(imageEntity); } } diff --git a/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/mapstruct/ImageMapstruct.java b/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/mapstruct/ImageMapstruct.java new file mode 100644 index 0000000..478d6ba --- /dev/null +++ b/cloud/model/model-file/src/main/java/com/bgasol/model/file/image/mapstruct/ImageMapstruct.java @@ -0,0 +1,17 @@ +package com.bgasol.model.file.image.mapstruct; + +import com.bgasol.model.file.image.dto.ImageCreateDto; +import com.bgasol.model.file.image.dto.ImageUpdateDto; +import com.bgasol.model.file.image.entity.ImageEntity; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +@Mapper() +public interface ImageMapstruct { + + ImageMapstruct IMAGE_MAPSTRUCT = Mappers.getMapper(ImageMapstruct.class); + + ImageEntity toEntity(ImageCreateDto dto); + + ImageEntity toEntity(ImageUpdateDto dto); +} diff --git a/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/dto/VideoCreateDto.java b/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/dto/VideoCreateDto.java index 27d0062..3000be9 100644 --- a/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/dto/VideoCreateDto.java +++ b/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/dto/VideoCreateDto.java @@ -9,6 +9,8 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.experimental.SuperBuilder; +import static com.bgasol.model.file.video.mapstruct.VideoMapstruct.VIDEO_MAPSTRUCT; + @Setter @Getter @SuperBuilder @@ -46,16 +48,7 @@ public class VideoCreateDto extends BaseCreateDto { @JsonIgnore @Schema(hidden = true) public VideoEntity toEntity() { - VideoEntity videoEntity = VideoEntity.builder() - .name(name) - .width(width) - .height(height) - .duration(duration) - .format(format) - .bitrate(bitrate) - .fps(fps) - .codec(codec) - .fileId(fileId).build(); + VideoEntity videoEntity = VIDEO_MAPSTRUCT.toEntity(this); return this.toEntity(videoEntity); } } diff --git a/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/dto/VideoUpdateDto.java b/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/dto/VideoUpdateDto.java index 6657a5f..1a048fc 100644 --- a/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/dto/VideoUpdateDto.java +++ b/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/dto/VideoUpdateDto.java @@ -9,6 +9,8 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.experimental.SuperBuilder; +import static com.bgasol.model.file.video.mapstruct.VideoMapstruct.VIDEO_MAPSTRUCT; + @Setter @Getter @SuperBuilder @@ -46,16 +48,7 @@ public class VideoUpdateDto extends BaseUpdateDto { @JsonIgnore @Schema(hidden = true) public VideoEntity toEntity() { - VideoEntity videoEntity = VideoEntity.builder() - .name(name) - .width(width) - .height(height) - .duration(duration) - .format(format) - .bitrate(bitrate) - .fps(fps) - .codec(codec) - .fileId(fileId).build(); + VideoEntity videoEntity = VIDEO_MAPSTRUCT.toEntity(this); return this.toEntity(videoEntity); } } diff --git a/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/mapstruct/VideoMapstruct.java b/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/mapstruct/VideoMapstruct.java new file mode 100644 index 0000000..9ca2cc5 --- /dev/null +++ b/cloud/model/model-file/src/main/java/com/bgasol/model/file/video/mapstruct/VideoMapstruct.java @@ -0,0 +1,17 @@ +package com.bgasol.model.file.video.mapstruct; + +import com.bgasol.model.file.video.dto.VideoCreateDto; +import com.bgasol.model.file.video.dto.VideoUpdateDto; +import com.bgasol.model.file.video.entity.VideoEntity; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +@Mapper() +public interface VideoMapstruct { + + VideoMapstruct VIDEO_MAPSTRUCT = Mappers.getMapper(VideoMapstruct.class); + + VideoEntity toEntity(VideoCreateDto dto); + + VideoEntity toEntity(VideoUpdateDto dto); +}