mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-15 14:37:04 +05:30
refactor(model): use Konvert to automatically generate mappings
This commit is contained in:
parent
d4672ae8bd
commit
25382acf0e
8 changed files with 57 additions and 47 deletions
|
@ -9,11 +9,28 @@
|
|||
package dev.msfjarvis.claw.model
|
||||
|
||||
import dev.drewhamilton.poko.Poko
|
||||
import dev.msfjarvis.claw.database.local.SavedPost
|
||||
import io.mcarle.konvert.api.KonvertTo
|
||||
import io.mcarle.konvert.api.Mapping
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@Poko
|
||||
@KonvertTo(
|
||||
value = SavedPost::class,
|
||||
mappings =
|
||||
[
|
||||
Mapping(
|
||||
target = "submitterName",
|
||||
expression = "it.submitter.username",
|
||||
),
|
||||
Mapping(
|
||||
target = "submitterAvatarUrl",
|
||||
expression = "it.submitter.avatarUrl",
|
||||
),
|
||||
],
|
||||
)
|
||||
class LobstersPost(
|
||||
val shortId: String,
|
||||
val createdAt: String,
|
||||
|
|
|
@ -9,11 +9,28 @@
|
|||
package dev.msfjarvis.claw.model
|
||||
|
||||
import dev.drewhamilton.poko.Poko
|
||||
import dev.msfjarvis.claw.database.local.SavedPost
|
||||
import io.mcarle.konvert.api.KonvertTo
|
||||
import io.mcarle.konvert.api.Mapping
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@Poko
|
||||
@KonvertTo(
|
||||
value = SavedPost::class,
|
||||
mappings =
|
||||
[
|
||||
Mapping(
|
||||
target = "submitterName",
|
||||
expression = "it.submitter.username",
|
||||
),
|
||||
Mapping(
|
||||
target = "submitterAvatarUrl",
|
||||
expression = "it.submitter.avatarUrl",
|
||||
),
|
||||
],
|
||||
)
|
||||
class LobstersPostDetails(
|
||||
val shortId: String,
|
||||
val createdAt: String,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue