mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-10 19:48:56 +03:30
59 lines
1.7 KiB
Dart
Executable File
59 lines
1.7 KiB
Dart
Executable File
import 'dart:convert';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:http/http.dart' as http;
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
import '../config/urls.dart';
|
|
|
|
class MyInfoProvider with ChangeNotifier {
|
|
Map<String, dynamic> _user = {};
|
|
Map<String, dynamic> get user {
|
|
return {..._user};
|
|
}
|
|
|
|
String? _token;
|
|
|
|
Future<void> setToken() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
if (!prefs.containsKey('auth')) {
|
|
return;
|
|
}
|
|
final auth = json.decode(prefs.getString('auth')!) as Map<String, dynamic>;
|
|
_token = auth['token'];
|
|
notifyListeners();
|
|
}
|
|
|
|
Future<Map<String, dynamic>> getUserData() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
final auth = json.decode(prefs.getString('auth')!) as Map<String, dynamic>;
|
|
_token = auth['token'];
|
|
final response = await http.get(
|
|
Uri.parse(Url.getUserInfo),
|
|
headers: {
|
|
'Authorization': 'Bearer $_token',
|
|
},
|
|
);
|
|
print(response.body);
|
|
if (response.statusCode == 200) {
|
|
var data = json.decode(response.body)['data'];
|
|
_user.addAll(
|
|
{
|
|
'id': data['user']['id'],
|
|
'name': data['user']['name'],
|
|
'email': data['user']['email'],
|
|
'cell_number': data['user']['cell_number'],
|
|
'address': data['user']['address'],
|
|
'gender': data['user']['gender'],
|
|
'medical_center': data['user']['medical_center']['name'],
|
|
'roles': data['roles'],
|
|
},
|
|
);
|
|
final prefs = await SharedPreferences.getInstance();
|
|
prefs.setString('userData', json.encode(_user));
|
|
return _user;
|
|
} else {
|
|
return {};
|
|
}
|
|
}
|
|
}
|