fix(api_service): enhance logout handling on token issues

This commit is contained in:
Vaibhav Surve 2025-07-18 10:15:25 +05:30
parent 4908db35ad
commit 02daa1e689

View File

@ -20,7 +20,8 @@ class ApiService {
final token = await LocalStorage.getJwtToken();
if (token == null) {
logSafe("No JWT token found.");
logSafe("No JWT token found. Logging out...");
await LocalStorage.logout();
return null;
}
@ -31,7 +32,7 @@ class ApiService {
if (refreshed) {
return await LocalStorage.getJwtToken();
} else {
logSafe("Token refresh failed. Logging out...");
logSafe("Token refresh failed. Logging out immediately...");
await LocalStorage.logout();
return null;
}
@ -47,10 +48,16 @@ class ApiService {
final refreshed = await AuthService.refreshToken();
if (refreshed) {
return await LocalStorage.getJwtToken();
} else {
logSafe("Token refresh failed (near expiry). Logging out...");
await LocalStorage.logout();
return null;
}
}
} catch (e) {
logSafe("Token decoding error: $e", level: LogLevel.error);
await LocalStorage.logout();
return null;
}
return token;
@ -107,8 +114,9 @@ class ApiService {
}) async {
String? token = await _getToken();
if (token == null) {
logSafe("Token is null. Cannot proceed with GET request.",
logSafe("Token is null. Forcing logout from GET request.",
level: LogLevel.error);
await LocalStorage.logout();
return null;
}
@ -141,8 +149,9 @@ class ApiService {
);
}
logSafe("Token refresh failed. Aborting request.",
logSafe("Token refresh failed. Logging out user.",
level: LogLevel.error);
await LocalStorage.logout();
}
return response;
@ -246,7 +255,7 @@ class ApiService {
}
/// Directory calling the API
static Future<bool> deleteBucket(String id) async {
final endpoint = "${ApiEndpoints.updateBucket}/$id";