import 'package:flutter_secure_storage/flutter_secure_storage.dart';

class SecureStorageService {
  // English: Create an instance of secure storage to write keys safely.
  // Arabic: إنشاء نسخة من التخزين الآمن لكتابة المفاتيح بشكل آمن.
  final FlutterSecureStorage _storage = const FlutterSecureStorage();

  // English: The key used to store the JWT token.
  // Arabic: المفتاح المستخدم لتخزين رمز التحقق.
  static const String _tokenKey = 'jwt_token';

  // English: Write the JWT token to secure storage.
  // Arabic: كتابة رمز التحقق في التخزين الآمن.
  Future<void> writeToken(String token) async {
    await _storage.write(key: _tokenKey, value: token);
  }

  // English: Read the JWT token from secure storage.
  // Arabic: قراءة رمز التحقق من التخزين الآمن.
  Future<String?> readToken() async {
    return await _storage.read(key: _tokenKey);
  }

  // English: Delete the JWT token from secure storage when user logs out.
  // Arabic: حذف رمز التحقق من التخزين الآمن عند تسجيل خروج المستخدم.
  Future<void> deleteToken() async {
    await _storage.delete(key: _tokenKey);
  }
}
