fix(database): correctly store manually ordered module list

This commit is contained in:
Jagandeep Brar
2022-05-31 23:02:04 -04:00
parent a0eaca084a
commit 8fe81d11ab
42 changed files with 177 additions and 268 deletions

View File

@@ -20,6 +20,7 @@ class LunaDatabase {
for (final table in LunaTable.values) table.items[0].registerAdapters();
for (final box in LunaBox.values) await box.open();
if (LunaBox.profiles.box.isEmpty) await bootstrap();
// await bootstrap();
}
Future<void> bootstrap() async {

View File

@@ -13,7 +13,7 @@ import 'package:lunasea/widgets/ui.dart';
enum LunaSeaDatabase<T> with LunaTableMixin<T> {
DRAWER_AUTOMATIC_MANAGE<bool>(true),
DRAWER_MANUAL_ORDER<List<LunaModule>?>(null),
DRAWER_MANUAL_ORDER<List>([]),
ENABLED_PROFILE<String>('default'),
NETWORKING_TLS_VALIDATION<bool>(false),
THEME_AMOLED<bool>(false),
@@ -76,11 +76,12 @@ enum LunaSeaDatabase<T> with LunaTableMixin<T> {
return;
}
if (this == LunaSeaDatabase.DRAWER_MANUAL_ORDER) {
final item = (value as List)
.map((module) => LunaModule.DASHBOARD.fromKey(module))
.toList();
item.removeWhere((i) => i == null);
update(item.cast<LunaModule>() as T);
List<LunaModule> item = [];
(value as List).cast<String>().forEach((val) {
LunaModule? module = LunaModule.DASHBOARD.fromKey(val);
if (module != null) item.add(module);
});
update(item as T);
return;
}
return super.import(value);

View File

@@ -21,7 +21,7 @@ enum SonarrDatabase<T> with LunaTableMixin<T> {
ADD_SERIES_DEFAULT_LANGUAGE_PROFILE<int?>(null),
ADD_SERIES_DEFAULT_QUALITY_PROFILE<int?>(null),
ADD_SERIES_DEFAULT_ROOT_FOLDER<int?>(null),
ADD_SERIES_DEFAULT_TAGS<List?>(null),
ADD_SERIES_DEFAULT_TAGS<List>([]),
DEFAULT_VIEW_SERIES<LunaListViewOption>(LunaListViewOption.BLOCK_VIEW),
DEFAULT_FILTERING_SERIES<SonarrSeriesFilter>(SonarrSeriesFilter.ALL),
DEFAULT_FILTERING_RELEASES<SonarrReleasesFilter>(SonarrReleasesFilter.ALL),