From c9c96e7d605c9ed54a9c9e7d2bdfe59ce0109fdc Mon Sep 17 00:00:00 2001 From: Aria Moradi Date: Fri, 25 Dec 2020 19:29:48 +0330 Subject: [PATCH] popular manga api done --- .../main/kotlin/ir/armor/tachidesk/Main.kt | 5 ++-- .../ir/armor/tachidesk/util/MangaList.kt | 24 ++++++++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/server/src/main/kotlin/ir/armor/tachidesk/Main.kt b/server/src/main/kotlin/ir/armor/tachidesk/Main.kt index c937b544..b9f68fd6 100644 --- a/server/src/main/kotlin/ir/armor/tachidesk/Main.kt +++ b/server/src/main/kotlin/ir/armor/tachidesk/Main.kt @@ -15,7 +15,8 @@ class Main { val app = Javalin.create().start(4567) app.before() { ctx -> - ctx.header("Access-Control-Allow-Origin", "*") // allow the client which is running on another port + // allow the client which is running on another port + ctx.header("Access-Control-Allow-Origin", "*") } app.get("/api/v1/extension/list") { ctx -> @@ -36,7 +37,7 @@ class Main { app.get("/api/v1/source/:source_id/popular") { ctx -> val sourceId = ctx.pathParam("source_id") -// ctx.json(getPopularManga(sourceId)) + ctx.json(getPopularManga(sourceId)) } } } diff --git a/server/src/main/kotlin/ir/armor/tachidesk/util/MangaList.kt b/server/src/main/kotlin/ir/armor/tachidesk/util/MangaList.kt index b47a01bc..2e82960e 100644 --- a/server/src/main/kotlin/ir/armor/tachidesk/util/MangaList.kt +++ b/server/src/main/kotlin/ir/armor/tachidesk/util/MangaList.kt @@ -2,7 +2,25 @@ package ir.armor.tachidesk.util import ir.armor.tachidesk.database.dataclass.MangaDataClass import ir.armor.tachidesk.database.entity.SourceEntity +import ir.armor.tachidesk.database.table.MangaStatus -//fun getPopularManga(sourceId: String): List { -// SourceEntity.findById(sourceId.toLong()) -//} \ No newline at end of file +fun getPopularManga(sourceId: String): List { + val manguasPage = getHttpSource(sourceId.toLong()).fetchPopularManga(1).toBlocking().first() + return manguasPage.mangas.map { + MangaDataClass( + sourceId.toLong(), + + it.url, + it.title, + it.thumbnail_url, + + it.initialized, + + it.artist, + it.author, + it.description, + it.genre, + MangaStatus.values().first { that -> it.status == that.status }.name, + ) + } +} \ No newline at end of file