From e22adc0fc918c924545b8d89600049cc9ff31d20 Mon Sep 17 00:00:00 2001 From: lord-ne <34069872+lord-ne@users.noreply.github.com> Date: Thu, 26 May 2022 13:20:29 -0400 Subject: [PATCH] Delete Comikey Extension (#11971) --- src/en/comikey/AndroidManifest.xml | 37 --- src/en/comikey/build.gradle | 12 - .../comikey/res/mipmap-hdpi/ic_launcher.png | Bin 3692 -> 0 bytes .../comikey/res/mipmap-mdpi/ic_launcher.png | Bin 1929 -> 0 bytes .../comikey/res/mipmap-xhdpi/ic_launcher.png | Bin 4937 -> 0 bytes .../comikey/res/mipmap-xxhdpi/ic_launcher.png | Bin 8882 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 10576 -> 0 bytes src/en/comikey/res/web_hi_res_512.png | Bin 45089 -> 0 bytes .../tachiyomi/extension/en/comikey/Comikey.kt | 295 ------------------ .../en/comikey/ComikeyURLActivity.kt | 34 -- .../en/comikey/dto/MangaDetailsDto.kt | 146 --------- 11 files changed, 524 deletions(-) delete mode 100644 src/en/comikey/AndroidManifest.xml delete mode 100644 src/en/comikey/build.gradle delete mode 100644 src/en/comikey/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/en/comikey/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/en/comikey/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/en/comikey/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/en/comikey/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/en/comikey/res/web_hi_res_512.png delete mode 100644 src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/Comikey.kt delete mode 100644 src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/ComikeyURLActivity.kt delete mode 100644 src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/dto/MangaDetailsDto.kt diff --git a/src/en/comikey/AndroidManifest.xml b/src/en/comikey/AndroidManifest.xml deleted file mode 100644 index 0dded649c..000000000 --- a/src/en/comikey/AndroidManifest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/src/en/comikey/build.gradle b/src/en/comikey/build.gradle deleted file mode 100644 index 21844a23f..000000000 --- a/src/en/comikey/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlinx-serialization' - -ext { - extName = 'Comikey' - pkgNameSuffix = 'en.comikey' - extClass = '.Comikey' - extVersionCode = 2 -} - -apply from: "$rootDir/common.gradle" diff --git a/src/en/comikey/res/mipmap-hdpi/ic_launcher.png b/src/en/comikey/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 020c2a4088386e3d18b7e0e8217e470fbf94b9ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3692 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 diff --git a/src/en/comikey/res/mipmap-mdpi/ic_launcher.png b/src/en/comikey/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 6463da43cd22ee844c9a82bc37168248c945df5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1929 zcmV;42X^?0P)Px+LrFwIRA@u(S$RxUM;QOT-6z5>$R!@2A~fOhXrrN|Bvq;{qSS~-jn*vjN^4_c zMa8sO&v?W(+G5&>ZmkCJj!LKk29JV9jn$eaD6)zIMZ^~HV0VGtWw)7uM;?zo=E)|+ z#QA6U&Fs$ne&6r=zWL@2hc~=&Z#aIuCD7LjI#Ym*DLMi6rBXHkRsiI)N3#noJ3CuF zZ{ED!JkQSu;KOkoY&IKu`zchy1l)dJ42oDcON=iz%IbEqC9akt60|7L-Bw)2#8(e{BaWAbl3nx#WAZDORVCT*sFmBv< z=42o>2r~h(0%9U8YKRwIym$fX>z~ptBIu?~TM-u*&$M;eQ-|ZY-YX!7P}<5bQCax_ zHrU|n>xX^&a-ddwzjjJyCO{PEu$tpIaOOh7SY2H$E?+K!QpqDBArV7{1T(vjQ~@$4 zvkQr1z!ec^8LG9l1tld#@be2mT-?Mi@NKOvxPGGqEiHP)$4{o?EE$cN0ILG7V&cY) z%gD^!44&taon72TVDH`?C@Cp~mzNs5cjq7=AjrK0nInhy;KIez2o4^Jty>SlVliXGh9#)0 ztHQ{UkyyVzi>kxoK4ebjAaHTDP#JY9+ z5f&EJl_(s^AP#0`0@8iJ(Wd6CpNwT>%)yHn4Tz7QhN)9iv1PLcCQ}0#+S&)WTXr3OenH4smkpJw`+mSu8!;1br2q?&#>OYu zw(WCz44Ia^6b0wB^h6RI{0`F74|d^|Qx7q_kQ@cXF(IHLpzhtfhJ(L-L%S9)*@;V+ za`E`_-;~gr^lS_s9M;2yT&ciJz#R(QxPAut`9IOZaZUO$+`oSfzvpMt!Y(0U0g|RJ z>k+`t)aX=Qek~-muyp5jl!1zi_v1=wE|kiC_-_4q7>zIS{mz+`kbgih($bDm1z1XR z@*7zMeE4`Y{Pz&0SN6~%Zt}-#F=kAP(=6m5rLrj?6myPpywFeF;?Thv zXl;FoQKM2YVd5%k)$;OlxO8y`#W3eHEd~vWg2`lnc7G!6dp~X|Vq+I|!zj&Wy&}M> zfWG+|jvSdoEt!yzfyk(7^!s1858>9W0~Eu;MMdb}-y6-%^*Ee6i}p>JuolrVGrBOc zfbWbu_bO0de+LEUR?y99O42Tbgv3$>E?&q$RaFW4d8nb$oToq=8+FJ#L#%E?QqqqI z85T$TS;5O9z^XuXbqW5syp96-bov1V21Zf^&YoS2rY0Q%1EZ0gtfe3;9~R=ul`XWC zo;CA0d3d zKo~d$j~CB7UayQD`xRnhQe}gGEd{#g@J>vfb%`)mQ(cIPiX0dW9iVyM3ube3=P^;) z`D!0fDm@V%J{zM)F9W!aYX`A$`a}V;s6fPOwGj8l)4CGezP+BliTfZv6FxqqY*xU- z!xtP!2+0R7kYnD+>=kp;g{5VM@N6*DqN?fy+AS@J8MP8Tua+IGj?`c#AU)8CEiJMJ z{pzSblBUSsSYECI{w9;Dn&5R;J>e{y}@o&sjGS?}TD5eneBv)Ak7zXK{N zDzYLXBFOz%SCa;`s|wW}78kFt)9H>zMn;k=rdQ&Adv|0W(b3VNIXOAo!@|O*@jS1R zx{dHGe)%izbBD!+`79QT@zJA41saVeqrAMl8i2_a0Yb_PfIm@#WX6t+-Y1RJ;+9UU z6W3{xUbi{|M*2z4Bj8EW?n?sXj+l@jx05~Yiu($f+vI#pz-^{{&58a8|KII=iFJT^ P00000NkvXXu0mjfnTU{b diff --git a/src/en/comikey/res/mipmap-xhdpi/ic_launcher.png b/src/en/comikey/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index d993c20f89bccc8a2a8907093a3af34c30b6fb15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4937 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 Hu0mjfLt%d` diff --git a/src/en/comikey/res/mipmap-xxhdpi/ic_launcher.png b/src/en/comikey/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 7d351955a72ebe8a48cf89beb55de1d583603211..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8882 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 GA^!)*6X+ZO diff --git a/src/en/comikey/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/comikey/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index eccb3ca08ed00f3fb64a578b471a65f9b1c60f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10576 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 Pkpz?#)a9#XEk6DqnG2(V diff --git a/src/en/comikey/res/web_hi_res_512.png b/src/en/comikey/res/web_hi_res_512.png deleted file mode 100644 index 450d9b98c0071bc6cf036fa0f678b3efb4fd1403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45089 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%0A`pl$ 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 VM#*VzvLN73Md6iviL6QB{{zUJ!rcG> diff --git a/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/Comikey.kt b/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/Comikey.kt deleted file mode 100644 index 210ecd772..000000000 --- a/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/Comikey.kt +++ /dev/null @@ -1,295 +0,0 @@ -package eu.kanade.tachiyomi.extension.en.comikey - -import android.app.Application -import android.content.SharedPreferences -import eu.kanade.tachiyomi.extension.en.comikey.dto.MangaDetailsDto -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.asObservableSuccess -import eu.kanade.tachiyomi.source.ConfigurableSource -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.MangasPage -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SChapter -import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.source.online.HttpSource -import eu.kanade.tachiyomi.util.asJsoup -import kotlinx.serialization.decodeFromString -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.booleanOrNull -import kotlinx.serialization.json.jsonArray -import kotlinx.serialization.json.jsonObject -import kotlinx.serialization.json.jsonPrimitive -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.Response -import org.jsoup.Jsoup -import org.jsoup.parser.Parser -import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get -import java.net.URLEncoder -import java.text.SimpleDateFormat - -class Comikey : HttpSource(), ConfigurableSource { - override val name = "Comikey" - - override val baseUrl = "https://comikey.com" - - private val apiUrl = "$baseUrl/sapi" - - override val lang = "en" - - override val supportsLatest = true - - override val client: OkHttpClient = network.cloudflareClient - - private val json = Json { - isLenient = true - ignoreUnknownKeys = true - } - - companion object { - const val SLUG_SEARCH_PREFIX = "slug:" - } - - // Home page functions - - override fun popularMangaRequest(page: Int) = GET("$baseUrl/comics/?order=-views&page=$page", headers) - - override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/comics/?page=$page", headers) - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - return GET("$baseUrl/comics/?q=${URLEncoder.encode(query, "utf-8")}&page=$page", headers) - } - - override fun popularMangaParse(response: Response) = mangaParse(response) - - override fun latestUpdatesParse(response: Response) = mangaParse(response) - - override fun searchMangaParse(response: Response) = mangaParse(response) - - override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { - return if (query.startsWith(SLUG_SEARCH_PREFIX)) { - val manga = SManga.create().apply { - url = "/comics/" + query.removePrefix(SLUG_SEARCH_PREFIX) - } - return fetchMangaDetails(manga).map { mangaWithDetails -> - MangasPage(listOf(mangaWithDetails), false) - } - } else { - super.fetchSearchManga(page, query, filters) - } - } - - private fun mangaParse(response: Response): MangasPage { - - val responseJson = response.asJsoup() - - val mangaList = responseJson.select("section#series-list div.series-listing[data-view=list] > ul > li") - .map { - SManga.create().apply { - title = it.selectFirst("span.title a").text() - url = it.selectFirst("span.title a[href]").attr("href") - - val subtitle = it.selectFirst("span.subtitle").text().removePrefix("by") - author = subtitle.substringBefore("|").trim() - artist = subtitle.substringAfter("|").trim() - - thumbnail_url = it.selectFirst("div.image[style*=url(]") - ?.attr("style") - ?.substringAfter("url(")?.substringBefore(")") - ?: "https://comikey.com/static/images/svgs/no-cover.svg" - - genre = it.select("div.categories > ul.category-listing > li > span.category-button") - .joinToString(", ") { el -> el.text() } - - description = it.selectFirst("div.description").text() - status = SManga.UNKNOWN - initialized = true // we already have all of the fields - } - } - // we have a next page if the "Next Page" button is not disabled - val hasNextPage = responseJson.selectFirst("li.page-item.active ~ li.page-item.disabled") == null && - responseJson.selectFirst("li.page-item.active ~ li.page-item:not(.disabled)") != null - - return MangasPage(mangaList, hasNextPage) - } - - // Manga page functions - - override fun fetchMangaDetails(manga: SManga): Observable { - return getMangaId(manga).flatMap { id -> - client.newCall(mangaDetailsRequest(id)) - .asObservableSuccess() - .map { response -> - mangaDetailsParse(response).apply { initialized = true } - } - } - } - - private fun mangaDetailsRequest(id: Int) = GET("$apiUrl/comics/$id?format=json", headers) - - override fun mangaDetailsParse(response: Response): SManga { - val details = json.decodeFromString(response.body!!.string()) - return SManga.create().apply { - title = details.name!! - url = details.link!! - author = details.author?.map { it?.name }?.joinToString(", ") - artist = details.artist?.map { it?.name }?.joinToString(", ") - thumbnail_url = details.cover - genre = details.tags?.map { it?.name }?.joinToString(", ") - description = details.excerpt + "\n\n" + details.description - status = SManga.UNKNOWN - initialized = true - } - } - - private fun getMangaId(manga: SManga): Observable { - val mangaId = manga.url.trimEnd('/').substringAfterLast('/').toIntOrNull() - return if (mangaId != null) { - Observable.just(mangaId) - } else { - client.newCall(GET(baseUrl + manga.url, headers)) - .asObservableSuccess() - .map { response -> - manga.url = response.asJsoup().selectFirst("meta[property=og:url]").attr("content") - manga.url.trimEnd('/').substringAfterLast('/').toInt() - } - } - } - - private fun rssFeedRequest(mangaId: Int) = GET("$apiUrl/comics/$mangaId/feed.rss", headers) - - override fun fetchChapterList(manga: SManga): Observable> { - val chapterList = getMangaId(manga).flatMap { mangaId -> - client.newCall(rssFeedRequest(mangaId)) - .asObservableSuccess() - .map { response -> - chapterListParse(response, mangaId) - } - } - return if (preferences.getBoolean("filterOwnedChapter", false)) { - chapterList.flatMap { it.filterChapterList() } - } else { - chapterList - } - } - - override fun chapterListRequest(manga: SManga) = throw UnsupportedOperationException("Not used (chapterListRequest)") - - override fun chapterListParse(response: Response) = throw UnsupportedOperationException("Not used (chapterListParse)") - - private fun chapterListParse(response: Response, mangaId: Int): List { - return Jsoup.parse(response.body!!.string(), response.request.url.toString(), Parser.xmlParser()) - .select("channel > item").map { item -> - SChapter.create().apply { - val chapterGuid = item.selectFirst("guid").text().substringAfterLast(':') - url = "$apiUrl/comics/$mangaId/read?format=json&content=$chapterGuid" - name = item.selectFirst("title").text() - date_upload = SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", java.util.Locale.US) - .parse(item.selectFirst("pubDate").text()) - ?.time ?: 0L - } - }.reversed() - } - - private data class IndexedChapter(val index: Int, val chapter: SChapter) : Comparable { - override fun compareTo(other: IndexedChapter) = this.index.compareTo(other.index) - } - - // determine which chapters the user has access to, and which are locked behind a paywall - private fun List.filterChapterList(): Observable> { - return Observable.from(this.mapIndexed { index, chapter -> IndexedChapter(index, chapter) }) - .filterByObservable { (_, chapter) -> - chapter.isAvailable() - }.toSortedList() - .map { indexed -> indexed.map { it.chapter } } - } - - private fun Observable.filterByObservable(predicate: rx.functions.Func1>): Observable { - return this.flatMap { item -> - predicate.call(item) - .first() - .filter { it } - .map { item } - } - } - - private fun SChapter.isAvailable(): Observable { - return client.newCall(pageListRequest(this)) - .asObservableSuccess() - .map { response -> - response.body?.string() - ?.let { Json.parseToJsonElement(it) } - ?.jsonObject?.get("ok") - ?.jsonPrimitive?.booleanOrNull - ?: true // Default to displaying the chapter if we get an error - } - } - - // Chapter page functions - - private val urlForbidden = "https://fakeimg.pl/1800x2252/FFFFFF/000000/?font_size=120&text=This%20chapter%20is%20not%20available%20for%20free.%0A%0AIf%20you%20have%20purchased%20this%20chapter%2C%20please%20%0Aopen%20the%20website%20in%20web%20view%20and%20log%20in." - - override fun fetchPageList(chapter: SChapter): Observable> { - return client.newCall(pageListRequest(chapter)) - .asObservableSuccess() - .flatMap { response -> - val request = getActualPageList(response) - ?: return@flatMap Observable.just(listOf(Page(0, urlForbidden, urlForbidden))) - - client.newCall(request) - .asObservableSuccess() - .map { responseActual -> - pageListParse(responseActual) - } - } - } - - override fun pageListRequest(chapter: SChapter) = GET(chapter.url, headers) - - private fun getActualPageList(response: Response): Request? { - val element = Json.parseToJsonElement(response.body!!.string()).jsonObject - val ok = element["ok"]?.jsonPrimitive?.booleanOrNull - if (ok != null && !ok) { - return null - } - val url = element["href"]?.jsonPrimitive?.content - return GET(url!!, headers) - } - - override fun pageListParse(response: Response): List { - return Json.parseToJsonElement(response.body!!.string()) - .jsonObject["readingOrder"]!! - .jsonArray.mapIndexed { index, element -> - val url = element.jsonObject["href"]!!.jsonPrimitive.content - Page(index, url, url) - } - } - - // the image url is always equal to the page url - override fun fetchImageUrl(page: Page): Observable = Observable.just(page.url) - - override fun imageUrlParse(response: Response) = throw UnsupportedOperationException("Not used (imageUrlParse)") - - // Preferences - - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } - - override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) { - val filterOwnedChapterPref = androidx.preference.CheckBoxPreference(screen.context).apply { - key = "filterOwnedChapter" - title = "[Experimental] Only show free/owned chapters" - setDefaultValue(false) - - setOnPreferenceChangeListener { _, newValue -> - val checkValue = newValue as Boolean - preferences.edit().putBoolean("filterOwnedChapter", checkValue).commit() - } - } - - screen.addPreference(filterOwnedChapterPref) - } -} diff --git a/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/ComikeyURLActivity.kt b/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/ComikeyURLActivity.kt deleted file mode 100644 index 5551dbf34..000000000 --- a/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/ComikeyURLActivity.kt +++ /dev/null @@ -1,34 +0,0 @@ -package eu.kanade.tachiyomi.extension.en.comikey - -import android.app.Activity -import android.content.ActivityNotFoundException -import android.content.Intent -import android.os.Bundle -import android.util.Log -import kotlin.system.exitProcess - -class ComikeyURLActivity : Activity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - val pathSegments = intent?.data?.pathSegments - if (pathSegments != null && pathSegments.size >= 2) { - - val mainIntent = Intent().apply { - action = "eu.kanade.tachiyomi.SEARCH" - putExtra("query", Comikey.SLUG_SEARCH_PREFIX + pathSegments[1]) - putExtra("filter", packageName) - } - - try { - startActivity(mainIntent) - } catch (e: ActivityNotFoundException) { - Log.e("ComikeyUrlActivity", e.toString()) - } - } else { - Log.e("ComikeyUrlActivity", "could not parse uri from intent $intent") - } - - finish() - exitProcess(0) - } -} diff --git a/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/dto/MangaDetailsDto.kt b/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/dto/MangaDetailsDto.kt deleted file mode 100644 index 5b526d849..000000000 --- a/src/en/comikey/src/eu/kanade/tachiyomi/extension/en/comikey/dto/MangaDetailsDto.kt +++ /dev/null @@ -1,146 +0,0 @@ -package eu.kanade.tachiyomi.extension.en.comikey.dto - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -data class MangaDetailsDto( - @SerialName("id") - val id: Int? = null, - @SerialName("link") - val link: String? = null, - @SerialName("name") - val name: String? = null, - @SerialName("e4pid") - val e4pid: String? = null, - @SerialName("uslug") - val uslug: String? = null, - @SerialName("alt") - val alt: String? = null, - @SerialName("author") - val author: List? = null, - @SerialName("artist") - val artist: List? = null, - @SerialName("adult") - val adult: Boolean? = null, - @SerialName("tags") - val tags: List? = null, - @SerialName("keywords") - val keywords: String? = null, - @SerialName("description") - val description: String? = null, - @SerialName("excerpt") - val excerpt: String? = null, - @SerialName("created_at") - val createdAt: String? = null, - @SerialName("modified_at") - val modifiedAt: String? = null, - @SerialName("publisher") - val publisher: Publisher? = null, - @SerialName("color") - val color: String? = null, - @SerialName("in_exclusive") - val inExclusive: Boolean? = null, - @SerialName("in_hype") - val inHype: Boolean? = null, - @SerialName("all_free") - val allFree: Boolean? = null, - @SerialName("availability_strategy") - val availabilityStrategy: AvailabilityStrategy? = null, - @SerialName("campaigns") - val campaigns: List? = null, // unknown list element type, was null - @SerialName("last_updated") - val lastUpdated: String? = null, - @SerialName("chapter_count") - val chapterCount: Int? = null, - @SerialName("update_status") - val updateStatus: Int? = null, - @SerialName("update_text") - val updateText: String? = null, - @SerialName("format") - val format: Int? = null, - @SerialName("cover") - val cover: String? = null, - @SerialName("logo") - val logo: String? = null, - @SerialName("banner") - val banner: String? = null, - @SerialName("showcase") - val showcase: String? = null, // unknown type, was null - @SerialName("preview") - val preview: String? = null, // unknown type, was null - @SerialName("chapter_title") - val chapterTitle: String? = null, - @SerialName("geoblocks") - val geoblocks: String? = null -) { - @Serializable - data class Author( - @SerialName("id") - val id: Int? = null, - @SerialName("name") - val name: String? = null, - @SerialName("alt") - val alt: String? = null - ) - - @Serializable - data class Artist( - @SerialName("id") - val id: Int? = null, - @SerialName("name") - val name: String? = null, - @SerialName("alt") - val alt: String? = null - ) - - @Serializable - data class Tag( - @SerialName("name") - val name: String? = null, - @SerialName("description") - val description: String? = null, - @SerialName("slug") - val slug: String? = null, - @SerialName("color") - val color: String? = null, - @SerialName("is_primary") - val isPrimary: Boolean? = null - ) - - @Serializable - data class Publisher( - @SerialName("id") - val id: Int? = null, - @SerialName("name") - val name: String? = null, - @SerialName("language") - val language: String? = null, - @SerialName("homepage") - val homepage: String? = null, - @SerialName("logo") - val logo: String? = null, - @SerialName("geoblocks") - val geoblocks: String? = null - ) - - @Serializable - data class AvailabilityStrategy( - @SerialName("starting_count") - val startingCount: Int? = null, - @SerialName("latest_only_free") - val latestOnlyFree: Boolean? = null, - @SerialName("catchup_count") - val catchupCount: Int? = null, - @SerialName("simulpub") - val simulpub: Boolean? = null, - @SerialName("fpf_becomes_paid") - val fpfBecomesPaid: String? = null, - @SerialName("fpf_becomes_free") - val fpfBecomesFree: String? = null, - @SerialName("fpf_becomes_backlog") - val fpfBecomesBacklog: String? = null, - @SerialName("backlog_becomes_backlog") - val backlogBecomesBacklog: String? = null - ) -}