
Performs a comprehensive project rename from 'barcode_scanner' to 'e_scan' (or 'eScan' for user-facing labels). This update spans all relevant files, including: - Application IDs and bundle identifiers for Android, iOS, macOS, and Linux. - VS Code launch configurations. - Dart package import paths. - Project names and titles in `pubspec.yaml`, `README.md`, and platform-specific configurations (e.g., CMakeLists, Info.plist, AndroidManifest).
88 lines
2.6 KiB
Dart
88 lines
2.6 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:e_scan/backend/schema/user/user_struct.dart';
|
|
import 'package:e_scan/services/secure_storage.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
|
|
|
final tokenProvider = Provider((ref) {
|
|
final storage = ref.watch(sharedPrefsProvider);
|
|
return TokenProvider(storage);
|
|
});
|
|
|
|
class TokenProvider {
|
|
TokenProvider(this._storage);
|
|
final FlutterSecureStorage _storage;
|
|
static const String tokenKey = "tokenKey";
|
|
static const String sessionIdKey = "sessionIdKey";
|
|
static const String refreshTokenKey = "refreshTokenKey";
|
|
|
|
Future<void> setToken(String token) async {
|
|
return _storage.write(key: tokenKey, value: token);
|
|
}
|
|
|
|
Future<void> setSessionId(String sessionId) async {
|
|
return _storage.write(key: sessionIdKey, value: sessionId);
|
|
}
|
|
|
|
Future<void> setRefreshToken(String token) async {
|
|
return _storage.write(key: refreshTokenKey, value: token);
|
|
}
|
|
|
|
// Method to get the token from secure storage and check if it's expired
|
|
Future<String?> getToken() async {
|
|
final token = await _storage.read(key: tokenKey);
|
|
debugPrint("Token expired: $token");
|
|
return token;
|
|
}
|
|
|
|
Future<String?> getSessionId() async {
|
|
final value = await _storage.read(key: sessionIdKey);
|
|
return value;
|
|
}
|
|
|
|
Future<String?> getRefreshToken() async {
|
|
final refreshToken = await _storage.read(key: refreshTokenKey);
|
|
debugPrint("Refresh token: $refreshToken");
|
|
return refreshToken;
|
|
}
|
|
|
|
// Method to delete the token from secure storage
|
|
Future<void> deleteToken() async {
|
|
await _storage.delete(key: tokenKey);
|
|
await _storage.delete(key: refreshTokenKey);
|
|
await _storage.delete(key: sessionIdKey);
|
|
}
|
|
}
|
|
|
|
final userConnectedProvider = Provider((ref) {
|
|
final storage = ref.watch(sharedPrefsProvider);
|
|
return UserConnectedProvider(storage);
|
|
});
|
|
|
|
class UserConnectedProvider {
|
|
UserConnectedProvider(this._storage);
|
|
final FlutterSecureStorage _storage;
|
|
static const String key = "userConnectedKey";
|
|
|
|
Future<void> set(UserStruct user) async {
|
|
return _storage.write(key: key, value: jsonEncode(user.toJson()));
|
|
}
|
|
|
|
// Method to get the token from secure storage and check if it's expired
|
|
Future<UserStruct?> get() async {
|
|
final res = await _storage.read(key: key);
|
|
if (res == null) {
|
|
return null;
|
|
} else {
|
|
return UserStruct.fromJson(jsonDecode(res));
|
|
}
|
|
}
|
|
|
|
// Method to delete the token from secure storage
|
|
Future<void> delete() async {
|
|
await _storage.delete(key: key);
|
|
}
|
|
}
|