mirror of
https://gitlab.com/nkming2/nc-photos.git
synced 2025-02-02 06:46:22 +01:00
Fix NPE when syncing a delected face from Recognize
This commit is contained in:
parent
46460e99e9
commit
4c5410d9d1
1 changed files with 8 additions and 12 deletions
|
@ -30,16 +30,10 @@ class SyncRecognizeFace {
|
||||||
if (faces == null) {
|
if (faces == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var shouldUpdate = faces.inserts.isNotEmpty ||
|
var shouldUpdate = !faces.isEmpty;
|
||||||
faces.deletes.isNotEmpty ||
|
|
||||||
faces.updates.isNotEmpty;
|
|
||||||
final items =
|
final items =
|
||||||
await _getFaceItemResults(account, faces.results.values.toList());
|
await _getFaceItemResults(account, faces.results.values.toList());
|
||||||
shouldUpdate = shouldUpdate ||
|
shouldUpdate = shouldUpdate || items.values.any((e) => !e.isEmpty);
|
||||||
items.values.any((e) =>
|
|
||||||
e.inserts.isNotEmpty ||
|
|
||||||
e.deletes.isNotEmpty ||
|
|
||||||
e.updates.isNotEmpty);
|
|
||||||
if (!shouldUpdate) {
|
if (!shouldUpdate) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -51,8 +45,7 @@ class SyncRecognizeFace {
|
||||||
batch.deleteWhere(
|
batch.deleteWhere(
|
||||||
db.recognizeFaces,
|
db.recognizeFaces,
|
||||||
(sql.$RecognizeFacesTable t) =>
|
(sql.$RecognizeFacesTable t) =>
|
||||||
t.account.equals(dbAccount.rowId) &
|
t.account.equals(dbAccount.rowId) & t.label.equals(d),
|
||||||
t.label.equals(faces.results[d]!.label),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
for (final u in faces.updates) {
|
for (final u in faces.updates) {
|
||||||
|
@ -62,8 +55,7 @@ class SyncRecognizeFace {
|
||||||
label: sql.Value(faces.results[u]!.label),
|
label: sql.Value(faces.results[u]!.label),
|
||||||
),
|
),
|
||||||
where: (sql.$RecognizeFacesTable t) =>
|
where: (sql.$RecognizeFacesTable t) =>
|
||||||
t.account.equals(dbAccount.rowId) &
|
t.account.equals(dbAccount.rowId) & t.label.equals(u),
|
||||||
t.label.equals(faces.results[u]!.label),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
for (final i in faces.inserts) {
|
for (final i in faces.inserts) {
|
||||||
|
@ -267,6 +259,8 @@ class _FaceResult {
|
||||||
required this.deletes,
|
required this.deletes,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
bool get isEmpty => inserts.isEmpty && updates.isEmpty && deletes.isEmpty;
|
||||||
|
|
||||||
final Map<String, RecognizeFace> results;
|
final Map<String, RecognizeFace> results;
|
||||||
final List<String> inserts;
|
final List<String> inserts;
|
||||||
final List<String> updates;
|
final List<String> updates;
|
||||||
|
@ -281,6 +275,8 @@ class _FaceItemResult {
|
||||||
required this.deletes,
|
required this.deletes,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
bool get isEmpty => inserts.isEmpty && updates.isEmpty && deletes.isEmpty;
|
||||||
|
|
||||||
final Map<int, RecognizeFaceItem> results;
|
final Map<int, RecognizeFaceItem> results;
|
||||||
final List<int> inserts;
|
final List<int> inserts;
|
||||||
final List<int> updates;
|
final List<int> updates;
|
||||||
|
|
Loading…
Reference in a new issue