From 654a3cc7ed6134afc76be529924317ff5c1f0a9b Mon Sep 17 00:00:00 2001 From: Mitchell Syer Date: Mon, 16 Sep 2024 21:18:01 -0400 Subject: [PATCH] Use Backup.serializer() (#1088) --- .../manga/impl/backup/proto/ProtoBackupExport.kt | 14 ++++++-------- .../manga/impl/backup/proto/ProtoBackupImport.kt | 4 ++-- .../impl/backup/proto/ProtoBackupValidator.kt | 3 +-- .../impl/backup/proto/models/BackupSerializer.kt | 6 ------ 4 files changed, 9 insertions(+), 18 deletions(-) delete mode 100644 server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/models/BackupSerializer.kt diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupExport.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupExport.kt index 3e36f65c..ab879116 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupExport.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupExport.kt @@ -16,9 +16,10 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.flow.combine import kotlinx.coroutines.launch import mu.KotlinLogging +import okio.Buffer +import okio.Sink import okio.buffer import okio.gzip -import okio.sink import org.jetbrains.exposed.sql.Query import org.jetbrains.exposed.sql.SortOrder import org.jetbrains.exposed.sql.select @@ -33,7 +34,6 @@ import suwayomi.tachidesk.manga.impl.backup.proto.models.Backup import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupCategory import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupChapter import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupManga -import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupSerializer import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupSource import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupTracking import suwayomi.tachidesk.manga.impl.track.Track @@ -48,7 +48,6 @@ import suwayomi.tachidesk.server.serverConfig import suwayomi.tachidesk.util.HAScheduler import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -import java.io.ByteArrayOutputStream import java.io.File import java.io.InputStream import java.util.concurrent.TimeUnit @@ -189,16 +188,15 @@ object ProtoBackupExport : ProtoBackupBase() { ) } - val byteArray = parser.encodeToByteArray(BackupSerializer, backup) + val byteArray = parser.encodeToByteArray(Backup.serializer(), backup) - val byteStream = ByteArrayOutputStream() - byteStream - .sink() + val byteStream = Buffer() + (byteStream as Sink) .gzip() .buffer() .use { it.write(byteArray) } - return byteStream.toByteArray().inputStream() + return byteStream.inputStream() } private fun backupManga( diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupImport.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupImport.kt index 7f830239..a65e880e 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupImport.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupImport.kt @@ -36,10 +36,10 @@ import suwayomi.tachidesk.manga.impl.backup.models.Chapter import suwayomi.tachidesk.manga.impl.backup.models.Manga import suwayomi.tachidesk.manga.impl.backup.proto.ProtoBackupValidator.ValidationResult import suwayomi.tachidesk.manga.impl.backup.proto.ProtoBackupValidator.validate +import suwayomi.tachidesk.manga.impl.backup.proto.models.Backup import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupCategory import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupHistory import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupManga -import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupSerializer import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupTracking import suwayomi.tachidesk.manga.impl.track.tracker.TrackerManager import suwayomi.tachidesk.manga.impl.track.tracker.model.toTrack @@ -166,7 +166,7 @@ object ProtoBackupImport : ProtoBackupBase() { .gzip() .buffer() .use { it.readByteArray() } - val backup = parser.decodeFromByteArray(BackupSerializer, backupString) + val backup = parser.decodeFromByteArray(Backup.serializer(), backupString) val validationResult = validate(backup) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupValidator.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupValidator.kt index edba7f90..113242c6 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupValidator.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/ProtoBackupValidator.kt @@ -14,7 +14,6 @@ import okio.source import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction import suwayomi.tachidesk.manga.impl.backup.proto.models.Backup -import suwayomi.tachidesk.manga.impl.backup.proto.models.BackupSerializer import suwayomi.tachidesk.manga.impl.track.tracker.TrackerManager import suwayomi.tachidesk.manga.model.table.SourceTable import java.io.InputStream @@ -70,7 +69,7 @@ object ProtoBackupValidator { .gzip() .buffer() .use { it.readByteArray() } - val backup = ProtoBackupImport.parser.decodeFromByteArray(BackupSerializer, backupString) + val backup = ProtoBackupImport.parser.decodeFromByteArray(Backup.serializer(), backupString) return validate(backup) } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/models/BackupSerializer.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/models/BackupSerializer.kt deleted file mode 100644 index 9c4a6734..00000000 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/models/BackupSerializer.kt +++ /dev/null @@ -1,6 +0,0 @@ -package suwayomi.tachidesk.manga.impl.backup.proto.models - -import kotlinx.serialization.Serializer - -@Serializer(forClass = Backup::class) -object BackupSerializer