5e99306e5f
* Make tracker Api classes take their tracker's ID Also made the name consistently `trackerId` since `trackId` can be confusing in the context of Tracks that also carry several IDs. Also made the public constants in TrackerManager entirely redundant, so trackers are all equally getting their ID defined in their constructor call now. * Explicitly mark unused Exceptions as such * Make isExpired method of BGMOAuth data class As opposed to an extension defined in the same file * Kavita: thumbnail_url -> thumbnailUrl With a SerialName annotation of course * Suwayomi: Remove redundant with(json) Both of these requests don't use parseAs so this not required. * Bangumi: Don't recreate OAuth object for storing * Remove unused attribute from tracker OAuth classes Mostly `token_type`. Also removed `user_id` from BGMOAuth and `scope` & `expiresIn` from MangaBakaOAuth (which already provides `expiresAt`). * Use kotlin.time durations for token expiry math Something like `Clock.System.now().plus(1.hours)` is much easier to read than `System.getEpochMillis() + 3600`. Also lets us use the `epochSeconds` attribute where the given timestamps are seconds-resolution. * Bangumi: Remove redundant apply block * Kavita: Misc simplifications * Use parseAs in tracker interceptors * MAL: Use existing setAuth to store refresh token