feat(app): Добавить пример со Scope (#5)

* feat(app): Добавить пример со Scope

* fix scope

* feat: добавить скоуп с внутренней зависимостью от репозитория (#6)

Co-authored-by: Artem Barkalov <artembark@gmail.com>

* feat: исправить обалсть видимости ProfileScope

* feat: добавить фикс namespace плагинов

---------

Co-authored-by: PetrovY <y.petrov@friflex.com>
Co-authored-by: Artem Barkalov <artembark@gmail.com>
This commit is contained in:
Yuri Petrov
2025-02-26 13:40:43 +03:00
committed by GitHub
parent af3b941711
commit ca4cb20d58
22 changed files with 684 additions and 135 deletions

View File

@@ -0,0 +1,14 @@
import '../../domain/repository/i_profile_repository.dart';
/// {@template ProfileMockRepository}
///
/// {@endtemplate}
final class ProfileMockRepository implements IProfileRepository {
@override
String get name => 'ProfileMockRepository';
@override
Future<String> fetchUserProfile(String id) {
return Future.value('MOCK Yura Petrov');
}
}

View File

@@ -0,0 +1,24 @@
import 'package:friflex_starter/app/http/i_http_client.dart';
import '../../domain/repository/i_profile_repository.dart';
/// {@template ProfileRepository}
///
/// {@endtemplate}
final class ProfileRepository implements IProfileRepository {
final IHttpClient httpClient;
ProfileRepository({required this.httpClient});
@override
String get name => 'ProfileRepository';
@override
Future<String> fetchUserProfile(String id) async {
// Какой-то запрос к серверу
await Future.delayed(const Duration(seconds: 1));
// httpClient.get('https://example.com/profile/$id');
return 'Yura Petrov';
}
}