[mob] Sync removed clusters from a person
This commit is contained in:
parent
d43ed15cdf
commit
52038b8972
2 changed files with 21 additions and 4 deletions
|
@ -109,6 +109,24 @@ class PersonService {
|
|||
);
|
||||
}
|
||||
|
||||
Future<void> removeClusterToPerson({
|
||||
required String personID,
|
||||
required int clusterID,
|
||||
}) async {
|
||||
final person = (await getPerson(personID))!;
|
||||
final personData = person.data;
|
||||
personData.assigned!.removeWhere((element) => element.id != clusterID);
|
||||
await entityService.addOrUpdate(
|
||||
EntityType.person,
|
||||
json.encode(personData.toJson()),
|
||||
id: personID,
|
||||
);
|
||||
await faceMLDataDB.removeClusterToPerson(
|
||||
personID: personID,
|
||||
clusterID: clusterID,
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> deletePerson(String personID, {bool onlyMapping = true}) async {
|
||||
if (onlyMapping) {
|
||||
final PersonEntity? entity = await getPerson(personID);
|
||||
|
|
|
@ -3,9 +3,9 @@ import "package:flutter/material.dart";
|
|||
import "package:logging/logging.dart";
|
||||
import "package:photos/core/event_bus.dart";
|
||||
import "package:photos/events/people_changed_event.dart";
|
||||
import "package:photos/face/db.dart";
|
||||
import "package:photos/face/model/person.dart";
|
||||
import "package:photos/models/file/file.dart";
|
||||
import "package:photos/services/machine_learning/face_ml/person/person_service.dart";
|
||||
import "package:photos/services/search_service.dart";
|
||||
import "package:photos/theme/ente_theme.dart";
|
||||
import "package:photos/ui/viewer/file/no_thumbnail_widget.dart";
|
||||
|
@ -99,14 +99,13 @@ class _PersonClustersPageState extends State<PersonClustersPage> {
|
|||
GestureDetector(
|
||||
onTap: () async {
|
||||
try {
|
||||
final int result = await FaceMLDataDB
|
||||
.instance
|
||||
await PersonService.instance
|
||||
.removeClusterToPerson(
|
||||
personID: widget.person.remoteID,
|
||||
clusterID: clusterID,
|
||||
);
|
||||
_logger.info(
|
||||
"Removed cluster $clusterID from person ${widget.person.remoteID}, result: $result",
|
||||
"Removed cluster $clusterID from person ${widget.person.remoteID}",
|
||||
);
|
||||
Bus.instance.fire(PeopleChangedEvent());
|
||||
setState(() {});
|
||||
|
|
Loading…
Add table
Reference in a new issue