From 918ed2e6672cdaf7f03909008ab55e66b2d1f277 Mon Sep 17 00:00:00 2001 From: Simon Diesenreiter Date: Sun, 20 Jul 2025 17:32:18 +0200 Subject: [PATCH] fix: improved Spotify auth check flow, refs NOISSUE --- song_of_the_day/Program.cs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/song_of_the_day/Program.cs b/song_of_the_day/Program.cs index 1550940..f6af700 100644 --- a/song_of_the_day/Program.cs +++ b/song_of_the_day/Program.cs @@ -87,21 +87,23 @@ likePlaylistCheckTimer.OnOccurence += async (s, ea) => if (!await spotifyApiClient.IsUserAuthenticatedAsync(user)) { logger.LogWarning($"User {user.LdapUserName} is not authorized with Spotify - skipping playlist sync"); - continue; } - var foundPlaylist = dci.SmartPlaylistDefinitions?.Where(p => p.CreatedBy == user).ToList().Where(p => p.IsThisUsersLikedSongsPlaylist).SingleOrDefault(); - if (foundPlaylist == null) + else { - logger.LogWarning($"Creating liked songs playlist for user {user.LdapUserName}"); - var title = $"{user.PreferredName}'s liked songs"; - var description = $"A collection of the songs liked by {user.PreferredName} on their 'Song of the day' server instance."; - // playlist does not exist yet, creating it - var newPlaylist = await (await spotifyApiClient.WithUserAuthorizationAsync(user)).CreateSpotifyPlaylist(title, description, false, true, user); - await playlistSynchronizer.SynchronizePlaylistAsync(newPlaylist); - needsSaving = true; + var foundPlaylist = dci.SmartPlaylistDefinitions?.Where(p => p.CreatedBy == user).ToList().Where(p => p.IsThisUsersLikedSongsPlaylist).SingleOrDefault(); + if (foundPlaylist == null) + { + logger.LogWarning($"Creating liked songs playlist for user {user.LdapUserName}"); + var title = $"{user.PreferredName}'s liked songs"; + var description = $"A collection of the songs liked by {user.PreferredName} on their 'Song of the day' server instance."; + // playlist does not exist yet, creating it + var newPlaylist = await (await spotifyApiClient.WithUserAuthorizationAsync(user)).CreateSpotifyPlaylist(title, description, false, true, user); + await playlistSynchronizer.SynchronizePlaylistAsync(newPlaylist); + needsSaving = true; + } + logger.LogWarning($"Syncing playlists for user {user.LdapUserName}"); + await playlistSynchronizer.SynchronizeUserPlaylistsAsync(user); } - logger.LogWarning($"Syncing playlists for user {user.LdapUserName}"); - await playlistSynchronizer.SynchronizeUserPlaylistsAsync(user); } if (needsSaving)