forked from eatvio/eatvio_app
33 lines
861 B
Dart
33 lines
861 B
Dart
import 'package:dio/dio.dart';
|
|
import 'package:eatvio_app/locator_service.dart';
|
|
import 'package:hive_flutter/hive_flutter.dart';
|
|
|
|
abstract class TokenStorage {
|
|
static addTokenToDioHeader(String token) {
|
|
sl<Dio>().options.headers['Authorization'] = 'Bearer $token';
|
|
}
|
|
|
|
static haveTokenInStorage() async {
|
|
final box = await Hive.openBox('token');
|
|
final token = box.get('token');
|
|
if (token == null) {
|
|
return false;
|
|
} else {
|
|
addTokenToDioHeader(token);
|
|
return true;
|
|
}
|
|
}
|
|
|
|
static getTokenFromStorage() async => await Hive.openBox('token')
|
|
..get('token');
|
|
|
|
static saveTokenInStorage(String token) async {
|
|
await Hive.openBox('token')
|
|
..put('token', token);
|
|
addTokenToDioHeader(token);
|
|
}
|
|
|
|
static removeTokenInStorage(String token) async => await Hive.openBox('token')
|
|
..delete('token');
|
|
}
|