Playlist updates

#6 Users can now add songs to defined playlist, display their playlists
and display songs within their playlist
This commit is contained in:
Isaac Parenteau
2019-10-09 22:52:38 -05:00
parent af037f7eb7
commit daf447e839
3 changed files with 138 additions and 5 deletions

View File

@@ -27,6 +27,8 @@
*/
package net.locusworks.discord.eighttrack.database.repos;
import java.util.List;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
@@ -37,12 +39,18 @@ public interface GuildPlaylistRepository extends CrudRepository<GuildPlaylist, L
GuildPlaylist findByGuildAndUserIdAndPlaylist(DiscordGuild guild, Long userId, String playlist);
@Query("SELECT gpl FROM GuildPlaylist gpl WHERE gpl.guild.guildId = ?1 AND gpl.userId = ?2 AND gpl.playlist = ?3 ")
@Query("SELECT gpl FROM GuildPlaylist gpl WHERE gpl.guild.guildId = ?1 AND gpl.userId = ?2 AND gpl.playlist = ?3")
GuildPlaylist findByGuildAndUserIdAndPlaylist(Long guild, Long userId, String playlist);
GuildPlaylist findByGuildAndUserId(DiscordGuild guild, Long userId);
List<GuildPlaylist> findByGuildAndUserId(DiscordGuild guild, Long userId);
@Query("SELECT gpl FROM GuildPlaylist gpl WHERE gpl.guild.guildId = ?1 AND gpl.userId = ?2 AND gpl.playlist = ?3 ")
GuildPlaylist findByGuildAndUserId(Long guild, Long userId);
@Query("SELECT gpl FROM GuildPlaylist gpl WHERE gpl.guild.guildId = ?1 AND gpl.userId = ?2")
List<GuildPlaylist> findByGuildAndUserId(Long guild, Long userId);
@Query("SELECT DISTINCT gpl FROM GuildPlaylist gpl LEFT JOIN FETCH gpl.guildPlaylistSongList WHERE gpl.guild.guildId = ?1 AND gpl.userId = ?2")
List<GuildPlaylist> findByGuildAndUserIdFetchSongs(Long guild, Long userId);
@Query("SELECT DISTINCT gpl FROM GuildPlaylist gpl LEFT JOIN FETCH gpl.guildPlaylistSongList WHERE gpl.guild.guildId = ?1 AND gpl.userId = ?2 AND gpl.playlist = ?3")
GuildPlaylist findGuildUserPlaylistFetchSongs(Long guild, Long userId, String playlist);
}

View File

@@ -29,6 +29,7 @@ package net.locusworks.discord.eighttrack.database.repos;
import java.util.List;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import net.locusworks.discord.eighttrack.database.entities.GuildPlaylist;
@@ -38,5 +39,8 @@ public interface GuildPlaylistSongRepository extends CrudRepository<GuildPlaylis
List<GuildPlaylistSong> findByGuildPlaylist(GuildPlaylist gpl);
@Query("SELECT gpls FROM GuildPlaylistSong gpls WHERE gpls.guildPlaylist = ?1 AND gpls.guildSong.uuid IN ?2")
List<GuildPlaylistSong> findByGuildPlaylistAndSongIds(GuildPlaylist gpl, List<String> songIds);
}