11import 'package:core/core.dart' ;
22import 'package:data_repository/data_repository.dart' ;
3- // Required for ThemeMode, AppBaseTheme, etc.
3+ import 'package:logging/logging.dart' ; // Import Logger
44
55/// {@template demo_data_initializer_service}
66/// A service responsible for ensuring that essential user-specific data
@@ -14,19 +14,21 @@ import 'package:data_repository/data_repository.dart';
1414/// {@endtemplate}
1515class DemoDataInitializerService {
1616 /// {@macro demo_data_initializer_service}
17- const DemoDataInitializerService ({
17+ DemoDataInitializerService ({
1818 required DataRepository <UserAppSettings > userAppSettingsRepository,
1919 required DataRepository <UserContentPreferences >
2020 userContentPreferencesRepository,
2121 required DataRepository <User > userRepository,
2222 }) : _userAppSettingsRepository = userAppSettingsRepository,
2323 _userContentPreferencesRepository = userContentPreferencesRepository,
24- _userRepository = userRepository;
24+ _userRepository = userRepository,
25+ _logger = Logger ('DemoDataInitializerService' ); // Initialize logger
2526
2627 final DataRepository <UserAppSettings > _userAppSettingsRepository;
2728 final DataRepository <UserContentPreferences >
2829 _userContentPreferencesRepository;
2930 final DataRepository <User > _userRepository;
31+ final Logger _logger; // Add logger instance
3032
3133 /// Initializes essential user-specific data in the in-memory clients
3234 /// for the given [user] .
@@ -39,9 +41,8 @@ class DemoDataInitializerService {
3941 /// access these user-specific data points for a newly signed-in anonymous
4042 /// user in the demo environment.
4143 Future <void > initializeUserSpecificData (User user) async {
42- print (
43- '[DemoDataInitializerService] Initializing user-specific data for '
44- 'user ID: ${user .id }' ,
44+ _logger.info (
45+ 'Initializing user-specific data for user ID: ${user .id }' ,
4546 );
4647
4748 await Future .wait ([
@@ -50,9 +51,8 @@ class DemoDataInitializerService {
5051 _ensureUserClientUserExists (user),
5152 ]);
5253
53- print (
54- '[DemoDataInitializerService] User-specific data initialization '
55- 'completed for user ID: ${user .id }' ,
54+ _logger.info (
55+ 'User-specific data initialization completed for user ID: ${user .id }' ,
5656 );
5757 }
5858
@@ -61,12 +61,12 @@ class DemoDataInitializerService {
6161 Future <void > _ensureUserAppSettingsExist (String userId) async {
6262 try {
6363 await _userAppSettingsRepository.read (id: userId, userId: userId);
64- print (
65- '[DemoDataInitializerService] UserAppSettings found for user ID: $userId .' ,
64+ _logger. info (
65+ 'UserAppSettings found for user ID: $userId .' ,
6666 );
6767 } on NotFoundException {
68- print (
69- '[DemoDataInitializerService] UserAppSettings not found for user ID: '
68+ _logger. info (
69+ 'UserAppSettings not found for user ID: '
7070 '$userId . Creating default settings.' ,
7171 );
7272 final defaultSettings = UserAppSettings (
@@ -95,14 +95,16 @@ class DemoDataInitializerService {
9595 item: defaultSettings,
9696 userId: userId,
9797 );
98- print (
99- '[DemoDataInitializerService] Default UserAppSettings created for '
98+ _logger. info (
99+ 'Default UserAppSettings created for '
100100 'user ID: $userId .' ,
101101 );
102102 } catch (e, s) {
103- print (
104- '[DemoDataInitializerService] Error ensuring UserAppSettings exist '
105- 'for user ID: $userId : $e \n $s ' ,
103+ _logger.severe (
104+ 'Error ensuring UserAppSettings exist '
105+ 'for user ID: $userId : $e ' ,
106+ e,
107+ s,
106108 );
107109 rethrow ;
108110 }
@@ -113,12 +115,12 @@ class DemoDataInitializerService {
113115 Future <void > _ensureUserContentPreferencesExist (String userId) async {
114116 try {
115117 await _userContentPreferencesRepository.read (id: userId, userId: userId);
116- print (
117- '[DemoDataInitializerService] UserContentPreferences found for user ID: $userId .' ,
118+ _logger. info (
119+ 'UserContentPreferences found for user ID: $userId .' ,
118120 );
119121 } on NotFoundException {
120- print (
121- '[DemoDataInitializerService] UserContentPreferences not found for '
122+ _logger. info (
123+ 'UserContentPreferences not found for '
122124 'user ID: $userId . Creating default preferences.' ,
123125 );
124126 final defaultPreferences = UserContentPreferences (
@@ -132,14 +134,16 @@ class DemoDataInitializerService {
132134 item: defaultPreferences,
133135 userId: userId,
134136 );
135- print (
136- '[DemoDataInitializerService] Default UserContentPreferences created '
137+ _logger. info (
138+ 'Default UserContentPreferences created '
137139 'for user ID: $userId .' ,
138140 );
139141 } catch (e, s) {
140- print (
141- '[DemoDataInitializerService] Error ensuring UserContentPreferences '
142- 'exist for user ID: $userId : $e \n $s ' ,
142+ _logger.severe (
143+ 'Error ensuring UserContentPreferences '
144+ 'exist for user ID: $userId : $e ' ,
145+ e,
146+ s,
143147 );
144148 rethrow ;
145149 }
@@ -156,24 +160,26 @@ class DemoDataInitializerService {
156160 await _userRepository.read (id: user.id, userId: user.id);
157161 // If user exists, ensure it's up-to-date (e.g., if roles changed)
158162 await _userRepository.update (id: user.id, item: user, userId: user.id);
159- print (
160- '[DemoDataInitializerService] User object found and updated in '
163+ _logger. info (
164+ 'User object found and updated in '
161165 'user client for ID: ${user .id }.' ,
162166 );
163167 } on NotFoundException {
164- print (
165- '[DemoDataInitializerService] User object not found in user client '
168+ _logger. info (
169+ 'User object not found in user client '
166170 'for ID: ${user .id }. Creating it.' ,
167171 );
168172 await _userRepository.create (item: user, userId: user.id);
169- print (
170- '[DemoDataInitializerService] User object created in user client '
173+ _logger. info (
174+ 'User object created in user client '
171175 'for ID: ${user .id }.' ,
172176 );
173177 } catch (e, s) {
174- print (
175- '[DemoDataInitializerService] Error ensuring User object exists in '
176- 'user client for ID: ${user .id }: $e \n $s ' ,
178+ _logger.severe (
179+ 'Error ensuring User object exists in '
180+ 'user client for ID: ${user .id }: $e ' ,
181+ e,
182+ s,
177183 );
178184 rethrow ;
179185 }
0 commit comments