Update codebase
This commit is contained in:
@@ -51,6 +51,7 @@ import 'notifications/push_service.dart';
|
||||
import 'realtime/realtime_service.dart';
|
||||
|
||||
import 'session/session_cubit.dart';
|
||||
import 'session/session_source.dart';
|
||||
|
||||
import 'storage/token_store.dart';
|
||||
|
||||
@@ -84,10 +85,12 @@ Future<void> setupInjector() async {
|
||||
),
|
||||
);
|
||||
|
||||
sl.registerSingleton<AuthRepository>(AuthRepository(sl(), sl()));
|
||||
final authRepo = AuthRepository(sl(), sl());
|
||||
sl.registerSingleton<AuthRepository>(authRepo);
|
||||
sl.registerSingleton<SessionSource>(authRepo);
|
||||
sl.registerSingleton<ProfileRepository>(ProfileRepository(sl()));
|
||||
sl.registerSingleton<SessionCubit>(
|
||||
SessionCubit(sl(), onAuthenticated: () => sl<PushService>().register()),
|
||||
SessionCubit(authRepo, onAuthenticated: () => sl<PushService>().register()),
|
||||
);
|
||||
|
||||
// تدفّق الدخول قصير العمر: نسخة جديدة لكل دخول، لا نسخة واحدة أبدية.
|
||||
|
||||
@@ -34,10 +34,10 @@ class TokenStore {
|
||||
}) async {
|
||||
_access = accessToken;
|
||||
_refresh = refreshToken;
|
||||
await _storage.write(key: _kAccess, value: accessToken);
|
||||
await _storage.write(key: _kRefresh, value: refreshToken);
|
||||
await _write(_kAccess, accessToken);
|
||||
await _write(_kRefresh, refreshToken);
|
||||
if (signingKey != null) {
|
||||
await _storage.write(key: _kSigning, value: signingKey);
|
||||
await _write(_kSigning, signingKey);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,8 +54,16 @@ class TokenStore {
|
||||
Future<String?> signingKey() => _storage.read(key: _kSigning);
|
||||
|
||||
Future<String?> deviceId() => _storage.read(key: _kDeviceId);
|
||||
Future<void> setDeviceId(String id) =>
|
||||
_storage.write(key: _kDeviceId, value: id);
|
||||
Future<void> setDeviceId(String id) => _write(_kDeviceId, id);
|
||||
|
||||
Future<void> _write(String key, String value) async {
|
||||
try {
|
||||
await _storage.write(key: key, value: value);
|
||||
} catch (_) {
|
||||
await _storage.delete(key: key);
|
||||
await _storage.write(key: key, value: value);
|
||||
}
|
||||
}
|
||||
|
||||
/// هل انتهت صلاحية التوكن (أو ستنتهي خلال [leeway])؟
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user