@@ -14,7 +14,9 @@ import 'package:flutter_news_app_api_server_full_source_code/src/services/databa
14
14
import 'package:flutter_news_app_api_server_full_source_code/src/services/default_user_preference_limit_service.dart' ;
15
15
import 'package:flutter_news_app_api_server_full_source_code/src/services/jwt_auth_token_service.dart' ;
16
16
import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_token_blacklist_service.dart' ;
17
+ import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_rate_limit_service.dart' ;
17
18
import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_verification_code_storage_service.dart' ;
19
+ import 'package:flutter_news_app_api_server_full_source_code/src/services/rate_limit_service.dart' ;
18
20
import 'package:flutter_news_app_api_server_full_source_code/src/services/token_blacklist_service.dart' ;
19
21
import 'package:flutter_news_app_api_server_full_source_code/src/services/user_preference_limit_service.dart' ;
20
22
import 'package:flutter_news_app_api_server_full_source_code/src/services/verification_code_storage_service.dart' ;
@@ -65,6 +67,7 @@ class AppDependencies {
65
67
late final DashboardSummaryService dashboardSummaryService;
66
68
late final PermissionService permissionService;
67
69
late final UserPreferenceLimitService userPreferenceLimitService;
70
+ late final RateLimitService rateLimitService;
68
71
69
72
/// Initializes all application dependencies.
70
73
///
@@ -222,6 +225,10 @@ class AppDependencies {
222
225
permissionService: permissionService,
223
226
log: Logger ('DefaultUserPreferenceLimitService' ),
224
227
);
228
+ rateLimitService = MongoDbRateLimitService (
229
+ connectionManager: _mongoDbConnectionManager,
230
+ log: Logger ('MongoDbRateLimitService' ),
231
+ );
225
232
226
233
_isInitialized = true ;
227
234
_log.info ('Application dependencies initialized successfully.' );
@@ -238,6 +245,7 @@ class AppDependencies {
238
245
if (! _isInitialized) return ;
239
246
await _mongoDbConnectionManager.close ();
240
247
tokenBlacklistService.dispose ();
248
+ rateLimitService.dispose ();
241
249
_isInitialized = false ;
242
250
_log.info ('Application dependencies disposed.' );
243
251
}
0 commit comments