Skip to content

Commit 45c8ae4

Browse files
committed
refactor(api): update dependencies and imports
- Update package imports to use core package - Rename repository packages to remove 'ht_' prefix - Rename http_client package to remove 'ht_' prefix - Update class imports to use new package structure - Rename logger instances to use new class names
1 parent 75ab180 commit 45c8ae4

File tree

1 file changed

+66
-65
lines changed

1 file changed

+66
-65
lines changed

lib/src/config/app_dependencies.dart

Lines changed: 66 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
1-
import 'package:ht_api/src/config/environment_config.dart';
2-
import 'package:ht_api/src/rbac/permission_service.dart';
3-
import 'package:ht_api/src/services/auth_service.dart';
4-
import 'package:ht_api/src/services/auth_token_service.dart';
5-
import 'package:ht_api/src/services/dashboard_summary_service.dart';
6-
import 'package:ht_api/src/services/database_seeding_service.dart';
7-
import 'package:ht_api/src/services/default_user_preference_limit_service.dart';
8-
import 'package:ht_api/src/services/jwt_auth_token_service.dart';
9-
import 'package:ht_api/src/services/mongodb_token_blacklist_service.dart';
10-
import 'package:ht_api/src/services/mongodb_verification_code_storage_service.dart';
11-
import 'package:ht_api/src/services/token_blacklist_service.dart';
12-
import 'package:ht_api/src/services/user_preference_limit_service.dart';
13-
import 'package:ht_api/src/services/verification_code_storage_service.dart';
14-
import 'package:ht_data_mongodb/ht_data_mongodb.dart';
15-
import 'package:ht_data_repository/ht_data_repository.dart';
16-
import 'package:ht_email_repository/ht_email_repository.dart';
17-
import 'package:ht_email_sendgrid/ht_email_sendgrid.dart';
18-
import 'package:ht_http_client/ht_http_client.dart';
19-
import 'package:ht_shared/ht_shared.dart';
1+
// ignore_for_file: public_member_api_docs
2+
3+
import 'package:core/core.dart';
4+
import 'package:data_mongodb/data_mongodb.dart';
5+
import 'package:data_repository/data_repository.dart';
6+
import 'package:email_repository/email_repository.dart';
7+
import 'package:email_sendgrid/email_sendgrid.dart';
8+
import 'package:flutter_news_app_api_server_full_source_code/src/config/environment_config.dart';
9+
import 'package:flutter_news_app_api_server_full_source_code/src/rbac/permission_service.dart';
10+
import 'package:flutter_news_app_api_server_full_source_code/src/services/auth_service.dart';
11+
import 'package:flutter_news_app_api_server_full_source_code/src/services/auth_token_service.dart';
12+
import 'package:flutter_news_app_api_server_full_source_code/src/services/dashboard_summary_service.dart';
13+
import 'package:flutter_news_app_api_server_full_source_code/src/services/database_seeding_service.dart';
14+
import 'package:flutter_news_app_api_server_full_source_code/src/services/default_user_preference_limit_service.dart';
15+
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/mongodb_token_blacklist_service.dart';
17+
import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_verification_code_storage_service.dart';
18+
import 'package:flutter_news_app_api_server_full_source_code/src/services/token_blacklist_service.dart';
19+
import 'package:flutter_news_app_api_server_full_source_code/src/services/user_preference_limit_service.dart';
20+
import 'package:flutter_news_app_api_server_full_source_code/src/services/verification_code_storage_service.dart';
21+
import 'package:http_client/http_client.dart';
2022
import 'package:logging/logging.dart';
2123

