Implementation of publication update.

This commit is contained in:
Florian THIERRY
2024-03-12 10:35:27 +01:00
parent 2c6a917cc2
commit 571b005770
21 changed files with 288 additions and 58 deletions

View File

@@ -1,5 +1,8 @@
package org.codiki.infrastructure.publication;
import java.util.Optional;
import java.util.UUID;
import org.codiki.domain.publication.model.Publication;
import org.codiki.domain.publication.port.PublicationPort;
import org.codiki.infrastructure.publication.model.PublicationEntity;
@@ -19,4 +22,10 @@ public class PublicationJpaAdapter implements PublicationPort {
PublicationEntity newPublicationEntity = new PublicationEntity(publication);
repository.save(newPublicationEntity);
}
@Override
public Optional<Publication> findById(UUID publicationId) {
return repository.findById(publicationId)
.map(PublicationEntity::toDomain);
}
}

View File

@@ -24,13 +24,17 @@ public class AuthorEntity {
private UUID id;
@Column(nullable = false)
private String name;
private String image;
// private String image;
public AuthorEntity(Author author) {
this(
author.id(),
author.name(),
author.image()
author.name()
// author.image()
);
}
public Author toDomain() {
return new Author(id, name, "image");
}
}

View File

@@ -44,7 +44,7 @@ public class PublicationEntity {
private AuthorEntity author;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "category_id")
private CategoryEntity categoryId;
private CategoryEntity category;
public PublicationEntity(Publication publication) {
this(
@@ -59,4 +59,18 @@ public class PublicationEntity {
new CategoryEntity(publication.category())
);
}
public Publication toDomain() {
return new Publication(
id,
key,
title,
text,
description,
image,
creationDate,
author.toDomain(),
category.toDomain()
);
}
}