diff --git a/pom.xml b/pom.xml
index c37f354..22e3a52 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,12 +115,4 @@
-
-
- reposilite
- Reposilite Repository
- http://192.168.0.9:15534/snapshots
-
-
-
diff --git a/src/main/java/spotifymixerapi/api/SessionDataMainPageResponse.java b/src/main/java/spotifymixerapi/api/SessionDataMainPageResponse.java
index 5e1a5d5..b30af76 100644
--- a/src/main/java/spotifymixerapi/api/SessionDataMainPageResponse.java
+++ b/src/main/java/spotifymixerapi/api/SessionDataMainPageResponse.java
@@ -1,5 +1,8 @@
package spotifymixerapi.api;
+import spotifymixerapi.api.spotify.Spotify_AvailableDevicesResponse;
+import spotifymixerapi.api.spotify.Spotify_DeviceObject;
+
import java.util.ArrayList;
import java.util.List;
@@ -7,6 +10,8 @@ public class SessionDataMainPageResponse {
String sessionName;
List users = new ArrayList<>();
+ List devices;
+ Spotify_DeviceObject currentlySelectedDevice;
public String getSessionName() {
return sessionName;
@@ -23,4 +28,20 @@ public class SessionDataMainPageResponse {
public void setUsers(List users) {
this.users = users;
}
+
+ public List getDevices() {
+ return devices;
+ }
+
+ public void setDevices(List devices) {
+ this.devices = devices;
+ }
+
+ public Spotify_DeviceObject getCurrentlySelectedDevice() {
+ return currentlySelectedDevice;
+ }
+
+ public void setCurrentlySelectedDevice(Spotify_DeviceObject currentlySelectedDevice) {
+ this.currentlySelectedDevice = currentlySelectedDevice;
+ }
}
diff --git a/src/main/java/spotifymixerapi/api/redis/Redis_SessionData.java b/src/main/java/spotifymixerapi/api/redis/Redis_SessionData.java
index 7d96672..f5bd70b 100644
--- a/src/main/java/spotifymixerapi/api/redis/Redis_SessionData.java
+++ b/src/main/java/spotifymixerapi/api/redis/Redis_SessionData.java
@@ -1,8 +1,11 @@
package spotifymixerapi.api.redis;
+import spotifymixerapi.api.spotify.Spotify_AvailableDevicesResponse;
+import spotifymixerapi.api.spotify.Spotify_DeviceObject;
+import spotifymixerapi.api.spotify.Spotify_PlaybackState;
+
import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
public class Redis_SessionData implements Serializable {
@@ -10,14 +13,20 @@ public class Redis_SessionData implements Serializable {
String sessionName;
String owner;
List users = new ArrayList<>();
+ LinkedHashMap> devices = new LinkedHashMap<>();
+ Spotify_DeviceObject selectedDevice;
+ Map currentlyPlayedTrack;
+ LinkedHashMap> sessionQueueMap = new LinkedHashMap<>();
+ Spotify_PlaybackState playbackState;
+
+ public Redis_SessionData() {
+ }
- public Redis_SessionData(String sessionName, String owner, List users) {
+ public Redis_SessionData(String sessionName, String owner, List users,LinkedHashMap> devices) {
this.sessionName = sessionName;
this.owner = owner;
this.users = users;
- }
-
- public Redis_SessionData() {
+ this.devices = devices;
}
public String getSessionName() {
@@ -44,12 +53,65 @@ public class Redis_SessionData implements Serializable {
this.users = users;
}
+ public LinkedHashMap> getDevices() {
+ return devices;
+ }
+
+ public void setDevices(LinkedHashMap> devices) {
+ this.devices = devices;
+ }
+
+ public void addDevice(String userId, List devices) {
+ this.devices.put(userId,devices);
+ }
+
+ public Map getCurrentlyPlayedTrack() {
+ return currentlyPlayedTrack;
+ }
+
+ public void setCurrentlyPlayedTrack(String user, String track) {
+ this.currentlyPlayedTrack = Collections.singletonMap(user,track);
+ }
+
+ public LinkedHashMap> getSessionQueueMap() {
+ return sessionQueueMap;
+ }
+
+ public void setSessionQueueMap(LinkedHashMap> sessionQueueMap) {
+ this.sessionQueueMap = sessionQueueMap;
+ }
+
+ public Spotify_DeviceObject getSelectedDevice() {
+ return selectedDevice;
+ }
+
+ public void setSelectedDevice(Spotify_DeviceObject selectedDevice) {
+ this.selectedDevice = selectedDevice;
+ }
+
+ public void setCurrentlyPlayedTrack(Map currentlyPlayedTrack) {
+ this.currentlyPlayedTrack = currentlyPlayedTrack;
+ }
+
+ public Spotify_PlaybackState getPlaybackState() {
+ return playbackState;
+ }
+
+ public void setPlaybackState(Spotify_PlaybackState playbackState) {
+ this.playbackState = playbackState;
+ }
+
@Override
public String toString() {
- return "SessionData{" +
+ return "Redis_SessionData{" +
"sessionName='" + sessionName + '\'' +
", owner='" + owner + '\'' +
", users=" + users +
+ ", devices=" + devices +
+ ", selectedDevice=" + selectedDevice +
+ ", currentlyPlayedTrack=" + currentlyPlayedTrack +
+ ", sessionQueueMap=" + sessionQueueMap +
+ ", playbackState=" + playbackState +
'}';
}
}
diff --git a/src/main/java/spotifymixerapi/api/redis/Redis_UserData.java b/src/main/java/spotifymixerapi/api/redis/Redis_UserData.java
index b9acc63..7821a63 100644
--- a/src/main/java/spotifymixerapi/api/redis/Redis_UserData.java
+++ b/src/main/java/spotifymixerapi/api/redis/Redis_UserData.java
@@ -1,5 +1,7 @@
package spotifymixerapi.api.redis;
+import spotifymixerapi.api.AccessTokenHolder;
+import spotifymixerapi.api.spotify.Spotify_DeviceObject;
import spotifymixerapi.api.spotify.Spotify_Playlist;
import spotifymixerapi.api.spotify.Spotify_TrackObject;
import spotifymixerapi.api.spotify.Spotify_UserDtoResponse;
@@ -12,23 +14,28 @@ import java.util.stream.Collectors;
public class Redis_UserData implements Serializable {
Spotify_UserDtoResponse spotifyUserDtoResponse;
- List likedTracks = new ArrayList<>(); //Spotify_TrackObject
- List playlistList = new ArrayList<>(); //Spotify_Playlist
+ List likedTracks = new ArrayList<>();
+ List playlistList = new ArrayList<>();
+ Boolean hasPremium = false;
+ List devices;
List queue = new ArrayList<>();
+ String accessToken;
public Redis_UserData() {
}
- public Redis_UserData(Spotify_UserDtoResponse spotifyUserDtoResponse, List likedTracks, List playlistList) {
+ public Redis_UserData(Spotify_UserDtoResponse spotifyUserDtoResponse, List likedTracks, List playlistList, String accessToken) {
this.spotifyUserDtoResponse = spotifyUserDtoResponse;
this.likedTracks = likedTracks;
this.playlistList = playlistList;
+ this.accessToken = accessToken;
}
- public Redis_UserData(List likedTracks, List playlistLists){
+ public Redis_UserData(List likedTracks, List playlistLists,String accessToken){
likedTracks.stream().forEach(l -> this.likedTracks.add(l.getId()));
playlistLists.stream().forEach(l -> this.playlistList.add(l.getId()));
+ this.accessToken = accessToken;
}
public Spotify_UserDtoResponse getSpotifyUserDtoResponse() {
@@ -55,6 +62,22 @@ public class Redis_UserData implements Serializable {
this.playlistList = playlistList;
}
+ public Boolean getHasPremium() {
+ return hasPremium;
+ }
+
+ public void setHasPremium(Boolean hasPremium) {
+ this.hasPremium = hasPremium;
+ }
+
+ public List getDevices() {
+ return devices;
+ }
+
+ public void setDevices(List devices) {
+ this.devices = devices;
+ }
+
public List getQueue() {
return queue;
}
@@ -63,12 +86,18 @@ public class Redis_UserData implements Serializable {
this.queue = queue;
}
+ public String getAccessToken() {
+ return accessToken;
+ }
+
@Override
public String toString() {
return "Redis_UserData{" +
"spotifyUserDtoResponse=" + spotifyUserDtoResponse +
", likedTracks=" + likedTracks +
", playlistList=" + playlistList +
+ ", hasPremium=" + hasPremium +
+ ", devices=" + devices +
", queue=" + queue +
'}';
}
diff --git a/src/main/java/spotifymixerapi/api/spotify/Spotify_AvailableDevicesResponse.java b/src/main/java/spotifymixerapi/api/spotify/Spotify_AvailableDevicesResponse.java
new file mode 100644
index 0000000..99aeffe
--- /dev/null
+++ b/src/main/java/spotifymixerapi/api/spotify/Spotify_AvailableDevicesResponse.java
@@ -0,0 +1,23 @@
+package spotifymixerapi.api.spotify;
+
+import java.util.List;
+
+public class Spotify_AvailableDevicesResponse {
+
+ List devices;
+
+ public List getDevices() {
+ return devices;
+ }
+
+ public void setDevices(List devices) {
+ this.devices = devices;
+ }
+
+ @Override
+ public String toString() {
+ return "Spotify_AvailableDevicesResponse{" +
+ "devices=" + devices +
+ '}';
+ }
+}
diff --git a/src/main/java/spotifymixerapi/api/spotify/Spotify_DeviceObject.java b/src/main/java/spotifymixerapi/api/spotify/Spotify_DeviceObject.java
new file mode 100644
index 0000000..53bef53
--- /dev/null
+++ b/src/main/java/spotifymixerapi/api/spotify/Spotify_DeviceObject.java
@@ -0,0 +1,81 @@
+package spotifymixerapi.api.spotify;
+
+public class Spotify_DeviceObject {
+
+ String id;
+ boolean is_active;
+ boolean is_restricted;
+ String name;
+ String type;
+ int volume_percent;
+ boolean supports_volume;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public boolean isIs_active() {
+ return is_active;
+ }
+
+ public void setIs_active(boolean is_active) {
+ this.is_active = is_active;
+ }
+
+ public boolean isIs_restricted() {
+ return is_restricted;
+ }
+
+ public void setIs_restricted(boolean is_restricted) {
+ this.is_restricted = is_restricted;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public int getVolume_percent() {
+ return volume_percent;
+ }
+
+ public void setVolume_percent(int volume_percent) {
+ this.volume_percent = volume_percent;
+ }
+
+ public boolean isSupports_volume() {
+ return supports_volume;
+ }
+
+ public void setSupports_volume(boolean supports_volume) {
+ this.supports_volume = supports_volume;
+ }
+
+ @Override
+ public String toString() {
+ return "Spotify_DeviceObject{" +
+ "id='" + id + '\'' +
+ ", is_active=" + is_active +
+ ", is_restricted=" + is_restricted +
+ ", name='" + name + '\'' +
+ ", type='" + type + '\'' +
+ ", volume_percent=" + volume_percent +
+ ", supports_volume=" + supports_volume +
+ '}';
+ }
+}
diff --git a/src/main/java/spotifymixerapi/api/spotify/Spotify_PlaybackState.java b/src/main/java/spotifymixerapi/api/spotify/Spotify_PlaybackState.java
new file mode 100644
index 0000000..b1558e6
--- /dev/null
+++ b/src/main/java/spotifymixerapi/api/spotify/Spotify_PlaybackState.java
@@ -0,0 +1,34 @@
+package spotifymixerapi.api.spotify;
+
+import java.io.Serializable;
+import java.lang.foreign.SegmentAllocator;
+
+public class Spotify_PlaybackState implements Serializable {
+
+ int progress_ms;
+ boolean is_playing;
+
+ public int getProgress_ms() {
+ return progress_ms;
+ }
+
+ public void setProgress_ms(int progress_ms) {
+ this.progress_ms = progress_ms;
+ }
+
+ public boolean isIs_playing() {
+ return is_playing;
+ }
+
+ public void setIs_playing(boolean is_playing) {
+ this.is_playing = is_playing;
+ }
+
+ @Override
+ public String toString() {
+ return "Spotify_PlaybackState{" +
+ "progress_ms=" + progress_ms +
+ ", is_playing=" + is_playing +
+ '}';
+ }
+}
diff --git a/src/main/java/spotifymixerapi/api/spotify/Spotify_StaryPlaybackRequest.java b/src/main/java/spotifymixerapi/api/spotify/Spotify_StaryPlaybackRequest.java
new file mode 100644
index 0000000..cb4f800
--- /dev/null
+++ b/src/main/java/spotifymixerapi/api/spotify/Spotify_StaryPlaybackRequest.java
@@ -0,0 +1,35 @@
+package spotifymixerapi.api.spotify;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Spotify_StaryPlaybackRequest implements Serializable {
+
+ int position_ms = 0;
+ List uris = new ArrayList<>();
+
+ public int getPosition_ms() {
+ return position_ms;
+ }
+
+ public void setPosition_ms(int position_ms) {
+ this.position_ms = position_ms;
+ }
+
+ public List getUris() {
+ return uris;
+ }
+
+ public void setUris(List uris) {
+ this.uris = uris;
+ }
+
+ @Override
+ public String toString() {
+ return "Spotify_StaryPlaybackRequest{" +
+ "position_ms=" + position_ms +
+ ", uris=" + uris +
+ '}';
+ }
+}
diff --git a/src/main/java/spotifymixerapi/api/spotify/Spotify_TransferPlaybackRequest.java b/src/main/java/spotifymixerapi/api/spotify/Spotify_TransferPlaybackRequest.java
new file mode 100644
index 0000000..f4b03f3
--- /dev/null
+++ b/src/main/java/spotifymixerapi/api/spotify/Spotify_TransferPlaybackRequest.java
@@ -0,0 +1,24 @@
+package spotifymixerapi.api.spotify;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Spotify_TransferPlaybackRequest implements Serializable {
+ List device_ids = new ArrayList<>();
+
+ public List getDevice_ids() {
+ return device_ids;
+ }
+
+ public void setDevice_ids(List device_ids) {
+ this.device_ids = device_ids;
+ }
+
+ @Override
+ public String toString() {
+ return "Spotify_TransferPlaybackRequest{" +
+ "device_ids=" + device_ids +
+ '}';
+ }
+}
diff --git a/src/main/java/spotifymixerapi/api/spotify/Spotify_UserDtoResponse.java b/src/main/java/spotifymixerapi/api/spotify/Spotify_UserDtoResponse.java
index 75402c0..d17d160 100644
--- a/src/main/java/spotifymixerapi/api/spotify/Spotify_UserDtoResponse.java
+++ b/src/main/java/spotifymixerapi/api/spotify/Spotify_UserDtoResponse.java
@@ -9,18 +9,11 @@ public class Spotify_UserDtoResponse implements Serializable {
Spotify_ImageObjectDto[] images;
String uri;
String id;
+ String product;
public Spotify_UserDtoResponse() {
}
- public Spotify_ImageObjectDto[] getImages() {
- return images;
- }
-
- public void setImages(Spotify_ImageObjectDto[] images) {
- this.images = images;
- }
-
public String getDisplay_name() {
return display_name;
}
@@ -29,6 +22,14 @@ public class Spotify_UserDtoResponse implements Serializable {
this.display_name = display_name;
}
+ public Spotify_ImageObjectDto[] getImages() {
+ return images;
+ }
+
+ public void setImages(Spotify_ImageObjectDto[] images) {
+ this.images = images;
+ }
+
public String getUri() {
return uri;
}
@@ -45,6 +46,13 @@ public class Spotify_UserDtoResponse implements Serializable {
this.id = id;
}
+ public String getProduct() {
+ return product;
+ }
+
+ public void setProduct(String product) {
+ this.product = product;
+ }
@Override
public String toString() {
@@ -53,6 +61,7 @@ public class Spotify_UserDtoResponse implements Serializable {
", images=" + Arrays.toString(images) +
", uri='" + uri + '\'' +
", id='" + id + '\'' +
+ ", product='" + product + '\'' +
'}';
}
}