Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AuthManager extends ChangeNotifier{
- AuthManager(){
- _userInfo = UserInfo.initial();
- }
- UserInfo _userInfo;
- UserInfo get userInfo => _userInfo;
- void setUserInfo(UserInfo userInfo){
- _userInfo = userInfo;
- notifyListeners();
- }
- }
- class ApiClient {
- final AuthManager authManager;
- Dio _httpClient;
- Dio get httpClient => _httpClient;
- GraphQLClient _graphQLClient;
- GraphQLClient get graphQLClient => _graphQLClient;
- ApiClient({
- @required Dio Function(String token) httpClientBuilder,
- @required GraphQLClient Function(String token) graphQlClientBuilder,
- @required this.authManager
- }) {
- void _buildClients(){
- _httpClient = httpClientBuilder(authManager.userInfo.accessToken);
- _graphQLClient = graphQlClientBuilder(authManager.userInfo.accessToken);
- }
- _buildClients();
- authManager.addListener(() {
- _buildClients();
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement