Skip to content

Commit dd1b016

Browse files
committed
fix(auth): create default user settings
- Create app settings on user creation - Create content prefs on user creation
1 parent 52e45fa commit dd1b016

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

lib/src/services/auth_service.dart

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,25 @@ class AuthService {
1818
required AuthTokenService authTokenService,
1919
required VerificationCodeStorageService verificationCodeStorageService,
2020
required HtEmailRepository emailRepository,
21+
required HtDataRepository<UserAppSettings> userAppSettingsRepository,
22+
required HtDataRepository<UserContentPreferences>
23+
userContentPreferencesRepository,
2124
required Uuid uuidGenerator,
2225
}) : _userRepository = userRepository,
2326
_authTokenService = authTokenService,
2427
_verificationCodeStorageService = verificationCodeStorageService,
2528
_emailRepository = emailRepository,
29+
_userAppSettingsRepository = userAppSettingsRepository,
30+
_userContentPreferencesRepository = userContentPreferencesRepository,
2631
_uuid = uuidGenerator;
2732

2833
final HtDataRepository<User> _userRepository;
2934
final AuthTokenService _authTokenService;
3035
final VerificationCodeStorageService _verificationCodeStorageService;
3136
final HtEmailRepository _emailRepository;
37+
final HtDataRepository<UserAppSettings> _userAppSettingsRepository;
38+
final HtDataRepository<UserContentPreferences>
39+
_userContentPreferencesRepository;
3240
final Uuid _uuid;
3341

3442
/// Initiates the email sign-in process.
@@ -119,6 +127,16 @@ class AuthService {
119127
);
120128
user = await _userRepository.create(item: user); // Save the new user
121129
print('Created new user: ${user.id}');
130+
131+
// Create default UserAppSettings for the new user
132+
final defaultAppSettings = UserAppSettings(id: user.id);
133+
await _userAppSettingsRepository.create(item: defaultAppSettings);
134+
print('Created default UserAppSettings for user: ${user.id}');
135+
136+
// Create default UserContentPreferences for the new user
137+
final defaultUserPreferences = UserContentPreferences(id: user.id);
138+
await _userContentPreferencesRepository.create(item: defaultUserPreferences);
139+
print('Created default UserContentPreferences for user: ${user.id}');
122140
}
123141
} on HtHttpException catch (e) {
124142
print('Error finding/creating user for $email: $e');
@@ -169,6 +187,16 @@ class AuthService {
169187
);
170188
}
171189

190+
// Create default UserAppSettings for the new anonymous user
191+
final defaultAppSettings = UserAppSettings(id: user.id);
192+
await _userAppSettingsRepository.create(item: defaultAppSettings);
193+
print('Created default UserAppSettings for anonymous user: ${user.id}');
194+
195+
// Create default UserContentPreferences for the new anonymous user
196+
final defaultUserPreferences = UserContentPreferences(id: user.id);
197+
await _userContentPreferencesRepository.create(item: defaultUserPreferences);
198+
print('Created default UserContentPreferences for anonymous user: ${user.id}');
199+
172200
// 2. Generate token
173201
try {
174202
final token = await _authTokenService.generateToken(user);

routes/_middleware.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@ Handler middleware(Handler handler) {
245245
authTokenService: authTokenService,
246246
verificationCodeStorageService: verificationCodeStorageService,
247247
emailRepository: emailRepository,
248+
userAppSettingsRepository: userSettingsRepository,
249+
userContentPreferencesRepository: userContentPreferencesRepository,
248250
uuidGenerator: uuid,
249251
);
250252
print('[MiddlewareSetup] AuthService instantiated.'); // Added log

0 commit comments

Comments
 (0)