81 lines
1.8 KiB
Java
81 lines
1.8 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 VibePlaylistResponse {
|
|
|
|
private boolean success;
|
|
private String message;
|
|
|
|
@JsonProperty("session_id")
|
|
private String sessionId;
|
|
|
|
private List<Playlist> playlists;
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public static class Playlist {
|
|
@JsonProperty("playlist_id")
|
|
private String playlistId;
|
|
|
|
@JsonProperty("playlist_name")
|
|
private String playlistName;
|
|
|
|
private String description;
|
|
|
|
@JsonProperty("track_count")
|
|
private Integer trackCount;
|
|
|
|
@JsonProperty("image_url")
|
|
private String imageUrl;
|
|
|
|
@JsonProperty("created_at")
|
|
private String createdAt;
|
|
|
|
@JsonProperty("updated_at")
|
|
private String updatedAt;
|
|
|
|
private List<Track> tracks;
|
|
}
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public static class Track {
|
|
@JsonProperty("track_id")
|
|
private String trackId;
|
|
|
|
@JsonProperty("track_name")
|
|
private String trackName;
|
|
|
|
@JsonProperty("artist_name")
|
|
private String artistName;
|
|
|
|
@JsonProperty("album_name")
|
|
private String albumName;
|
|
|
|
@JsonProperty("album_image_url")
|
|
private String albumImageUrl;
|
|
|
|
@JsonProperty("duration_ms")
|
|
private Long durationMs;
|
|
}
|
|
}
|