package io.delphiplatform.api.v3.search.processing;

import org.springframework.stereotype.Service;

import java.util.stream.Stream;

import fr.xebia.extras.selma.Selma;
import io.delphiplatform.api.v3.model.ads.LinkfireLink;
import io.delphiplatform.api.v3.model.mapper.LinkfireLinkDocumentMapper;
import io.delphiplatform.api.v3.search.entity.LinkfireLinkDocumentEntity;


@Service
public class LinkfireLinkDocumentConverter {

    private final LinkfireLinkDocumentMapper linkfireLinkDocumentMapper;

    public LinkfireLinkDocumentConverter() {
        this.linkfireLinkDocumentMapper = Selma.builder(LinkfireLinkDocumentMapper.class).build();
    }

    public Stream<LinkfireLink> convert(Stream<LinkfireLinkDocumentEntity> linkfireLinkDocuments) {
        return linkfireLinkDocuments.map(o -> linkfireLinkDocumentMapper().toLinkfireLink(o));
    }

    private LinkfireLinkDocumentMapper linkfireLinkDocumentMapper() {
        return linkfireLinkDocumentMapper;
    }

}
