package io.delphiplatform.api.v3.model.charts;

import com.fasterxml.jackson.annotation.JsonProperty;

import io.delphiplatform.api.v3.rdb.entity.apple.music.AppleMusicArtistLocalizedEntity;
import io.delphiplatform.api.v3.rdb.entity.spotify.SpotifyArtistEntity;
import lombok.Data;

@Data
public class ChartTrackArtistMetadata {

    @JsonProperty("artist_id")
    private String artistId;

    @JsonProperty("name")
    private String name;

    public static ChartTrackArtistMetadata of(SpotifyArtistEntity entity) {
        ChartTrackArtistMetadata metadata = new ChartTrackArtistMetadata();
        metadata.setArtistId(entity.getSpotifyArtistId());
        metadata.setName(entity.getName());
        return metadata;
    }

    public static ChartTrackArtistMetadata of(AppleMusicArtistLocalizedEntity entity) {
        ChartTrackArtistMetadata metadata = new ChartTrackArtistMetadata();
        metadata.setArtistId(entity.getId().getAppleMusicArtistId());
        metadata.setName(entity.getName());
        return metadata;
    }
}

