Commit 0326ab05 authored by Azat Alimov's avatar Azat Alimov
Browse files

fixed item receiving from edge

parent 8445b4cf
Pipeline #2087 failed with stages
in 30 seconds
Showing with 19 additions and 6 deletions
+19 -6
......@@ -514,10 +514,12 @@ class CVULookupController {
.toList();
return LookupStepItems(await filter(result, subexpression, db));
} else {
List<ItemRecord> result =
(await Future.wait(items.map((item) async => await item.edgeItem(trimmedName, db))))
.whereType<ItemRecord>()
.toList();
List<ItemRecord> result = [];
await Future.forEach(items, (ItemRecord item) async {
var itemRecord = await item.edgeItem(trimmedName, db);
if (itemRecord != null) result.add(itemRecord);
});
return LookupStepItems(await filter(result, subexpression, db));
}
} else {
......
......@@ -56,11 +56,11 @@ class ItemEdgeRecord {
}
Future<ItemRecord?> owningItem(DatabaseController db) async {
return await ItemRecord.fetchWithUID(sourceUID!, db);
return await ItemRecord.fetchWithRowID(sourceRowID!, db);
}
Future<ItemRecord?> targetItem(DatabaseController db) async {
return await ItemRecord.fetchWithUID(targetUID!, db);
return await ItemRecord.fetchWithRowID(targetRowID!, db);
}
/*
......
......@@ -145,6 +145,17 @@ class ItemRecord extends Equatable {
}
}
static Future<ItemRecord?> fetchWithRowID(int id, [DatabaseController? db]) async {
db ??= AppController.shared.databaseController;
try {
Item item = await db.databasePool.itemRecordFetchWithRowId(id);
return ItemRecord.fromItem(item);
} catch (e) {
print(e);
return null;
}
}
Future<int> insert(Database db) async {
return await db.itemRecordInsert(this);
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment