Prepares to create follow packs

This commit is contained in:
Vitor Pamplona
2025-11-12 12:33:10 -05:00
parent 8554257329
commit 90330165d2
3 changed files with 26 additions and 4 deletions
@@ -161,7 +161,7 @@ class FollowListEvent(
) {
dTag(dTag)
alt(ALT)
name(name)
title(name)
people(people)
initializer()
@@ -20,10 +20,32 @@
*/
package com.vitorpamplona.quartz.nip51Lists.followList
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.core.TagArrayBuilder
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import com.vitorpamplona.quartz.nip51Lists.muteList.tags.UserTag
import com.vitorpamplona.quartz.nip51Lists.tags.NameTag
import com.vitorpamplona.quartz.nip51Lists.tags.DescriptionTag
import com.vitorpamplona.quartz.nip51Lists.tags.ImageTag
import com.vitorpamplona.quartz.nip51Lists.tags.TitleTag
fun TagArrayBuilder<FollowListEvent>.name(name: String) = addUnique(NameTag.assemble(name))
fun TagArrayBuilder<FollowListEvent>.title(title: String) = addUnique(TitleTag.assemble(title))
fun TagArrayBuilder<FollowListEvent>.description(desc: String) = addUnique(DescriptionTag.assemble(desc))
fun TagArrayBuilder<FollowListEvent>.image(imageUrl: String) = addUnique(ImageTag.assemble(imageUrl))
fun TagArrayBuilder<FollowListEvent>.people(peoples: List<UserTag>) = addAll(peoples.map { it.toTagArray() })
fun TagArrayBuilder<FollowListEvent>.person(person: UserTag) = add(person.toTagArray())
fun TagArrayBuilder<FollowListEvent>.person(
pubkey: HexKey,
relayHint: NormalizedRelayUrl?,
) = add(UserTag.assemble(pubkey, relayHint))
fun TagArrayBuilder<FollowListEvent>.personFirst(
pubkey: HexKey,
relayHint: NormalizedRelayUrl?,
) = addFirst(UserTag.assemble(pubkey, relayHint))
fun TagArrayBuilder<FollowListEvent>.removePerson(pubkey: HexKey) = remove(UserTag.TAG_NAME, pubkey)
@@ -29,6 +29,6 @@ class ImageTag {
return tag[1]
}
fun assemble(name: String) = arrayOf(TAG_NAME, name)
fun assemble(url: String) = arrayOf(TAG_NAME, url)
}
}