25 lines
1.2 KiB
Java
25 lines
1.2 KiB
Java
package fr.kektus.summer2024.converters;
|
|
|
|
import fr.kektus.summer2024.data.model.Post;
|
|
import fr.kektus.summer2024.domain.service.AssetService;
|
|
import fr.kektus.summer2024.presentation.rest.PostApi;
|
|
import jakarta.enterprise.context.ApplicationScoped;
|
|
import jakarta.inject.Inject;
|
|
|
|
@ApplicationScoped
|
|
public class PublicPostConverter {
|
|
@Inject AssetService assetService;
|
|
|
|
public PostApi.PostDto toPostDto(Post post) {
|
|
return new PostApi.PostDto().withId(post.id)
|
|
.withDate(post.date)
|
|
.withDescription(post.description)
|
|
.withAssets(post.assets.stream()
|
|
.map(assetService::getPresignedUrlForAsset)
|
|
.toList())
|
|
.withLocation(new PostApi.PostDto.Location().withCity(post.city)
|
|
.withCountry(post.country)
|
|
.withLat(post.latitude)
|
|
.withLon(post.longitude));
|
|
}
|
|
}
|