88 lines
1.9 KiB
Java
88 lines
1.9 KiB
Java
package com.domain.response;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
import java.util.List;
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public class VibeTrackResponse {
|
|
|
|
private boolean success;
|
|
private String message;
|
|
|
|
@JsonProperty("total_count")
|
|
private Integer totalCount;
|
|
|
|
private List<Track> tracks;
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public static class Track {
|
|
@JsonProperty("track_id")
|
|
private Long trackId;
|
|
|
|
@JsonProperty("track_title")
|
|
private String trackTitle;
|
|
|
|
@JsonProperty("play_time")
|
|
private String playTime;
|
|
|
|
private List<Artist> artists;
|
|
|
|
private Album album;
|
|
|
|
@JsonProperty("has_lyric")
|
|
private Boolean hasLyric;
|
|
|
|
@JsonProperty("is_streaming")
|
|
private Boolean isStreaming;
|
|
}
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public static class Artist {
|
|
@JsonProperty("artist_id")
|
|
private Long artistId;
|
|
|
|
@JsonProperty("artist_name")
|
|
private String artistName;
|
|
|
|
@JsonProperty("image_url")
|
|
private String imageUrl;
|
|
}
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public static class Album {
|
|
@JsonProperty("album_id")
|
|
private Long albumId;
|
|
|
|
@JsonProperty("album_title")
|
|
private String albumTitle;
|
|
|
|
@JsonProperty("release_date")
|
|
private String releaseDate;
|
|
|
|
@JsonProperty("image_url")
|
|
private String imageUrl;
|
|
}
|
|
}
|