Initial Flutter booru app
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import '../../core/cache/cache_service.dart';
|
||||
import '../../core/cache/image_cache_service.dart';
|
||||
import '../../core/database/app_database.dart';
|
||||
import '../../core/database/database_service.dart';
|
||||
import '../../core/http/network_info.dart';
|
||||
import '../providers/provider_factory.dart';
|
||||
import '../providers/provider_manager.dart';
|
||||
import '../repositories/collection_repository.dart';
|
||||
import '../repositories/favorite_repository.dart';
|
||||
import '../repositories/post_repository.dart';
|
||||
import '../repositories/provider_repository.dart';
|
||||
import '../repositories/search_repository.dart';
|
||||
import '../services/collection_service.dart';
|
||||
import '../services/favorite_service.dart';
|
||||
import '../services/feed_service.dart';
|
||||
import '../services/provider_check_service.dart';
|
||||
import '../services/search_service.dart';
|
||||
import '../services/settings_service.dart';
|
||||
|
||||
final appDatabaseProvider = FutureProvider<AppDatabase>((ref) async {
|
||||
final database = await AppDatabase.open();
|
||||
ref.onDispose(database.close);
|
||||
return database;
|
||||
});
|
||||
|
||||
final databaseServiceProvider = Provider<DatabaseService>((ref) {
|
||||
final database = ref.watch(appDatabaseProvider).requireValue;
|
||||
return DatabaseService(database);
|
||||
});
|
||||
|
||||
final connectivityProvider = Provider<Connectivity>((ref) => Connectivity());
|
||||
|
||||
final networkInfoProvider = Provider<NetworkInfo>((ref) {
|
||||
return NetworkInfo(ref.watch(connectivityProvider));
|
||||
});
|
||||
|
||||
final providerFactoryProvider = Provider<ProviderFactory>((ref) {
|
||||
return ProviderFactory();
|
||||
});
|
||||
|
||||
final postRepositoryProvider = Provider<PostRepository>((ref) {
|
||||
return PostRepository(ref.watch(databaseServiceProvider));
|
||||
});
|
||||
|
||||
final providerRepositoryProvider = Provider<ProviderRepository>((ref) {
|
||||
return ProviderRepository(ref.watch(databaseServiceProvider));
|
||||
});
|
||||
|
||||
final searchRepositoryProvider = Provider<SearchRepository>((ref) {
|
||||
return SearchRepository(ref.watch(databaseServiceProvider));
|
||||
});
|
||||
|
||||
final favoriteRepositoryProvider = Provider<FavoriteRepository>((ref) {
|
||||
return FavoriteRepository(
|
||||
ref.watch(databaseServiceProvider),
|
||||
ref.watch(postRepositoryProvider),
|
||||
);
|
||||
});
|
||||
|
||||
final collectionRepositoryProvider = Provider<CollectionRepository>((ref) {
|
||||
return CollectionRepository(
|
||||
ref.watch(databaseServiceProvider),
|
||||
ref.watch(postRepositoryProvider),
|
||||
);
|
||||
});
|
||||
|
||||
final cacheServiceProvider = Provider<CacheService>((ref) {
|
||||
return CacheService(ref.watch(databaseServiceProvider));
|
||||
});
|
||||
|
||||
final imageCacheServiceProvider = Provider<ImageCacheService>((ref) {
|
||||
return ImageCacheService();
|
||||
});
|
||||
|
||||
final providerManagerProvider = Provider<ProviderManager>((ref) {
|
||||
return ProviderManager(
|
||||
ref.watch(providerRepositoryProvider),
|
||||
ref.watch(providerFactoryProvider),
|
||||
);
|
||||
});
|
||||
|
||||
final feedServiceProvider = Provider<FeedService>((ref) {
|
||||
return FeedService(
|
||||
ref.watch(providerManagerProvider),
|
||||
ref.watch(cacheServiceProvider),
|
||||
ref.watch(settingsServiceProvider),
|
||||
);
|
||||
});
|
||||
|
||||
final searchServiceProvider = Provider<SearchService>((ref) {
|
||||
return SearchService(ref.watch(searchRepositoryProvider));
|
||||
});
|
||||
|
||||
final providerCheckServiceProvider = Provider<ProviderCheckService>((ref) {
|
||||
return ProviderCheckService(
|
||||
ref.watch(providerRepositoryProvider),
|
||||
ref.watch(providerFactoryProvider),
|
||||
ref.watch(providerManagerProvider),
|
||||
);
|
||||
});
|
||||
|
||||
final favoriteServiceProvider = Provider<FavoriteService>((ref) {
|
||||
return FavoriteService(
|
||||
ref.watch(favoriteRepositoryProvider),
|
||||
ref.watch(postRepositoryProvider),
|
||||
);
|
||||
});
|
||||
|
||||
final collectionServiceProvider = Provider<CollectionService>((ref) {
|
||||
return CollectionService(ref.watch(collectionRepositoryProvider));
|
||||
});
|
||||
|
||||
final settingsServiceProvider = Provider<SettingsService>((ref) {
|
||||
return SettingsService(
|
||||
ref.watch(databaseServiceProvider),
|
||||
providerRepository: ref.watch(providerRepositoryProvider),
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user