import 'package:dio/dio.dart'; import 'package:eatvio_app/core/locator_service.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; abstract class TokenStorage { static _addTokenToDioHeader(String token) { sl().options.headers['Authorization'] = 'Bearer $token'; } static haveTokenInStorage() async { try { if (await FlutterSecureStorage().read(key: 'token') == null) { return false; } else { _addTokenToDioHeader((await FlutterSecureStorage().read(key: 'token'))!); return true; } } catch (e) { return false; } } static Future getTokenFromStorage() async => (await FlutterSecureStorage().read(key: 'token'))!; static saveTokenInStorage(String token) async { await FlutterSecureStorage().write(key: 'token', value: token); _addTokenToDioHeader(token); } static removeTokenInStorage() async => (await FlutterSecureStorage().delete(key: 'token')); }