Skip to content

Commit

Permalink
Rename NexusModsLibraryFile to NexusMOdsLibraryItem
Browse files Browse the repository at this point in the history
  • Loading branch information
halgari committed Sep 30, 2024
1 parent 428f195 commit 049b40e
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,5 @@ public partial class NexusModsFileMetadata : IModelDefinition
/// <summary>
/// Library Files that link to this file.
/// </summary>
public static readonly BackReferenceAttribute<NexusModsLibraryFile> LibraryFiles = new(NexusModsLibraryFile.FileMetadata);
public static readonly BackReferenceAttribute<NexusModsLibraryItem> LibraryFiles = new(NexusModsLibraryItem.FileMetadata);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
namespace NexusMods.Abstractions.NexusModsLibrary;

/// <summary>
/// Represented a <see cref="DownloadedFile"/> originating from Nexus Mods.
/// Represented a <see cref="LibraryItem"/> originating from Nexus Mods.
/// </summary>
[PublicAPI]
[Include<LibraryItem>]
public partial class NexusModsLibraryFile : IModelDefinition
public partial class NexusModsLibraryItem : IModelDefinition
{
private const string Namespace = "NexusMods.Library.NexusModsLibraryFile";
private const string Namespace = "NexusMods.Library.NexusModsLibraryItem";

/// <summary>
/// Remote metadata of the file on Nexus Mods.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static IServiceCollection AddNexusModsLibraryModels(this IServiceCollecti
return serviceCollection
.AddNexusModsFileMetadataModel()
.AddNexusModsModPageMetadataModel()
.AddNexusModsLibraryFileModel()
.AddNexusModsLibraryItemModel()
.AddCollectionMetadataModel()
.AddCollectionRevisionMetadataModel()
.AddCollectionRevisionModFileModel()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ public ValueTask AddMetadata(ITransaction tx, LibraryFile.New libraryFile)
libraryFile.GetLibraryItem(tx).Name = FileMetadata.Name;

// Not using .New here because we can't use the LibraryItem Id and don't have the LibraryItem in this method
tx.Add(libraryFile.Id, NexusModsLibraryFile.FileMetadataId, FileMetadata.Id);
tx.Add(libraryFile.Id, NexusModsLibraryFile.ModPageMetadataId, FileMetadata.ModPage.Id);
tx.Add(libraryFile.Id, NexusModsLibraryItem.FileMetadataId, FileMetadata.Id);
tx.Add(libraryFile.Id, NexusModsLibraryItem.ModPageMetadataId, FileMetadata.ModPage.Id);

_ = new DownloadedFile.New(tx, libraryFile.Id)
{
Expand Down
4 changes: 2 additions & 2 deletions src/NexusMods.App.UI/Pages/Library/LibraryItemRemovalInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ public static LibraryItemRemovalInfo Determine(LibraryItem.ReadOnly toRemove, Lo
var info = new LibraryItemRemovalInfo();

// Check if it's a file which was downloaded.
if (toRemove.TryGetAsNexusModsLibraryFile(out var _))
if (toRemove.TryGetAsNexusModsLibraryItem(out _))
{
info.IsNexus = true;
info.IsNonPermanent = !info.IsNexus;
}
else if (toRemove.TryGetAsLocalFile(out var _))
else if (toRemove.TryGetAsLocalFile(out _))
{
info.IsManuallyAdded = true;
}
Expand Down
16 changes: 8 additions & 8 deletions src/NexusMods.App.UI/Pages/NexusModsDataProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public NexusModsDataProvider(IServiceProvider serviceProvider)
public IObservable<IChangeSet<LibraryItemModel, EntityId>> ObserveFlatLibraryItems(LibraryFilter libraryFilter)
{
// NOTE(erri120): For the flat library view, we display each NexusModsLibraryFile
return NexusModsLibraryFile
return NexusModsLibraryItem
.ObserveAll(_connection)
// only show library files for the currently selected game
.FilterOnObservable((file, _) => libraryFilter.GameObservable.Select(game => file.ModPageMetadata.GameDomain.Equals(game.Domain)))
Expand All @@ -47,13 +47,13 @@ public IObservable<IChangeSet<LibraryItemModel, EntityId>> ObserveNestedLibraryI
.FilterOnObservable((modPage, _) => libraryFilter.GameObservable.Select(game => modPage.GameDomain.Equals(game.Domain)))
// only show mod pages that have library files
.FilterOnObservable((_, e) => _connection
.ObserveDatoms(NexusModsLibraryFile.ModPageMetadataId, e)
.ObserveDatoms(NexusModsLibraryItem.ModPageMetadataId, e)
.IsNotEmpty()
)
.Transform((modPage, _) => ToLibraryItemModel(modPage, libraryFilter));
}

private LibraryItemModel ToLibraryItemModel(NexusModsLibraryFile.ReadOnly nexusModsLibraryFile, LibraryFilter libraryFilter)
private LibraryItemModel ToLibraryItemModel(NexusModsLibraryItem.ReadOnly nexusModsLibraryFile, LibraryFilter libraryFilter)
{
var linkedLoadoutItemsObservable = QueryHelper.GetLinkedLoadoutItems(_connection, nexusModsLibraryFile.Id, libraryFilter);

Expand All @@ -74,15 +74,15 @@ private LibraryItemModel ToLibraryItemModel(NexusModsModPageMetadata.ReadOnly mo
// TODO: dispose
var cache = new SourceCache<Datom, EntityId>(static datom => datom.E);
var disposable = _connection
.ObserveDatoms(NexusModsLibraryFile.ModPageMetadataId, modPageMetadata.Id)
.ObserveDatoms(NexusModsLibraryItem.ModPageMetadataId, modPageMetadata.Id)
.AsEntityIds()
.Adapt(new SourceCacheAdapter<Datom, EntityId>(cache))
.SubscribeWithErrorLogging();

var hasChildrenObservable = cache.Connect().IsNotEmpty();
var childrenObservable = cache.Connect().Transform((_, e) =>
{
var libraryFile = NexusModsLibraryFile.Load(_connection.Db, e);
var libraryFile = NexusModsLibraryItem.Load(_connection.Db, e);
return ToLibraryItemModel(libraryFile, libraryFilter);
});

Expand All @@ -93,7 +93,7 @@ private LibraryItemModel ToLibraryItemModel(NexusModsModPageMetadata.ReadOnly mo
.Transform((_, e) => LibraryLinkedLoadoutItem.Load(_connection.Db, e));

var libraryFilesObservable = cache.Connect()
.Transform((_, e) => NexusModsLibraryFile.Load(_connection.Db, e).AsLibraryItem());
.Transform((_, e) => NexusModsLibraryItem.Load(_connection.Db, e).AsLibraryItem());

var numInstalledObservable = cache.Connect().TransformOnObservable((_, e) => _connection
.ObserveDatoms(LibraryLinkedLoadoutItem.LibraryItemId, e)
Expand Down Expand Up @@ -121,7 +121,7 @@ public IObservable<IChangeSet<LoadoutItemModel, EntityId>> ObserveNestedLoadoutI
return NexusModsModPageMetadata
.ObserveAll(_connection)
.FilterOnObservable((_, modPageEntityId) => _connection
.ObserveDatoms(NexusModsLibraryFile.ModPageMetadataId, modPageEntityId)
.ObserveDatoms(NexusModsLibraryItem.ModPageMetadataId, modPageEntityId)
.FilterOnObservable((d, _) => _connection
.ObserveDatoms(LibraryLinkedLoadoutItem.LibraryItemId, d.E)
.AsEntityIds()
Expand All @@ -134,7 +134,7 @@ public IObservable<IChangeSet<LoadoutItemModel, EntityId>> ObserveNestedLoadoutI
// TODO: dispose
var cache = new SourceCache<Datom, EntityId>(static datom => datom.E);
var disposable = _connection
.ObserveDatoms(NexusModsLibraryFile.ModPageMetadataId, modPage.Id).AsEntityIds()
.ObserveDatoms(NexusModsLibraryItem.ModPageMetadataId, modPage.Id).AsEntityIds()
.FilterOnObservable((_, e) => _connection.ObserveDatoms(LibraryLinkedLoadoutItem.LibraryItemId, e).IsNotEmpty())
// NOTE(erri120): DynamicData 9.0.4 is broken for value types because it uses ReferenceEquals. Temporary workaround is a custom equality comparer.
.MergeManyChangeSets((_, e) => _connection.ObserveDatoms(LibraryLinkedLoadoutItem.LibraryItemId, e).AsEntityIds(), equalityComparer: DatomEntityIdEqualityComparer.Instance)
Expand Down

0 comments on commit 049b40e

Please sign in to comment.