kopia lustrzana https://github.com/vitorpamplona/amethyst
28 wiersze
874 B
Kotlin
28 wiersze
874 B
Kotlin
package com.vitorpamplona.amethyst.service.model
|
|
|
|
import com.vitorpamplona.amethyst.model.HexKey
|
|
|
|
class BadgeProfilesEvent(
|
|
id: HexKey,
|
|
pubKey: HexKey,
|
|
createdAt: Long,
|
|
tags: List<List<String>>,
|
|
content: String,
|
|
sig: HexKey
|
|
) : Event(id, pubKey, createdAt, kind, tags, content, sig) {
|
|
fun badgeAwardEvents() = tags.filter { it.firstOrNull() == "e" }.mapNotNull { it.getOrNull(1) }
|
|
fun badgeAwardDefinitions() = tags.filter { it.firstOrNull() == "a" }.mapNotNull {
|
|
val aTagValue = it.getOrNull(1)
|
|
val relay = it.getOrNull(2)
|
|
|
|
if (aTagValue != null) ATag.parse(aTagValue, relay) else null
|
|
}
|
|
|
|
fun dTag() = tags.filter { it.firstOrNull() == "d" }.mapNotNull { it.getOrNull(1) }.firstOrNull() ?: ""
|
|
fun address() = ATag(kind, pubKey, dTag(), null)
|
|
|
|
companion object {
|
|
const val kind = 30008
|
|
}
|
|
}
|