diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ExtensionQuery.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ExtensionQuery.kt index 1daf8cf8d..ac41cecf7 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ExtensionQuery.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ExtensionQuery.kt @@ -41,9 +41,9 @@ import suwayomi.tachidesk.graphql.server.primitives.applyBeforeAfter import suwayomi.tachidesk.graphql.server.primitives.greaterNotUnique import suwayomi.tachidesk.graphql.server.primitives.lessNotUnique import suwayomi.tachidesk.graphql.server.primitives.maybeSwap -import suwayomi.tachidesk.graphql.types.ContentRating import suwayomi.tachidesk.graphql.types.ExtensionNodeList import suwayomi.tachidesk.graphql.types.ExtensionType +import suwayomi.tachidesk.manga.model.dataclass.ContentRating import suwayomi.tachidesk.manga.model.table.ExtensionTable import java.util.concurrent.CompletableFuture diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ExtensionStoreQuery.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ExtensionStoreQuery.kt index ed6ecec9f..3e8468ec0 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ExtensionStoreQuery.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ExtensionStoreQuery.kt @@ -7,7 +7,6 @@ package suwayomi.tachidesk.graphql.queries * 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 com.expediagroup.graphql.generator.annotations.GraphQLDeprecated import com.expediagroup.graphql.server.extensions.getValueFromDataLoader import graphql.schema.DataFetchingEnvironment import org.jetbrains.exposed.v1.core.Column diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/SourceQuery.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/SourceQuery.kt index 49bb60891..be4db4bb4 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/SourceQuery.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/SourceQuery.kt @@ -40,9 +40,9 @@ import suwayomi.tachidesk.graphql.server.primitives.applyBeforeAfter import suwayomi.tachidesk.graphql.server.primitives.greaterNotUnique import suwayomi.tachidesk.graphql.server.primitives.lessNotUnique import suwayomi.tachidesk.graphql.server.primitives.maybeSwap -import suwayomi.tachidesk.graphql.types.ContentRating import suwayomi.tachidesk.graphql.types.SourceNodeList import suwayomi.tachidesk.graphql.types.SourceType +import suwayomi.tachidesk.manga.model.dataclass.ContentRating import suwayomi.tachidesk.manga.model.table.SourceTable import java.util.concurrent.CompletableFuture @@ -112,7 +112,7 @@ class SourceQuery { ContentRating.PORNOGRAPHIC.ordinal } } - opAnd.andWhere(contentRating) { SourceTable.contentRating eq it.getValue() } + opAnd.andWhere(contentRating) { SourceTable.contentRating eq it.ordinal } return opAnd.op } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/filter/Filter.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/filter/Filter.kt index ef178000c..ac8fd5cc3 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/filter/Filter.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/filter/Filter.kt @@ -28,7 +28,7 @@ import org.jetbrains.exposed.v1.core.upperCase import org.jetbrains.exposed.v1.core.wrap import org.jetbrains.exposed.v1.jdbc.Query import org.jetbrains.exposed.v1.jdbc.andWhere -import suwayomi.tachidesk.graphql.types.ContentRating +import suwayomi.tachidesk.manga.model.dataclass.ContentRating class ILikeEscapeOp( expr1: Expression<*>, diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/ExtensionType.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/ExtensionType.kt index e2bc3ee1a..746375fe6 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/ExtensionType.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/ExtensionType.kt @@ -18,6 +18,7 @@ import suwayomi.tachidesk.graphql.server.primitives.Node import suwayomi.tachidesk.graphql.server.primitives.NodeList import suwayomi.tachidesk.graphql.server.primitives.PageInfo import suwayomi.tachidesk.manga.impl.extension.Extension +import suwayomi.tachidesk.manga.model.dataclass.ContentRating import suwayomi.tachidesk.manga.model.table.ExtensionTable import java.util.concurrent.CompletableFuture diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/SourceType.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/SourceType.kt index a815a62ee..acd9f4e13 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/SourceType.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/SourceType.kt @@ -8,7 +8,6 @@ package suwayomi.tachidesk.graphql.types import com.expediagroup.graphql.generator.annotations.GraphQLDeprecated -import com.expediagroup.graphql.generator.annotations.GraphQLIgnore import com.expediagroup.graphql.server.extensions.getValueFromDataLoader import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.ConfigurableSource @@ -27,6 +26,7 @@ import suwayomi.tachidesk.manga.impl.Source.getSourcePreferencesRaw import suwayomi.tachidesk.manga.impl.extension.Extension import suwayomi.tachidesk.manga.impl.util.source.GetCatalogueSource import suwayomi.tachidesk.manga.impl.util.source.GetCatalogueSource.getCatalogueSourceOrStub +import suwayomi.tachidesk.manga.model.dataclass.ContentRating import suwayomi.tachidesk.manga.model.table.ExtensionTable import suwayomi.tachidesk.manga.model.table.SourceTable import java.util.concurrent.CompletableFuture @@ -507,33 +507,3 @@ fun preferenceOf(preference: SourcePreference): Preference = throw RuntimeException("sealed class cannot have more subtypes!") } } - -enum class ContentRating { - SAFE, - SUGGESTIVE, - EROTICA, - PORNOGRAPHIC, - ; - - @GraphQLIgnore - fun getValue() = - when (this) { - SAFE -> 0 - SUGGESTIVE -> 1 - EROTICA -> 2 - PORNOGRAPHIC -> 3 - } - - @GraphQLIgnore - companion object { - @GraphQLIgnore - fun valueOf(contentRating: Int) = - when (contentRating) { - 0 -> SAFE - 1 -> SUGGESTIVE - 2 -> EROTICA - 3 -> PORNOGRAPHIC - else -> SAFE - } - } -} diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/extension/Extension.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/extension/Extension.kt index b9cf77465..7dd0fd7a7 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/extension/Extension.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/extension/Extension.kt @@ -28,7 +28,6 @@ import org.jetbrains.exposed.v1.jdbc.select import org.jetbrains.exposed.v1.jdbc.selectAll import org.jetbrains.exposed.v1.jdbc.transactions.transaction import org.jetbrains.exposed.v1.jdbc.update -import suwayomi.tachidesk.graphql.types.ContentRating import suwayomi.tachidesk.manga.impl.util.PackageTools import suwayomi.tachidesk.manga.impl.util.PackageTools.EXTENSION_FEATURE import suwayomi.tachidesk.manga.impl.util.PackageTools.LIB_VERSION_MAX @@ -43,6 +42,7 @@ import suwayomi.tachidesk.manga.impl.util.source.GetCatalogueSource import suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.clearCachedImage import suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.getImageResponse import suwayomi.tachidesk.manga.impl.util.storage.ImageResponse.saveImage +import suwayomi.tachidesk.manga.model.dataclass.ContentRating import suwayomi.tachidesk.manga.model.table.ExtensionTable import suwayomi.tachidesk.manga.model.table.SourceTable import suwayomi.tachidesk.server.ApplicationDirs diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/model/dataclass/ExtensionInfo.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/model/dataclass/ExtensionInfo.kt index ac09e2cac..ead7d44ef 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/model/dataclass/ExtensionInfo.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/model/dataclass/ExtensionInfo.kt @@ -35,4 +35,9 @@ enum class ContentRating { SUGGESTIVE, EROTICA, PORNOGRAPHIC, + ; + + companion object { + fun valueOf(contentRating: Int) = entries.find { it.ordinal == contentRating } ?: SAFE + } } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/server/database/migration/M0057_AddNewExtensionApiFields.kt b/server/src/main/kotlin/suwayomi/tachidesk/server/database/migration/M0057_AddNewExtensionApiFields.kt index 97d078d9f..4b50bf38e 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/server/database/migration/M0057_AddNewExtensionApiFields.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/server/database/migration/M0057_AddNewExtensionApiFields.kt @@ -8,8 +8,8 @@ package suwayomi.tachidesk.server.database.migration * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import de.neonew.exposed.migrations.helpers.SQLMigration -import suwayomi.tachidesk.graphql.types.ContentRating import suwayomi.tachidesk.graphql.types.DatabaseType +import suwayomi.tachidesk.manga.model.dataclass.ContentRating import suwayomi.tachidesk.server.database.migration.helpers.MAYBE_TYPE_PREFIX import suwayomi.tachidesk.server.database.migration.helpers.UNLIMITED_TEXT import suwayomi.tachidesk.server.database.migration.helpers.toSqlName