Skip to content

Commit

Permalink
Maybe I just need to keep the error context longer
Browse files Browse the repository at this point in the history
  • Loading branch information
NovaFox161 committed Apr 13, 2024
1 parent 6022c2b commit 6ed1671
Showing 1 changed file with 9 additions and 6 deletions.
Expand Up @@ -2,16 +2,18 @@ package org.dreamexposure.discal.core.`object`.new

import discord4j.common.util.Snowflake
import kotlinx.coroutines.reactor.awaitSingle
import kotlinx.coroutines.reactor.awaitSingleOrNull
import org.dreamexposure.discal.core.crypto.AESEncryption
import org.dreamexposure.discal.core.database.CalendarData
import org.dreamexposure.discal.core.enums.calendar.CalendarHost
import org.dreamexposure.discal.core.extensions.asInstantMilli
import org.dreamexposure.discal.core.extensions.asSnowflake
import org.dreamexposure.discal.core.extensions.isExpiredTtl
import reactor.core.publisher.Mono
import java.time.Instant
import javax.crypto.IllegalBlockSizeException

data class Calendar private constructor(
data class Calendar(
val guildId: Snowflake,
val number: Int,
val host: CalendarHost,
Expand All @@ -23,11 +25,12 @@ data class Calendar private constructor(
companion object {
suspend operator fun invoke(data: CalendarData): Calendar {
val aes = AESEncryption(data.privateKey)
val accessToken = if (!data.expiresAt.asInstantMilli().isExpiredTtl()) try {
aes.decrypt(data.accessToken).awaitSingle()
} catch (ex: IllegalBlockSizeException) {
null
} else null // No point in trying to decrypt if it's expired
val accessToken =
if (!data.expiresAt.asInstantMilli().isExpiredTtl()) aes.decrypt(data.accessToken)
.onErrorResume(IllegalBlockSizeException::class.java) {
Mono.empty()
}.awaitSingleOrNull()
else null // No point in trying to decrypt if it's expired

return Calendar(
guildId = data.guildId.asSnowflake(),
Expand Down

0 comments on commit 6ed1671

Please sign in to comment.