3 Commits

Author SHA1 Message Date
ddf84b5cb6 Fixed possible null LastPlayedDate if just marked as watched 2025-12-04 22:16:11 -07:00
ca1d1fcab1 V6 2025-12-04 21:48:45 -07:00
3b43d6807a Enabled deletion of detached user data 2025-12-04 21:34:15 -07:00
3 changed files with 6 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
<Project>
<PropertyGroup>
<AssemblyVersion>0.0.0.5</AssemblyVersion>
<AssemblyVersion>0.0.0.7</AssemblyVersion>
</PropertyGroup>
</Project>

View File

@@ -55,22 +55,10 @@ public class CleanupUserDataTask : IScheduledTask
var dbContext = await _dbProvider.CreateDbContextAsync(cancellationToken).ConfigureAwait(false);
await using (dbContext.ConfigureAwait(false))
{
var detachedUserData = dbContext.UserData.Where(e => e.ItemId == PlaceholderId).ToList();
_logger.LogInformation("There are {NoDetached} detached UserData entries.", detachedUserData.Count);
foreach(var userData in detachedUserData)
{
if (userData.Item != null)
{
_logger.LogInformation("Detached user data for: {UserDataName}", userData.Item.Name);
}
else
{
_logger.LogInformation("Detached user data for: {UserDataName}", userData);
}
}
_logger.LogInformation("Detached user data count: {Count}.", detachedUserData.Count);
var detachedUserData = dbContext.UserData.Where(e => e.ItemId == PlaceholderId);
_logger.LogInformation("Deleting {DetachedUserDataCount} detached UserData entries.", detachedUserData.Count());
// await detachedUserData.ExecuteDeleteAsync(cancellationToken).ConfigureAwait(false);
await detachedUserData.ExecuteDeleteAsync(cancellationToken).ConfigureAwait(false);
}
}

View File

@@ -104,7 +104,7 @@ public sealed class StaleMediaTask : IScheduledTask
foreach (var movie in movies)
{
bool movieIsStale = movie.DateCreated < DateTime.Now.AddDays(-Configuration.StaleMediaCutoff);
bool movieHasUserData = movie.UserData.Count > 0;
bool movieHasUserData = movie.UserData.Where(data => data.LastPlayedDate != null).ToList().Count > 0;
if (movieHasUserData)
{
if (Configuration.DebugMode){
@@ -208,7 +208,7 @@ public sealed class StaleMediaTask : IScheduledTask
if (seasonHasUserData)
{
var episodesWithUserData = episodes.Where(episode => episode.UserData.Count > 0).ToList();
var episodesWithUserData = episodes.Where(episode => episode.UserData.Where(data => data.LastPlayedDate != null).ToList().Count > 0).ToList();
if(Configuration.DebugMode){
_logger.LogInformation("Episodes with user data: {EpisodesWithUserData}", episodesWithUserData);