mirror of
https://github.com/immich-app/immich
synced 2026-08-15 13:03:57 +00:00
chore: remove old people provider (#30662)
* chore: remove old people provider * refactor: rename driftGetAllPeopleProvider * minor fixes --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
parent
303a9f15b1
commit
1c3a5cf508
7 changed files with 6 additions and 67 deletions
|
|
@ -145,7 +145,7 @@ class _PeopleCollectionCard extends ConsumerWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final people = ref.watch(driftGetAllPeopleProvider);
|
||||
final people = ref.watch(getAllPeopleProvider);
|
||||
|
||||
return LayoutBuilder(
|
||||
builder: (context, constraints) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ class _DriftPeopleCollectionPageState extends ConsumerState<DriftPeopleCollectio
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final people = ref.watch(driftGetAllPeopleProvider);
|
||||
final people = ref.watch(getAllPeopleProvider);
|
||||
|
||||
return LayoutBuilder(
|
||||
builder: (context, constraints) {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ final driftPeopleAssetProvider = FutureProvider.family<List<Person>, String>((re
|
|||
return service.getAssetPeople(assetId);
|
||||
});
|
||||
|
||||
final driftGetAllPeopleProvider = StreamProvider<List<Person>>((ref) async* {
|
||||
final getAllPeopleProvider = StreamProvider<List<Person>>((ref) async* {
|
||||
final service = ref.watch(driftPeopleServiceProvider);
|
||||
final prefs = await ref.watch(userMetadataPreferencesProvider.future);
|
||||
yield* service.watch(minFaces: prefs?.minimumFaces ?? 3);
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/domain/models/person.model.dart';
|
||||
import 'package:immich_mobile/services/person.service.dart';
|
||||
|
||||
final getAllPeopleProvider = FutureProvider.autoDispose<List<Person>>((ref) async {
|
||||
final PersonService personService = ref.read(personServiceProvider);
|
||||
|
||||
final people = await personService.getAllPeople();
|
||||
|
||||
return people;
|
||||
});
|
||||
|
||||
final updatePersonNameProvider = FutureProvider.autoDispose(
|
||||
(ref) => (String personId, String updatedName) async {
|
||||
final PersonService personService = ref.read(personServiceProvider);
|
||||
final person = await personService.updateName(personId, updatedName);
|
||||
|
||||
if (person != null && person.name == updatedName) {
|
||||
ref.invalidate(getAllPeopleProvider);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
);
|
||||
|
|
@ -11,11 +11,6 @@ class PersonApiRepository extends ApiRepository {
|
|||
|
||||
PersonApiRepository(this._api);
|
||||
|
||||
Future<List<Person>> getAll() async {
|
||||
final dto = await checkNull(_api.getAllPeople());
|
||||
return dto.people.map(_toPerson).toList();
|
||||
}
|
||||
|
||||
Future<Person> update(String id, {String? name, DateTime? birthday}) async {
|
||||
final birthdayUtc = birthday == null ? null : DateTime.utc(birthday.year, birthday.month, birthday.day);
|
||||
final dto = PersonUpdateDto(
|
||||
|
|
@ -27,5 +22,5 @@ class PersonApiRepository extends ApiRepository {
|
|||
}
|
||||
|
||||
static Person _toPerson(PersonResponseDto dto) =>
|
||||
.new(birthDate: dto.birthDate, id: dto.id, name: dto.name, updatedAt: dto.updatedAt.value);
|
||||
.new(birthDate: dto.birthDate, id: dto.id, name: dto.name, updatedAt: dto.updatedAt.orElse(null));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/domain/models/person.model.dart';
|
||||
import 'package:immich_mobile/repositories/person_api.repository.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
final personServiceProvider = Provider.autoDispose<PersonService>(
|
||||
(ref) => PersonService(ref.watch(personApiRepositoryProvider)),
|
||||
);
|
||||
|
||||
class PersonService {
|
||||
final Logger _log = Logger("PersonService");
|
||||
final PersonApiRepository _personApiRepository;
|
||||
PersonService(this._personApiRepository);
|
||||
|
||||
Future<List<Person>> getAllPeople() async {
|
||||
try {
|
||||
return await _personApiRepository.getAll();
|
||||
} catch (error, stack) {
|
||||
_log.severe("Error while fetching curated people", error, stack);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
Future<Person?> updateName(String id, String name) async {
|
||||
try {
|
||||
return await _personApiRepository.update(id, name: name);
|
||||
} catch (error, stack) {
|
||||
_log.severe("Error while updating person name", error, stack);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@ import 'package:immich_mobile/extensions/string_extensions.dart';
|
|||
import 'package:immich_mobile/generated/translations.g.dart';
|
||||
import 'package:immich_mobile/pages/common/large_leading_tile.dart';
|
||||
import 'package:immich_mobile/presentation/widgets/images/remote_image_provider.dart';
|
||||
import 'package:immich_mobile/providers/search/people.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/people.provider.dart';
|
||||
import 'package:immich_mobile/utils/image_url_builder.dart';
|
||||
import 'package:immich_mobile/widgets/common/search_field.dart';
|
||||
|
||||
|
|
@ -65,7 +65,7 @@ class PeoplePicker extends HookConsumerWidget {
|
|||
padding: const EdgeInsets.only(bottom: 2.0),
|
||||
child: LargeLeadingTile(
|
||||
title: Text(
|
||||
person.name,
|
||||
person.name.nullIfEmpty ?? context.t.no_name,
|
||||
style: context.textTheme.bodyLarge?.copyWith(
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.w500,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue