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 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 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; } }