parser logic added

This commit is contained in:
davmar
2026-08-30 12:24:29 +02:00
parent 35d5c90d81
commit 3b698a3667
28 changed files with 3018 additions and 346 deletions
+9 -5
View File
@@ -57,6 +57,8 @@ class BackupService {
products: rewrittenProducts,
shops: rewrittenShops,
shopItems: await repository.dumpTable('shop_items'),
shoppingLists: await repository.dumpTable('shopping_lists'),
shoppingListItems: await repository.dumpTable('shopping_list_items'),
images: images,
);
}
@@ -114,7 +116,10 @@ class BackupService {
final now = DateTime.now().toIso8601String();
for (final row in document.products) {
final copy = Map<String, Object?>.from(row);
copy['image_path'] = await _restoreImage(copy['image_path'], document.images);
copy['image_path'] = await _restoreImage(
copy['image_path'],
document.images,
);
copy['created_at'] ??= now;
copy['updated_at'] ??= copy['created_at'];
if (copy['normalized_name'] == null && copy['name'] is String) {
@@ -141,14 +146,13 @@ class BackupService {
products: products,
shops: shops,
shopItems: document.shopItems,
shoppingLists: document.shoppingLists,
shoppingListItems: document.shoppingListItems,
darkMode: document.darkMode,
);
}
Future<String?> _restoreImage(
Object? key,
Map<String, String> images,
) async {
Future<String?> _restoreImage(Object? key, Map<String, String> images) async {
if (key is! String || key.isEmpty) return null;
final encoded = images[key];
if (encoded == null) return null;