Use explicit naming

This commit is contained in:
JPVenson 2025-06-10 14:33:41 +00:00
parent 91da1c035d
commit 4a0a45a045

View File

@ -292,12 +292,12 @@ public class BackupService : IBackupService
var historyRepository = dbContext.GetService<IHistoryRepository>(); var historyRepository = dbContext.GetService<IHistoryRepository>();
var migrations = await historyRepository.GetAppliedMigrationsAsync().ConfigureAwait(false); var migrations = await historyRepository.GetAppliedMigrationsAsync().ConfigureAwait(false);
ICollection<(Type Type, Func<IAsyncEnumerable<object>> ValueFactory)> entityTypes = [ ICollection<(Type Type, string SourceName, Func<IAsyncEnumerable<object>> ValueFactory)> entityTypes = [
.. typeof(JellyfinDbContext) .. typeof(JellyfinDbContext)
.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance) .GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)
.Where(e => e.PropertyType.IsAssignableTo(typeof(IQueryable))) .Where(e => e.PropertyType.IsAssignableTo(typeof(IQueryable)))
.Select(e => (Type: e.PropertyType, ValueFactory: new Func<IAsyncEnumerable<object>>(() => GetValues((IQueryable)e.GetValue(dbContext)!, e.PropertyType)))), .Select(e => (Type: e.PropertyType, dbContext.Model.FindEntityType(e.PropertyType.GetGenericArguments()[0])!.GetSchemaQualifiedTableName()!, ValueFactory: new Func<IAsyncEnumerable<object>>(() => GetValues((IQueryable)e.GetValue(dbContext)!, e.PropertyType)))),
(Type: typeof(IQueryable<HistoryRow>), ValueFactory: new Func<IAsyncEnumerable<object>>(() => migrations.ToAsyncEnumerable())) (Type: typeof(HistoryRow), SourceName: nameof(HistoryRow), ValueFactory: new Func<IAsyncEnumerable<object>>(() => migrations.ToAsyncEnumerable()))
]; ];
manifest.DatabaseTables = entityTypes.Select(e => e.Type.Name).ToArray(); manifest.DatabaseTables = entityTypes.Select(e => e.Type.Name).ToArray();
var transaction = await dbContext.Database.BeginTransactionAsync().ConfigureAwait(false); var transaction = await dbContext.Database.BeginTransactionAsync().ConfigureAwait(false);
@ -308,9 +308,8 @@ public class BackupService : IBackupService
foreach (var entityType in entityTypes) foreach (var entityType in entityTypes)
{ {
var schemaName = dbContext.Model.FindEntityType(entityType.Type.GetGenericArguments()[0])!.GetSchemaQualifiedTableName()!; _logger.LogInformation("Begin backup of entity {Table}", entityType.SourceName);
_logger.LogInformation("Begin backup of entity {Table}", entityType.Type.Name); var zipEntry = zipArchive.CreateEntry($"Database\\{entityType.SourceName}.json");
var zipEntry = zipArchive.CreateEntry($"Database\\{entityType.Type.Name}.json");
var entities = 0; var entities = 0;
var zipEntryStream = zipEntry.Open(); var zipEntryStream = zipEntry.Open();
await using (zipEntryStream.ConfigureAwait(false)) await using (zipEntryStream.ConfigureAwait(false))