mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-03-25 02:38:48 +00:00
Storage - Added LiteDB to SQLite migration UI - Try to die a bit more gracefully Core - Delay start watching plugins for hot reload after initializing UI - Simplify category management logic UI - Avoid crash during profile icon load Storage - Fix entry metadata retrieval
37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using LiteDB;
|
|
|
|
namespace Artemis.Storage.Legacy.Migrations.Storage;
|
|
|
|
internal class M0023LayoutProviders : IStorageMigration
|
|
{
|
|
public int UserVersion => 23;
|
|
|
|
public void Apply(LiteRepository repository)
|
|
{
|
|
ILiteCollection<BsonDocument> deviceEntities = repository.Database.GetCollection("DeviceEntity");
|
|
List<BsonDocument> toUpdate = new();
|
|
|
|
foreach (BsonDocument bsonDocument in deviceEntities.FindAll())
|
|
{
|
|
if (bsonDocument.TryGetValue("CustomLayoutPath", out BsonValue customLayoutPath) && customLayoutPath.IsString && !string.IsNullOrEmpty(customLayoutPath.AsString))
|
|
{
|
|
bsonDocument.Add("LayoutType", new BsonValue("CustomPath"));
|
|
bsonDocument.Add("LayoutParameter", new BsonValue(customLayoutPath.AsString));
|
|
}
|
|
else if (bsonDocument.TryGetValue("DisableDefaultLayout", out BsonValue disableDefaultLayout) && disableDefaultLayout.AsBoolean)
|
|
{
|
|
bsonDocument.Add("LayoutType", new BsonValue("None"));
|
|
}
|
|
else
|
|
{
|
|
bsonDocument.Add("LayoutType", new BsonValue("Default"));
|
|
}
|
|
|
|
bsonDocument.Remove("CustomLayoutPath");
|
|
bsonDocument.Remove("DisableDefaultLayout");
|
|
toUpdate.Add(bsonDocument);
|
|
}
|
|
|
|
deviceEntities.Update(toUpdate);
|
|
}
|
|
} |