Replace observable with readonly in auth store

This commit is contained in:
Tommy Chow 2021-10-11 23:01:40 -04:00
parent ae9437da9b
commit f72081b536
2 changed files with 31 additions and 28 deletions

View file

@ -14,25 +14,22 @@ abstract class _AuthBase with Store {
/// Secure storage to store tokens.
final _storage = const FlutterSecureStorage();
/// The current user's info.
@readonly
UserTwitch? _user;
/// The current token.
@observable
@readonly
String? _token;
String? get token => _token;
/// Whether the user is logged in or not.
@observable
@readonly
var _isLoggedIn = false;
bool get isLoggedIn => _isLoggedIn;
/// Whether the token is valid or not.
@observable
var _tokenIsValid = false;
/// The current user's info.
@observable
UserTwitch? _user;
UserTwitch? get user => _user;
/// Authentication headers for Twitch API requests.
@computed
Map<String, String> get headersTwitch => {'Authorization': 'Bearer $_token', 'Client-Id': clientId};

View file

@ -17,14 +17,33 @@ mixin _$AuthStore on _AuthBase, Store {
name: '_AuthBase.headersTwitch'))
.value;
final _$_tokenAtom = Atom(name: '_AuthBase._token');
final _$_userAtom = Atom(name: '_AuthBase._user');
UserTwitch? get user {
_$_userAtom.reportRead();
return super._user;
}
@override
String? get _token {
UserTwitch? get _user => user;
@override
set _user(UserTwitch? value) {
_$_userAtom.reportWrite(value, super._user, () {
super._user = value;
});
}
final _$_tokenAtom = Atom(name: '_AuthBase._token');
String? get token {
_$_tokenAtom.reportRead();
return super._token;
}
@override
String? get _token => token;
@override
set _token(String? value) {
_$_tokenAtom.reportWrite(value, super._token, () {
@ -34,12 +53,14 @@ mixin _$AuthStore on _AuthBase, Store {
final _$_isLoggedInAtom = Atom(name: '_AuthBase._isLoggedIn');
@override
bool get _isLoggedIn {
bool get isLoggedIn {
_$_isLoggedInAtom.reportRead();
return super._isLoggedIn;
}
@override
bool get _isLoggedIn => isLoggedIn;
@override
set _isLoggedIn(bool value) {
_$_isLoggedInAtom.reportWrite(value, super._isLoggedIn, () {
@ -62,21 +83,6 @@ mixin _$AuthStore on _AuthBase, Store {
});
}
final _$_userAtom = Atom(name: '_AuthBase._user');
@override
UserTwitch? get _user {
_$_userAtom.reportRead();
return super._user;
}
@override
set _user(UserTwitch? value) {
_$_userAtom.reportWrite(value, super._user, () {
super._user = value;
});
}
final _$initAsyncAction = AsyncAction('_AuthBase.init');
@override