account_view_model.dart
1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import 'package:Parlando/account/models/user_entity.dart';
import 'package:Parlando/apis/api_response.dart';
import 'package:Parlando/net/dio_utils.dart';
import 'package:Parlando/net/http_api.dart';
import 'package:flutter/material.dart';
class AccountViewProvider with ChangeNotifier {
ApiResponse _apiResponse = ApiResponse.initial('Empty data');
UserData? _user;
ApiResponse get response {
return _apiResponse;
}
UserData? get media {
return _user;
}
Future<void> fetchAccountData(String value) async {
_apiResponse = ApiResponse.loading('Fetching artist data');
DioUtils.instance.asyncRequestNetwork<UserEntity>(
Method.get,
HttpApi.user,
onSuccess: (data) {
_apiResponse = ApiResponse.completed(data!.data);
notifyListeners();
},
onError: (code, msg) {
_apiResponse = ApiResponse.error(msg);
notifyListeners();
},
);
}
void setSelectedAccount(UserData? user) {
_user = user;
// notifyListeners();
}
}