Files
authsec_flutter_hybrid/lib/database/login_info_storage.dart
T

62 lines
1.6 KiB
Dart
Raw Normal View History

2026-09-12 11:22:07 +05:30
import 'dart:convert';
import 'dart:io';
import 'package:path_provider/path_provider.dart';
class LoginInfoStorage {
Future<String> get _localPath async {
final directory = await getApplicationDocumentsDirectory();
return directory.path;
}
Future<File> get _userLoginDataFile async {
final path = await _localPath;
return File('$path/hadwin_user_login_info_storage.json');
}
Future<bool> setPersistentLoginData(String userId, String authToken) async {
try {
final file = await _userLoginDataFile;
var ss = file.writeAsString(
jsonEncode({'userId': userId, 'authToken': authToken}));
print('ssss is ..........');
print(ss);
//* THE USER_ID AND AUTHENTICATION_TOKEN HAS BEEN SAVED
return file
.writeAsString(jsonEncode({'userId': userId, 'authToken': authToken}))
.then((value) {
//* THE USER_ID HAS BEEN SAVED
return true;
});
} catch (e) {
//* THE USER_ID AND AUTHENTICATION_TOKEN COULD NOT BE SAVED
return false;
}
}
Future<Map<String, dynamic>> get getPersistentLoginData async {
try {
final file = await _userLoginDataFile;
final contents = await file.readAsString();
return jsonDecode(contents);
} catch (e) {
return {'userId': null, 'authToken': null};
}
}
Future<bool> deleteFile() async {
try {
final file = await _userLoginDataFile;
await file.delete();
//* THE LOGIN DATA FILE HAS BEEN DELETED
return true;
} catch (e) {
//* THE LOGIN DATA FILE HAS NOT BEEN DELETED
return false;
}
}
}