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

import org.springframework.stereotype.Service;

import java.util.stream.Stream;

import fr.xebia.extras.selma.Selma;
import io.delphiplatform.api.v3.bigtable.entity.Chartmetric;
import io.delphiplatform.api.v3.model.ArtistFollower;
import io.delphiplatform.api.v3.model.mapper.ArtistFollowerMapper;
import lombok.extern.slf4j.Slf4j;

@Slf4j
@Service
public class ArtistFollowerConverter {

    private final ArtistFollowerMapper artistFollowerMapper;

    public ArtistFollowerConverter() {
        artistFollowerMapper = Selma.builder(ArtistFollowerMapper.class).build();
    }

    public Stream<ArtistFollower> convert(Stream<Chartmetric> chartmetrics) {
        return chartmetrics.map(c -> artistFollowerMapper().toArtistFollower(c));
    }

    private ArtistFollowerMapper artistFollowerMapper() {
        return artistFollowerMapper;
    }

}
