diff --git a/server/src/main/kotlin/suwayomi/anime/impl/extension/Extension.kt b/server/src/main/kotlin/suwayomi/anime/impl/extension/Extension.kt index 207b40d6..08543c2a 100644 --- a/server/src/main/kotlin/suwayomi/anime/impl/extension/Extension.kt +++ b/server/src/main/kotlin/suwayomi/anime/impl/extension/Extension.kt @@ -38,10 +38,10 @@ import suwayomi.anime.impl.util.PackageTools.getSignatureHash import suwayomi.anime.impl.util.PackageTools.loadExtensionSources import suwayomi.anime.impl.util.PackageTools.trustedSignatures import suwayomi.anime.model.table.AnimeExtensionTable +import suwayomi.anime.model.table.AnimeSourceTable import suwayomi.server.ApplicationDirs import suwayomi.tachidesk.impl.util.network.await import suwayomi.tachidesk.impl.util.storage.CachedImageResponse.getCachedImageResponse -import suwayomi.tachidesk.model.table.SourceTable import uy.kohesive.injekt.injectLazy import java.io.File import java.io.InputStream @@ -162,7 +162,7 @@ object Extension { val extensionId = AnimeExtensionTable.select { AnimeExtensionTable.pkgName eq pkgName }.first()[AnimeExtensionTable.id].value sources.forEach { httpSource -> - SourceTable.insert { + AnimeSourceTable.insert { it[id] = httpSource.id it[name] = httpSource.name it[lang] = httpSource.lang @@ -201,7 +201,7 @@ object Extension { transaction { val extensionId = extensionRecord[AnimeExtensionTable.id].value - SourceTable.deleteWhere { SourceTable.extension eq extensionId } + AnimeSourceTable.deleteWhere { AnimeSourceTable.extension eq extensionId } if (extensionRecord[AnimeExtensionTable.isObsolete]) AnimeExtensionTable.deleteWhere { AnimeExtensionTable.pkgName eq pkgName } else diff --git a/server/src/main/kotlin/suwayomi/anime/model/dataclass/AnimeSourceDataClass.kt b/server/src/main/kotlin/suwayomi/anime/model/dataclass/AnimeSourceDataClass.kt new file mode 100644 index 00000000..8a207e2d --- /dev/null +++ b/server/src/main/kotlin/suwayomi/anime/model/dataclass/AnimeSourceDataClass.kt @@ -0,0 +1,16 @@ +package suwayomi.anime.model.dataclass + +/* + * Copyright (C) Contributors to the Suwayomi project + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +data class AnimeSourceDataClass( + val id: String, + val name: String?, + val lang: String?, + val iconUrl: String?, + val supportsLatest: Boolean? +) diff --git a/server/src/main/kotlin/suwayomi/anime/model/table/AnimeSourceTable.kt b/server/src/main/kotlin/suwayomi/anime/model/table/AnimeSourceTable.kt new file mode 100644 index 00000000..ba435d3b --- /dev/null +++ b/server/src/main/kotlin/suwayomi/anime/model/table/AnimeSourceTable.kt @@ -0,0 +1,18 @@ +package suwayomi.anime.model.table + +/* + * Copyright (C) Contributors to the Suwayomi project + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +import org.jetbrains.exposed.dao.id.IdTable + +object AnimeSourceTable : IdTable() { + override val id = long("id").entityId() + val name = varchar("name", 128) + val lang = varchar("lang", 10) + val extension = reference("extension", AnimeExtensionTable) + val partOfFactorySource = bool("part_of_factory_source").default(false) +}