Skip to content

Commit 55d2855

Browse files
committed
feat(services): add country query service
- Implement CountryQueryService for efficient country-based queries - Add service initialization in AppDependencies class - Include service disposal in AppDependencies dispose method - Set default cache duration to 15 minutes
1 parent ae69233 commit 55d2855

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

lib/src/config/app_dependencies.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import 'package:flutter_news_app_api_server_full_source_code/src/services/dashbo
1313
import 'package:flutter_news_app_api_server_full_source_code/src/services/database_seeding_service.dart';
1414
import 'package:flutter_news_app_api_server_full_source_code/src/services/default_user_preference_limit_service.dart';
1515
import 'package:flutter_news_app_api_server_full_source_code/src/services/jwt_auth_token_service.dart';
16+
import 'package:flutter_news_app_api_server_full_source_code/src/services/country_query_service.dart';
1617
import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_rate_limit_service.dart';
1718
import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_token_blacklist_service.dart';
1819
import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_verification_code_storage_service.dart';
@@ -69,6 +70,7 @@ class AppDependencies {
6970
late final PermissionService permissionService;
7071
late final UserPreferenceLimitService userPreferenceLimitService;
7172
late final RateLimitService rateLimitService;
73+
late final CountryQueryService countryQueryService;
7274

7375
/// Initializes all application dependencies.
7476
///
@@ -238,6 +240,13 @@ class AppDependencies {
238240
connectionManager: _mongoDbConnectionManager,
239241
log: Logger('MongoDbRateLimitService'),
240242
);
243+
countryQueryService = CountryQueryService(
244+
headlineRepository: headlineRepository,
245+
sourceRepository: sourceRepository,
246+
countryRepository: countryRepository,
247+
log: Logger('CountryQueryService'),
248+
cacheDuration: const Duration(minutes: 15), // Default cache duration
249+
);
241250

242251
_isInitialized = true;
243252
_log.info('Application dependencies initialized successfully.');
@@ -255,6 +264,7 @@ class AppDependencies {
255264
await _mongoDbConnectionManager.close();
256265
tokenBlacklistService.dispose();
257266
rateLimitService.dispose();
267+
countryQueryService.dispose(); // Dispose the new service
258268
_isInitialized = false;
259269
_log.info('Application dependencies disposed.');
260270
}

0 commit comments

Comments
 (0)