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

import com.sonymusic.delphi.etl.apps.proto.Apple.AppleCountryStats;
import com.sonymusic.delphi.etl.apps.proto.Apple.AppleStreamStats;

import java.util.Collections;
import java.util.Map;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class AppleTrackStream extends TrackStream<AppleCountryStats, AppleStreamStats> {

    @Override
    public Map<String, AppleStreamStats> getCountryStats() {
        return getStreams() == null ? Collections.emptyMap() : getStreams().getCountriesMap();
    }

    @Override
    public Map<String, AppleStreamStats> getCountryDemographics() {
        return getDemographics() == null ? Collections.emptyMap() : getDemographics().getCountriesMap();
    }

    @Override
    public Long getStreams(String countryCode) {
        AppleStreamStats stats = getCountryStats().get(countryCode);
        return stats == null ? null : stats.getStreams();
    }
}
