AsianMediaApi

class AsianMediaApi : ApiModule, KoinComponent

Implementacja ApiModule dla funkcjonalności "Asian Media". Definiuje endpointy do sprawdzania i dodawania publikacji. Używa Koin do wstrzykiwania zależności (OctaviusClient, BatchExecutor).

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
private val db: OctaviusClient

Functions

Link copied to clipboard
private fun Route.addNewPublication()

Definiuje endpoint: POST /api/asian-media/add Dodaje nowy tytuł i powiązaną z nim publikację do bazy danych.

Link copied to clipboard
private fun appendTitles(titleId: Int, titles: List<String>): DataResult<Int>

Zwraca, ile tytułów przybyło; porównanie bez względu na wielkość liter, kolejność podanych zostaje.

Link copied to clipboard
private fun Route.checkPublicationExistence()

Definiuje endpoint: GET /api/asian-media/check Sprawdza, czy którykolwiek z podanych tytułów istnieje już w bazie (lub jest bardzo podobny).

Link copied to clipboard
open fun getKoin(): Koin
Link copied to clipboard
open override fun installRoutes(routing: Routing)
Link copied to clipboard
private fun Route.linkPublication()

Definiuje endpoint: POST /api/asian-media/link Podpina serię ze strony do tytułu, który już jest w bazie, i otwiera go w formularzu, żeby ustawić status nowej publikacji - tak samo jak po dodaniu.

Link copied to clipboard
private fun Route.mirrorNovelUpdatesListMove()

Definiuje endpoint: POST /api/asian-media/novelupdates/list-move Powtarza w bazie przeniesienie serii na liście lektur NovelUpdates: status bierze się z listy, serię znajdujemy po sid, a bez sid - dokładnie po tytule. Nie przełącza aplikacji na formularz, bo przeniesień przychodzi po kilkadziesiąt naraz.

Link copied to clipboard
private suspend fun openInForm(titleId: Int)
Link copied to clipboard
private fun Route.openTitle()

Definiuje endpoint: POST /api/asian-media/open Otwiera tytuł w formularzu aplikacji - z popupu, gdy seria już jest w bazie.

Link copied to clipboard
private fun publicationsOf(titleId: Int): List<PublicationSummary>
Link copied to clipboard
private fun titleByExternalId(externalId: ExternalId): Pair<Int, String>?