mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-16 09:14:09 -05:00
Manga database classes, api url change, fix source id
This commit is contained in:
@@ -2,6 +2,7 @@ package ir.armor.tachidesk.database
|
||||
|
||||
import ir.armor.tachidesk.Config
|
||||
import ir.armor.tachidesk.database.table.ExtensionsTable
|
||||
import ir.armor.tachidesk.database.table.MangasTable
|
||||
import ir.armor.tachidesk.database.table.SourcesTable
|
||||
import org.jetbrains.exposed.sql.Database
|
||||
import org.jetbrains.exposed.sql.SchemaUtils
|
||||
@@ -20,5 +21,6 @@ fun makeDataBaseTables() {
|
||||
transaction {
|
||||
SchemaUtils.create(ExtensionsTable)
|
||||
SchemaUtils.create(SourcesTable)
|
||||
SchemaUtils.create(MangasTable)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package ir.armor.tachidesk.database.dataclass
|
||||
|
||||
import ir.armor.tachidesk.database.table.MangaStatus
|
||||
|
||||
data class MangaDataClass(
|
||||
val sourceId: Long,
|
||||
|
||||
val url: String,
|
||||
val title: String,
|
||||
val thumbnail_url: String? = null,
|
||||
|
||||
val initialized: Boolean = false,
|
||||
|
||||
val artist: String? = null,
|
||||
val author: String? = null,
|
||||
val description: String? = null,
|
||||
val genre: String? = null,
|
||||
val status: String = MangaStatus.UNKNOWN.name
|
||||
)
|
||||
@@ -0,0 +1,24 @@
|
||||
package ir.armor.tachidesk.database.entity
|
||||
|
||||
import ir.armor.tachidesk.database.table.MangasTable
|
||||
import ir.armor.tachidesk.database.table.SourcesTable
|
||||
import org.jetbrains.exposed.dao.IntEntity
|
||||
import org.jetbrains.exposed.dao.IntEntityClass
|
||||
import org.jetbrains.exposed.dao.id.EntityID
|
||||
|
||||
class MangaEntity(id: EntityID<Int>) : IntEntity(id) {
|
||||
companion object : IntEntityClass<MangaEntity>(MangasTable)
|
||||
|
||||
var url by MangasTable.url
|
||||
var title by MangasTable.title
|
||||
var initialized by MangasTable.initialized
|
||||
|
||||
var artist by MangasTable.artist
|
||||
var author by MangasTable.author
|
||||
var description by MangasTable.description
|
||||
var genre by MangasTable.genre
|
||||
var status by MangasTable.status
|
||||
var thumbnail_url by MangasTable.thumbnail_url
|
||||
|
||||
var sourceReference by MangaEntity referencedOn MangasTable.sourceReference
|
||||
}
|
||||
@@ -1,14 +1,13 @@
|
||||
package ir.armor.tachidesk.database.entity
|
||||
|
||||
import ir.armor.tachidesk.database.table.SourcesTable
|
||||
import org.jetbrains.exposed.dao.IntEntity
|
||||
import org.jetbrains.exposed.dao.IntEntityClass
|
||||
import org.jetbrains.exposed.dao.*
|
||||
import org.jetbrains.exposed.dao.id.EntityID
|
||||
|
||||
class SourceEntity(id: EntityID<Int>) : IntEntity(id) {
|
||||
companion object : IntEntityClass<SourceEntity>(SourcesTable)
|
||||
class SourceEntity(id: EntityID<Long>) : LongEntity(id) {
|
||||
companion object : EntityClass<Long, SourceEntity>(SourcesTable, null)
|
||||
|
||||
var sourceId by SourcesTable.sourceId
|
||||
var sourceId by SourcesTable.id
|
||||
var name by SourcesTable.name
|
||||
var lang by SourcesTable.lang
|
||||
var extension by ExtensionEntity referencedOn SourcesTable.extension
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package ir.armor.tachidesk.database.table
|
||||
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
|
||||
object MangasTable : IntIdTable() {
|
||||
val url = varchar("url", 2048)
|
||||
val title = varchar("title", 512)
|
||||
val initialized = bool("initialized").default(false)
|
||||
|
||||
val artist = varchar("artist", 64).nullable()
|
||||
val author = varchar("author", 64).nullable()
|
||||
val description = varchar("description", 4096).nullable()
|
||||
val genre = varchar("genre", 1024).nullable()
|
||||
val status = enumeration("status", MangaStatus::class).default(MangaStatus.UNKNOWN)
|
||||
val thumbnail_url = varchar("thumbnail_url", 2048).nullable()
|
||||
|
||||
// source is used by some ancestor of IntIdTable
|
||||
val sourceReference = reference("source", SourcesTable)
|
||||
}
|
||||
|
||||
enum class MangaStatus(val status: Int) {
|
||||
UNKNOWN(0),
|
||||
ONGOING(1),
|
||||
COMPLETED(2),
|
||||
LICENSED(3),
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package ir.armor.tachidesk.database.table
|
||||
|
||||
import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
import org.jetbrains.exposed.dao.id.IdTable
|
||||
|
||||
object SourcesTable : IntIdTable() {
|
||||
val sourceId = long("source_id")
|
||||
val name = varchar("name", 128)
|
||||
object SourcesTable : IdTable<Long>() {
|
||||
override val id = long("id").entityId()
|
||||
val name= varchar("name", 128)
|
||||
val lang = varchar("lang", 5)
|
||||
val extension = reference("extension", ExtensionsTable)
|
||||
val partOfFactorySource = bool("part_of_factory_source").default(false)
|
||||
|
||||
Reference in New Issue
Block a user