From 1c4c9cf733ce84a2b7a70a186f4412198951a271 Mon Sep 17 00:00:00 2001 From: JPVenson Date: Thu, 12 Jun 2025 02:30:57 +0300 Subject: [PATCH] Fix UserData cleanup task and queries (#14280) --- .../ScheduledTasks/Tasks/CleanupUserDataTask.cs | 2 +- Jellyfin.Server.Implementations/Item/BaseItemRepository.cs | 4 ++-- .../Jellyfin.Database.Implementations/Entities/UserData.cs | 2 +- .../Migrations/JellyfinDbModelSnapshot.cs | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupUserDataTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupUserDataTask.cs index 044c5f5cd8..4156050eb1 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupUserDataTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupUserDataTask.cs @@ -52,7 +52,7 @@ public class CleanupUserDataTask : IScheduledTask public async Task ExecuteAsync(IProgress progress, CancellationToken cancellationToken) { const int LimitDays = 90; - var userDataDate = DateTimeOffset.UtcNow.AddDays(LimitDays * -1); + var userDataDate = DateTime.UtcNow.AddDays(LimitDays * -1); var dbContext = await _dbProvider.CreateDbContextAsync(cancellationToken).ConfigureAwait(false); await using (dbContext.ConfigureAwait(false)) { diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs index f6f2d5577b..23a2a98d07 100644 --- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs +++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs @@ -108,7 +108,7 @@ public sealed class BaseItemRepository using var context = _dbProvider.CreateDbContext(); using var transaction = context.Database.BeginTransaction(); - var date = (DateTimeOffset?)DateTimeOffset.Now; + var date = (DateTime?)DateTime.UtcNow; // Detach all user watch data context.UserData.Where(e => e.ItemId == id) .ExecuteUpdate(e => e @@ -529,7 +529,7 @@ public sealed class BaseItemRepository { // reattach old userData entries var userKeys = item.UserDataKey.ToArray(); - var retentionDate = (DateTimeOffset?)null; + var retentionDate = (DateTime?)null; context.UserData .Where(e => e.ItemId == PlaceholderId) .Where(e => userKeys.Contains(e.CustomDataKey)) diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/UserData.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/UserData.cs index d7aa79dc9b..3d8b01c2bc 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/UserData.cs +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/UserData.cs @@ -71,7 +71,7 @@ public class UserData /// /// Gets or Sets the date the referenced has been deleted. /// - public DateTimeOffset? RetentionDate { get; set; } + public DateTime? RetentionDate { get; set; } /// /// Gets or sets the key. diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs index 01ba3dfd86..706215eeff 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs @@ -15,7 +15,7 @@ namespace Jellyfin.Server.Implementations.Migrations protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "9.0.5"); + modelBuilder.HasAnnotation("ProductVersion", "9.0.6"); modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AccessSchedule", b => { @@ -1388,7 +1388,7 @@ namespace Jellyfin.Server.Implementations.Migrations b.Property("Rating") .HasColumnType("REAL"); - b.Property("RetentionDate") + b.Property("RetentionDate") .HasColumnType("TEXT"); b.Property("SubtitleStreamIndex")