2224
/// {@template app_dependencies}
@@ -44,16 +46,16 @@ class AppDependencies {
4446
late final MongoDbConnectionManager _mongoDbConnectionManager;
4547

4648
// Repositories
47-
late final HtDataRepository<Headline> headlineRepository;
48-
late final HtDataRepository<Topic> topicRepository;
49-
late final HtDataRepository<Source> sourceRepository;
50-
late final HtDataRepository<Country> countryRepository;
51-
late final HtDataRepository<User> userRepository;
52-
late final HtDataRepository<UserAppSettings> userAppSettingsRepository;
53-
late final HtDataRepository<UserContentPreferences>
49+
late final DataRepository<Headline> headlineRepository;
50+
late final DataRepository<Topic> topicRepository;
51+
late final DataRepository<Source> sourceRepository;
52+
late final DataRepository<Country> countryRepository;
53+
late final DataRepository<User> userRepository;
54+
late final DataRepository<UserAppSettings> userAppSettingsRepository;
55+
late final DataRepository<UserContentPreferences>
5456
userContentPreferencesRepository;
55-
late final HtDataRepository<RemoteConfig> remoteConfigRepository;
56-
late final HtEmailRepository emailRepository;
57+
late final DataRepository<RemoteConfig> remoteConfigRepository;
58+
late final EmailRepository emailRepository;
5759

5860
// Services
5961
late final TokenBlacklistService tokenBlacklistService;
@@ -92,99 +94,98 @@ class AppDependencies {
9294
_log.info('Database seeding complete.');
9395

9496
// 3. Initialize Data Clients (MongoDB implementation)
95-
final headlineClient = HtDataMongodb<Headline>(
97+
final headlineClient = DataMongodb<Headline>(
9698
connectionManager: _mongoDbConnectionManager,
9799
modelName: 'headlines',
98100
fromJson: Headline.fromJson,
99101
toJson: (item) => item.toJson(),
100102
searchableFields: ['title'],
101-
logger: Logger('HtDataMongodb<Headline>'),
103+
logger: Logger('DataMongodb<Headline>'),
102104
);
103-
final topicClient = HtDataMongodb<Topic>(
105+
final topicClient = DataMongodb<Topic>(
104106
connectionManager: _mongoDbConnectionManager,
105107
modelName: 'topics',
106108
fromJson: Topic.fromJson,
107109
toJson: (item) => item.toJson(),
108110
searchableFields: ['name'],
109-
logger: Logger('HtDataMongodb<Topic>'),
111+
logger: Logger('DataMongodb<Topic>'),
110112
);
111-
final sourceClient = HtDataMongodb<Source>(
113+
final sourceClient = DataMongodb<Source>(
112114
connectionManager: _mongoDbConnectionManager,
113115
modelName: 'sources',
114116
fromJson: Source.fromJson,
115117
toJson: (item) => item.toJson(),
116118
searchableFields: ['name'],
117-
logger: Logger('HtDataMongodb<Source>'),
119+
logger: Logger('DataMongodb<Source>'),
118120
);
119-
final countryClient = HtDataMongodb<Country>(
121+
final countryClient = DataMongodb<Country>(
120122
connectionManager: _mongoDbConnectionManager,
121123
modelName: 'countries',
122124
fromJson: Country.fromJson,
123125
toJson: (item) => item.toJson(),
124-
logger: Logger('HtDataMongodb<Country>'),
126+
logger: Logger('DataMongodb<Country>'),
125127
);
126-
final userClient = HtDataMongodb<User>(
128+
final userClient = DataMongodb<User>(
127129
connectionManager: _mongoDbConnectionManager,
128130
modelName: 'users',
129131
fromJson: User.fromJson,
130132
toJson: (item) => item.toJson(),
131-
logger: Logger('HtDataMongodb<User>'),
133+
logger: Logger('DataMongodb<User>'),
132134
);
133-
final userAppSettingsClient = HtDataMongodb<UserAppSettings>(
135+
final userAppSettingsClient = DataMongodb<UserAppSettings>(
134136
connectionManager: _mongoDbConnectionManager,
135137
modelName: 'user_app_settings',
136138
fromJson: UserAppSettings.fromJson,
137139
toJson: (item) => item.toJson(),
138-
logger: Logger('HtDataMongodb<UserAppSettings>'),
139-
);
140-
final userContentPreferencesClient =
141-
HtDataMongodb<UserContentPreferences>(
142-
connectionManager: _mongoDbConnectionManager,
143-
modelName: 'user_content_preferences',
144-
fromJson: UserContentPreferences.fromJson,
145-
toJson: (item) => item.toJson(),
146-
logger: Logger('HtDataMongodb<UserContentPreferences>'),
147-
);
148-
final remoteConfigClient = HtDataMongodb<RemoteConfig>(
140+
logger: Logger('DataMongodb<UserAppSettings>'),
141+
);
142+
final userContentPreferencesClient = DataMongodb<UserContentPreferences>(
143+
connectionManager: _mongoDbConnectionManager,
144+
modelName: 'user_content_preferences',
145+
fromJson: UserContentPreferences.fromJson,
146+
toJson: (item) => item.toJson(),
147+
logger: Logger('DataMongodb<UserContentPreferences>'),
148+
);
149+
final remoteConfigClient = DataMongodb<RemoteConfig>(
149150
connectionManager: _mongoDbConnectionManager,
150151
modelName: 'remote_configs',
151152
fromJson: RemoteConfig.fromJson,
152153
toJson: (item) => item.toJson(),
153-
logger: Logger('HtDataMongodb<RemoteConfig>'),
154+
logger: Logger('DataMongodb<RemoteConfig>'),
154155
);
155156

156157
// 4. Initialize Repositories
157-
headlineRepository = HtDataRepository(dataClient: headlineClient);
158-
topicRepository = HtDataRepository(dataClient: topicClient);
159-
sourceRepository = HtDataRepository(dataClient: sourceClient);
160-
countryRepository = HtDataRepository(dataClient: countryClient);
161-
userRepository = HtDataRepository(dataClient: userClient);
162-
userAppSettingsRepository = HtDataRepository(
158+
headlineRepository = DataRepository(dataClient: headlineClient);
159+
topicRepository = DataRepository(dataClient: topicClient);
160+
sourceRepository = DataRepository(dataClient: sourceClient);
161+
countryRepository = DataRepository(dataClient: countryClient);
162+
userRepository = DataRepository(dataClient: userClient);
163+
userAppSettingsRepository = DataRepository(
163164
dataClient: userAppSettingsClient,
164165
);
165-
userContentPreferencesRepository = HtDataRepository(
166+
userContentPreferencesRepository = DataRepository(
166167
dataClient: userContentPreferencesClient,
167168
);
168-
remoteConfigRepository = HtDataRepository(dataClient: remoteConfigClient);
169+
remoteConfigRepository = DataRepository(dataClient: remoteConfigClient);
169170

170171
// Configure the HTTP client for SendGrid.
171-
// The HtHttpClient's AuthInterceptor will use the tokenProvider to add
172+
// The HttpClient's AuthInterceptor will use the tokenProvider to add
172173
// the 'Authorization: Bearer <SENDGRID_API_KEY>' header.
173174
final sendGridApiBase =
174175
EnvironmentConfig.sendGridApiUrl ?? 'https://api.sendgrid.com';
175-
final sendGridHttpClient = HtHttpClient(
176+
final sendGridHttpClient = HttpClient(
176177
baseUrl: '$sendGridApiBase/v3',
177178
tokenProvider: () async => EnvironmentConfig.sendGridApiKey,
178-
logger: Logger('HtEmailSendgridClient'),
179+
logger: Logger('EmailSendgridClient'),
179180
);
180181

181182
// Initialize the SendGrid email client with the dedicated HTTP client.
182-
final emailClient = HtEmailSendGrid(
183+
final emailClient = EmailSendGrid(
183184
httpClient: sendGridHttpClient,
184-
log: Logger('HtEmailSendgrid'),
185+
log: Logger('EmailSendgrid'),
185186
);
186187

187-
emailRepository = HtEmailRepository(emailClient: emailClient);
188+
emailRepository = EmailRepository(emailClient: emailClient);
188189

189190
// 5. Initialize Services
190191
tokenBlacklistService = MongoDbTokenBlacklistService(

0 commit comments

Comments
 (0)