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

import com.fasterxml.jackson.annotation.JsonProperty;

import io.delphiplatform.api.v3.rdb.entity.amazon.AmazonTrackEntity;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;

@Builder
@Getter
@EqualsAndHashCode
public class AmazonTrackShortInfo {
    @JsonProperty("amazon_track_id")
    private String amazonTrackId;

    @JsonProperty("name")
    private String name;

    @JsonProperty("isrc")
    private String isrc;

    @JsonProperty("genre")
    private String genre;

    @JsonProperty("original_id")
    private String originalId;

    @JsonProperty("country_code")
    private String countryCode;

    public static AmazonTrackShortInfo from(AmazonTrackEntity entity) {
        if (entity == null) {
            return null;
        }

        return AmazonTrackShortInfo.builder()
            .amazonTrackId(entity.getAmazonTrackId())
            .name(entity.getName())
            .isrc(entity.getIsrc())
            .genre(entity.getGenre())
            .originalId(entity.getOriginalId())
            .countryCode(entity.getCountryCode())
            .build();
    }
}
