apskel-pos-flutter/lib/data/datasources/auth_local_datasource.dart

60 lines
1.8 KiB
Dart
Raw Normal View History

2025-08-03 13:15:09 +07:00
import 'dart:developer';
2025-07-30 22:38:44 +07:00
import 'package:enaklo_pos/data/models/response/auth_response_model.dart';
import 'package:shared_preferences/shared_preferences.dart';
class AuthLocalDataSource {
Future<void> saveAuthData(AuthResponseModel authResponseModel) async {
2025-08-03 13:15:09 +07:00
try {
final prefs = await SharedPreferences.getInstance();
await prefs.setString('auth_data', authResponseModel.toJson());
} catch (e) {
log('Error saving auth data: $e');
}
2025-07-30 22:38:44 +07:00
}
Future<void> removeAuthData() async {
final prefs = await SharedPreferences.getInstance();
await prefs.remove('auth_data');
}
Future<AuthResponseModel> getAuthData() async {
final prefs = await SharedPreferences.getInstance();
final authData = prefs.getString('auth_data');
2025-08-03 13:15:09 +07:00
log('Auth data: $authData');
2025-07-30 22:38:44 +07:00
return AuthResponseModel.fromJson(authData!);
}
Future<bool> isAuthDataExists() async {
final prefs = await SharedPreferences.getInstance();
return prefs.containsKey('auth_data');
}
Future<void> saveMidtransServerKey(String serverKey) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setString('server_key', serverKey);
}
//get midtrans server key
Future<String> getMitransServerKey() async {
final prefs = await SharedPreferences.getInstance();
final serverKey = prefs.getString('server_key');
return serverKey ?? '';
}
// save size receipt
Future<void> saveSizeReceipt(String sizeReceipt) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setString('size_receipt', sizeReceipt);
}
// get size receipt
Future<String> getSizeReceipt() async {
final prefs = await SharedPreferences.getInstance();
final sizeReceipt = prefs.getString('size_receipt');
return sizeReceipt ?? '';
}
}