36 lines
1.1 KiB
Dart
36 lines
1.1 KiB
Dart
import 'package:dio/dio.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
import 'api_client.dart';
|
|
|
|
class AuthService {
|
|
static Future<Map<String, dynamic>> login(String username, String password) async {
|
|
final response = await ApiClient.instance.post('/auth/signin', data: {
|
|
'username': username,
|
|
'password': password,
|
|
});
|
|
return response.data as Map<String, dynamic>;
|
|
}
|
|
|
|
static Future<void> saveToken(String token, String role) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString('jwt_token', token);
|
|
await prefs.setString('user_role', role);
|
|
}
|
|
|
|
static Future<String?> getToken() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
return prefs.getString('jwt_token');
|
|
}
|
|
|
|
static Future<String?> getRole() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
return prefs.getString('user_role');
|
|
}
|
|
|
|
static Future<void> logout() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.remove('jwt_token');
|
|
await prefs.remove('user_role');
|
|
}
|
|
}
|