mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-24 03:36:51 +00:00
feat: introduce core data models and interfaces for playback and downloads
This commit is contained in:
16
core/image/build.gradle.kts
Normal file
16
core/image/build.gradle.kts
Normal file
@@ -0,0 +1,16 @@
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.kotlin.jvm)
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_11)
|
||||
}
|
||||
jvmToolchain(11)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":core:model"))
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package hu.bbara.purefin.core.image
|
||||
|
||||
enum class ArtworkKind(
|
||||
internal val pathSegment: String,
|
||||
) {
|
||||
PRIMARY("Primary"),
|
||||
BACKDROP("Backdrop"),
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package hu.bbara.purefin.core.image
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
object ImageUrlBuilder {
|
||||
fun toImageUrl(url: String, itemId: UUID, artworkKind: ArtworkKind): String {
|
||||
if (url.isEmpty()) {
|
||||
return ""
|
||||
}
|
||||
return StringBuilder()
|
||||
.append(url)
|
||||
.append("/Items/")
|
||||
.append(itemId)
|
||||
.append("/Images/")
|
||||
.append(artworkKind.pathSegment)
|
||||
.toString()
|
||||
}
|
||||
|
||||
fun toPrefixImageUrl(url: String, itemId: UUID): String {
|
||||
if (url.isEmpty()) {
|
||||
return ""
|
||||
}
|
||||
return StringBuilder()
|
||||
.append(url)
|
||||
.append("/Items/")
|
||||
.append(itemId)
|
||||
.append("/Images/")
|
||||
.toString()
|
||||
}
|
||||
|
||||
fun finishImageUrl(prefixImageUrl: String?, artworkKind: ArtworkKind): String {
|
||||
if (prefixImageUrl.isNullOrEmpty()) {
|
||||
return ""
|
||||
}
|
||||
return StringBuilder()
|
||||
.append(prefixImageUrl)
|
||||
.append(artworkKind.pathSegment)
|
||||
.toString()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user