diff --git a/lib/entity/album.dart b/lib/entity/album.dart index efe22c3a..a7a89765 100644 --- a/lib/entity/album.dart +++ b/lib/entity/album.dart @@ -189,7 +189,7 @@ class Album with EquatableMixin { final File? albumFile; /// versioning of this class, use to upgrade old persisted album - static const version = 6; + static const version = 7; } class AlbumShare with EquatableMixin { diff --git a/lib/entity/album/upgrader.dart b/lib/entity/album/upgrader.dart index 1f76cff2..26664cc2 100644 --- a/lib/entity/album/upgrader.dart +++ b/lib/entity/album/upgrader.dart @@ -206,6 +206,24 @@ class AlbumUpgraderV5 implements AlbumUpgrader { static final _log = Logger("entity.album.upgrader.AlbumUpgraderV5"); } +/// Upgrade v6 Album to v7 +class AlbumUpgraderV6 implements AlbumUpgrader { + const AlbumUpgraderV6({ + this.logFilePath, + }); + + @override + call(JsonObj json) { + _log.fine("[call] Upgrade v6 Album for file: $logFilePath"); + return json; + } + + static final _log = Logger("entity.album.upgrader.AlbumUpgraderV6"); + + /// File path for logging only + final String? logFilePath; +} + abstract class AlbumUpgraderFactory { const AlbumUpgraderFactory(); @@ -214,6 +232,7 @@ abstract class AlbumUpgraderFactory { AlbumUpgraderV3? buildV3(); AlbumUpgraderV4? buildV4(); AlbumUpgraderV5? buildV5(); + AlbumUpgraderV6? buildV6(); } class DefaultAlbumUpgraderFactory extends AlbumUpgraderFactory { @@ -242,6 +261,9 @@ class DefaultAlbumUpgraderFactory extends AlbumUpgraderFactory { logFilePath: logFilePath, ); + @override + buildV6() => AlbumUpgraderV6(logFilePath: logFilePath); + final Account account; final File? albumFile; diff --git a/test/entity/album_test.dart b/test/entity/album_test.dart index bcb34dfe..0f9a3b7d 100644 --- a/test/entity/album_test.dart +++ b/test/entity/album_test.dart @@ -1778,4 +1778,6 @@ class _NullAlbumUpgraderFactory extends AlbumUpgraderFactory { buildV4() => null; @override buildV5() => null; + @override + buildV6() => null; }