Consider tracker logged out if token is expired

Server returns logged in state for a tracker even while the token has expired
This commit is contained in:
schroda
2024-05-22 23:24:05 +02:00
parent 871908eba9
commit ea6eac5066
2 changed files with 12 additions and 8 deletions

View File

@@ -26,7 +26,7 @@ export type TrackerManga = TrackerSearchQuery['searchTracker']['trackSearches'][
export type TBaseTracker = GetTrackersQuery['trackers']['nodes'][number];
type LoggedInInfo = Pick<TrackerType, 'isLoggedIn'>;
type LoggedInInfo = Pick<TrackerType, 'isLoggedIn' | 'isTokenExpired'>;
type TrackRecordTrackerInfo = { tracker: Partial<TrackRecordType['tracker']> };
@@ -43,8 +43,12 @@ export class Trackers {
return this.isUnsetDate(date) ? undefined : date;
}
static isLoggedIn<Tracker extends LoggedInInfo>(tracker: Tracker): boolean {
return tracker.isLoggedIn && !tracker.isTokenExpired;
}
static getLoggedIn<Tracker extends LoggedInInfo>(trackers: Tracker[]): Tracker[] {
return trackers.filter((tracker) => tracker.isLoggedIn);
return trackers.filter(this.isLoggedIn);
}
static getTrackers<TrackRecord extends TrackRecordTrackerInfo>(