rayhan-erp/frontend/lib/services/auth_service.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');
}
}