This commit is contained in:
BalazsManus 2025-02-15 13:37:05 +01:00
parent 8925b3a5f8
commit 1460f2aa4e
2 changed files with 24 additions and 17 deletions

View File

@ -84,20 +84,20 @@ Future<void> syncAll(BuildContext context) async {
return;
}
if (user.user!.accessTokenExpire.isBefore(DateTime.now())) {
String authRes = await Provider.of<KretaClient>(context, listen: false)
.refreshLogin() ??
'';
if (authRes != 'success') {
if (kDebugMode) print('ERROR: failed to refresh login');
lock = false;
return Future.value();
} else {
if (kDebugMode) print('INFO: access token refreshed');
}
} else {
if (kDebugMode) print('INFO: access token is not expired');
}
//if (user.user!.accessTokenExpire.isBefore(DateTime.now())) {
// String authRes = await Provider.of<KretaClient>(context, listen: false)
// .refreshLogin() ??
// '';
// if (authRes != 'success') {
// if (kDebugMode) print('ERROR: failed to refresh login');
// lock = false;
// return Future.value();
// } else {
// if (kDebugMode) print('INFO: access token refreshed');
// }
//} else {
// if (kDebugMode) print('INFO: access token is not expired');
//}
}()),
syncStatus(Provider.of<GradeProvider>(context, listen: false).fetch()),

View File

@ -91,7 +91,7 @@ class KretaClient {
headerMap.remove("authorization");
print("DEBUG: 401 error, refreshing login");
print("DEBUG: 401 error, URL: $url");
// await refreshLogin();
await refreshLogin();
} else {
break;
}
@ -160,7 +160,7 @@ class KretaClient {
res = await client.post(Uri.parse(url), headers: headerMap, body: body);
if (res.statusCode == 401) {
// await refreshLogin();
await refreshLogin();
headerMap.remove("authorization");
} else {
break;
@ -234,7 +234,7 @@ class KretaClient {
if (res.statusCode == 401) {
headerMap.remove("authorization");
// await refreshLogin();
await refreshLogin();
} else {
break;
}
@ -277,6 +277,13 @@ class KretaClient {
print("REFRESH TOKEN BELOW");
print(refreshToken);
print(loginUser.accessTokenExpire);
print(DateTime.now().toIso8601String());
if (!DateTime.now().isAfter(loginUser.accessTokenExpire)) {
return 'success';
}
if (refreshToken != null) {
// print("REFRESHING LOGIN");
Map? res = await postAPI(KretaAPI.login,