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

import java.time.LocalDate;
import java.util.List;

import io.delphiplatform.api.v3.bigtable.processing.GroupByFieldEnum;
import io.delphiplatform.api.v3.model.ArtistFollower;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

@EqualsAndHashCode
@Getter
@Setter
public class ArtistFollowerGroupByKey {

    private LocalDate date;

    public ArtistFollowerGroupByKey(ArtistFollower artistFollower, List<GroupByFieldEnum> groupByFields) {
        groupByFields.forEach(groupByField -> {
            if (groupByField == GroupByFieldEnum.DATE) {
                this.date = artistFollower.getDate();
            }
        });
    }

    public void populateArtistFollowers(ArtistFollower artistFollower) {
        if (this.date != null) {
            artistFollower.date(this.date);
        }
    }


}
