SauceNaoAPI/src/commonMain/kotlin/com/github/insanusmokrassar/SauceNaoAPI/additional/header/AccountInfo.kt

44 lines
975 B
Kotlin

package com.github.insanusmokrassar.SauceNaoAPI.additional.header
import com.github.insanusmokrassar.SauceNaoAPI.additional.*
import com.github.insanusmokrassar.SauceNaoAPI.models.Header
val Header.shortLimitStatus: LimitStatus
get() = LimitStatus(
shortRemaining,
shortLimit
)
val Header.longLimitStatus: LimitStatus
get() = LimitStatus(
longRemaining,
longLimit
)
val Header.limits
get() = Limits(shortLimitStatus, longLimitStatus)
val Header.accountInfo
get() = AccountInfo(
accountType ?: defaultAccountType,
userId,
limits
)
data class LimitStatus(
val remain: Int = Int.MAX_VALUE,
val limit: Int = Int.MAX_VALUE
)
data class Limits(
val short: LimitStatus = LimitStatus(),
val long: LimitStatus = LimitStatus()
)
data class AccountInfo(
val accountType: AccountType = defaultAccountType,
val userId: UserId? = null,
val limits: Limits = Limits()
)