Migrates to use "title" instead of "name" tags for NIP-51 lists.
This commit is contained in:
+6
-6
@@ -40,7 +40,7 @@ import com.vitorpamplona.quartz.nip51Lists.bookmarkList.tags.BookmarkIdTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.bookmarkList.tags.EventBookmark
|
||||
import com.vitorpamplona.quartz.nip51Lists.encryption.PrivateTagsInContent
|
||||
import com.vitorpamplona.quartz.nip51Lists.remove
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.NameTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.TitleTag
|
||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||
|
||||
@Immutable
|
||||
@@ -62,7 +62,7 @@ class BookmarkListEvent(
|
||||
|
||||
override fun linkedAddressIds() = tags.mapNotNull(AddressBookmark::parseAddressId)
|
||||
|
||||
fun name() = tags.firstNotNullOfOrNull(NameTag::parse)
|
||||
fun title() = tags.firstNotNullOfOrNull(TitleTag::parse)
|
||||
|
||||
fun countBookmarks() = tags.count(BookmarkIdTag::isTagged)
|
||||
|
||||
@@ -192,19 +192,19 @@ class BookmarkListEvent(
|
||||
}
|
||||
|
||||
suspend fun create(
|
||||
name: String = "",
|
||||
title: String = "",
|
||||
publicBookmarks: List<BookmarkIdTag> = emptyList(),
|
||||
privateBookmarks: List<BookmarkIdTag> = emptyList(),
|
||||
dTag: String = DEFAULT_D_TAG_BOOKMARKS,
|
||||
signer: NostrSigner,
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
): BookmarkListEvent {
|
||||
val template = build(name, publicBookmarks, privateBookmarks, signer, dTag, createdAt)
|
||||
val template = build(title, publicBookmarks, privateBookmarks, signer, dTag, createdAt)
|
||||
return signer.sign(template)
|
||||
}
|
||||
|
||||
suspend fun build(
|
||||
name: String = "",
|
||||
title: String = "",
|
||||
publicBookmarks: List<BookmarkIdTag> = emptyList(),
|
||||
privateBookmarks: List<BookmarkIdTag> = emptyList(),
|
||||
signer: NostrSigner,
|
||||
@@ -218,7 +218,7 @@ class BookmarkListEvent(
|
||||
) {
|
||||
dTag(dTag)
|
||||
alt(ALT)
|
||||
name(name)
|
||||
title(title)
|
||||
bookmarks(publicBookmarks)
|
||||
|
||||
initializer()
|
||||
|
||||
+4
@@ -23,7 +23,11 @@ package com.vitorpamplona.quartz.nip51Lists.bookmarkList
|
||||
import com.vitorpamplona.quartz.nip01Core.core.TagArrayBuilder
|
||||
import com.vitorpamplona.quartz.nip51Lists.bookmarkList.tags.BookmarkIdTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.NameTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.TitleTag
|
||||
|
||||
@Deprecated("NIP-51 has deprecated name. Use title instead", ReplaceWith("title()"))
|
||||
fun TagArrayBuilder<BookmarkListEvent>.name(name: String) = addUnique(NameTag.assemble(name))
|
||||
|
||||
fun TagArrayBuilder<BookmarkListEvent>.title(title: String) = addUnique(TitleTag.assemble(title))
|
||||
|
||||
fun TagArrayBuilder<BookmarkListEvent>.bookmarks(bookmarks: List<BookmarkIdTag>) = addAll(bookmarks.map { it.toTagArray() })
|
||||
|
||||
+12
-11
@@ -68,11 +68,12 @@ class LabeledBookmarkListEvent(
|
||||
|
||||
override fun linkedAddressIds() = tags.mapNotNull(AddressBookmark::parseAddressId)
|
||||
|
||||
@Deprecated("NIP-51 has deprecated name. Use title instead", ReplaceWith("title()"))
|
||||
fun name() = tags.firstNotNullOfOrNull(NameTag::parse)
|
||||
|
||||
fun title() = tags.firstNotNullOfOrNull(TitleTag::parse)
|
||||
|
||||
fun nameOrTitle() = name() ?: title()
|
||||
fun titleOrName() = title() ?: name()
|
||||
|
||||
fun description() = tags.firstNotNullOfOrNull(DescriptionTag::parse)
|
||||
|
||||
@@ -93,7 +94,7 @@ class LabeledBookmarkListEvent(
|
||||
fun createBookmarkAddress(pubKey: HexKey) = Address(KIND, pubKey, Uuid.random().toString())
|
||||
|
||||
suspend fun create(
|
||||
name: String = "",
|
||||
title: String = "",
|
||||
bookmarkIdTag: BookmarkIdTag,
|
||||
isPrivate: Boolean,
|
||||
optionalListDescription: String? = null,
|
||||
@@ -102,7 +103,7 @@ class LabeledBookmarkListEvent(
|
||||
): LabeledBookmarkListEvent =
|
||||
if (isPrivate) {
|
||||
create(
|
||||
name = name,
|
||||
title = title,
|
||||
description = optionalListDescription,
|
||||
publicBookmarks = emptyList(),
|
||||
privateBookmarks = listOf(bookmarkIdTag),
|
||||
@@ -111,7 +112,7 @@ class LabeledBookmarkListEvent(
|
||||
)
|
||||
} else {
|
||||
create(
|
||||
name = name,
|
||||
title = title,
|
||||
description = optionalListDescription,
|
||||
publicBookmarks = listOf(bookmarkIdTag),
|
||||
privateBookmarks = emptyList(),
|
||||
@@ -195,7 +196,7 @@ class LabeledBookmarkListEvent(
|
||||
|
||||
suspend fun modifyName(
|
||||
earlierVersion: LabeledBookmarkListEvent,
|
||||
newName: String,
|
||||
newTitle: String,
|
||||
signer: NostrSigner,
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
): LabeledBookmarkListEvent {
|
||||
@@ -203,9 +204,9 @@ class LabeledBookmarkListEvent(
|
||||
val currentTitle = earlierVersion.tags.first { it[0] == NameTag.TAG_NAME || it[0] == TitleTag.TAG_NAME }
|
||||
val newTitleTag =
|
||||
if (currentTitle[0] == NameTag.TAG_NAME) {
|
||||
NameTag.assemble(newName)
|
||||
NameTag.assemble(newTitle)
|
||||
} else {
|
||||
TitleTag.assemble(newName)
|
||||
TitleTag.assemble(newTitle)
|
||||
}
|
||||
|
||||
return resign(
|
||||
@@ -287,7 +288,7 @@ class LabeledBookmarkListEvent(
|
||||
|
||||
@OptIn(ExperimentalUuidApi::class)
|
||||
suspend fun create(
|
||||
name: String = "",
|
||||
title: String = "",
|
||||
description: String? = null,
|
||||
image: String? = null,
|
||||
publicBookmarks: List<BookmarkIdTag> = emptyList(),
|
||||
@@ -297,7 +298,7 @@ class LabeledBookmarkListEvent(
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
): LabeledBookmarkListEvent {
|
||||
val template =
|
||||
build(name, publicBookmarks, privateBookmarks, signer, dTag, createdAt) {
|
||||
build(title, publicBookmarks, privateBookmarks, signer, dTag, createdAt) {
|
||||
if (description != null) description(description)
|
||||
if (image != null) image(image)
|
||||
}
|
||||
@@ -306,7 +307,7 @@ class LabeledBookmarkListEvent(
|
||||
|
||||
@OptIn(ExperimentalUuidApi::class)
|
||||
suspend fun build(
|
||||
name: String = "",
|
||||
title: String = "",
|
||||
publicBookmarks: List<BookmarkIdTag> = emptyList(),
|
||||
privateBookmarks: List<BookmarkIdTag> = emptyList(),
|
||||
signer: NostrSigner,
|
||||
@@ -320,7 +321,7 @@ class LabeledBookmarkListEvent(
|
||||
) {
|
||||
dTag(dTag)
|
||||
alt(ALT)
|
||||
name(name)
|
||||
title(title)
|
||||
bookmarks(publicBookmarks)
|
||||
|
||||
initializer()
|
||||
|
||||
+4
@@ -25,9 +25,13 @@ import com.vitorpamplona.quartz.nip51Lists.bookmarkList.tags.BookmarkIdTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.DescriptionTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.ImageTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.NameTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.TitleTag
|
||||
|
||||
@Deprecated("NIP-51 has deprecated name. Use title instead", ReplaceWith("title()"))
|
||||
fun TagArrayBuilder<LabeledBookmarkListEvent>.name(name: String) = addUnique(NameTag.assemble(name))
|
||||
|
||||
fun TagArrayBuilder<LabeledBookmarkListEvent>.title(title: String) = addUnique(TitleTag.assemble(title))
|
||||
|
||||
fun TagArrayBuilder<LabeledBookmarkListEvent>.bookmarks(bookmarks: List<BookmarkIdTag>) = addAll(bookmarks.map { it.toTagArray() })
|
||||
|
||||
fun TagArrayBuilder<LabeledBookmarkListEvent>.description(listDescription: String) = addUnique(DescriptionTag.assemble(listDescription))
|
||||
|
||||
+13
-13
@@ -61,11 +61,11 @@ class PeopleListEvent(
|
||||
|
||||
override fun linkedPubKeys() = tags.mapNotNull(UserTag::parseKey)
|
||||
|
||||
@Deprecated("NIP-51 has deprecated name. Use title instead", ReplaceWith("title()"))
|
||||
fun name() = tags.firstNotNullOfOrNull(NameTag::parse)
|
||||
|
||||
fun nameOrTitle() = name() ?: title()
|
||||
fun titleOrName() = title() ?: name()
|
||||
|
||||
@Deprecated("NIP-51 has deprecated Title. Use name instead", ReplaceWith("name()"))
|
||||
fun title() = tags.firstNotNullOfOrNull(TitleTag::parse)
|
||||
|
||||
fun description() = tags.firstNotNullOfOrNull(DescriptionTag::parse)
|
||||
@@ -103,7 +103,7 @@ class PeopleListEvent(
|
||||
|
||||
@OptIn(ExperimentalUuidApi::class)
|
||||
suspend fun create(
|
||||
name: String,
|
||||
title: String,
|
||||
person: UserTag,
|
||||
isPrivate: Boolean,
|
||||
signer: NostrSigner,
|
||||
@@ -112,7 +112,7 @@ class PeopleListEvent(
|
||||
): PeopleListEvent =
|
||||
if (isPrivate) {
|
||||
create(
|
||||
name = name,
|
||||
title = title,
|
||||
publicMembers = emptyList(),
|
||||
privateMembers = listOf(person),
|
||||
signer = signer,
|
||||
@@ -121,7 +121,7 @@ class PeopleListEvent(
|
||||
)
|
||||
} else {
|
||||
create(
|
||||
name = name,
|
||||
title = title,
|
||||
publicMembers = listOf(person),
|
||||
privateMembers = emptyList(),
|
||||
signer = signer,
|
||||
@@ -249,20 +249,20 @@ class PeopleListEvent(
|
||||
|
||||
@OptIn(ExperimentalUuidApi::class)
|
||||
suspend fun create(
|
||||
name: String,
|
||||
title: String,
|
||||
publicMembers: List<UserTag> = emptyList(),
|
||||
privateMembers: List<UserTag> = emptyList(),
|
||||
signer: NostrSigner,
|
||||
dTag: String = Uuid.random().toString(),
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
): PeopleListEvent {
|
||||
val template = build(name, publicMembers, privateMembers, signer, dTag, createdAt)
|
||||
val template = build(title, publicMembers, privateMembers, signer, dTag, createdAt)
|
||||
return signer.sign(template)
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalUuidApi::class)
|
||||
suspend fun build(
|
||||
name: String,
|
||||
title: String,
|
||||
publicMembers: List<UserTag> = emptyList(),
|
||||
privateMembers: List<UserTag> = emptyList(),
|
||||
signer: NostrSigner,
|
||||
@@ -276,7 +276,7 @@ class PeopleListEvent(
|
||||
) {
|
||||
dTag(dTag)
|
||||
alt(ALT)
|
||||
name(name)
|
||||
title(title)
|
||||
peoples(publicMembers)
|
||||
|
||||
initializer()
|
||||
@@ -293,7 +293,7 @@ class PeopleListEvent(
|
||||
): PeopleListEvent {
|
||||
val newListTemplate =
|
||||
build(
|
||||
name = title,
|
||||
title = title,
|
||||
publicMembers = publicMembers,
|
||||
privateMembers = privateMembers,
|
||||
signer = signer,
|
||||
@@ -316,7 +316,7 @@ class PeopleListEvent(
|
||||
): PeopleListEvent {
|
||||
val cloneTemplate =
|
||||
build(
|
||||
name = title,
|
||||
title = title,
|
||||
publicMembers = publicMembers,
|
||||
privateMembers = privateMembers,
|
||||
signer = signer,
|
||||
@@ -330,14 +330,14 @@ class PeopleListEvent(
|
||||
}
|
||||
|
||||
suspend fun createListWithUser(
|
||||
name: String,
|
||||
title: String,
|
||||
pubKeyHex: String,
|
||||
isPrivate: Boolean,
|
||||
signer: NostrSigner,
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
): PeopleListEvent =
|
||||
create(
|
||||
name = name,
|
||||
title = title,
|
||||
person = UserTag(pubKey = pubKeyHex),
|
||||
isPrivate = isPrivate,
|
||||
signer = signer,
|
||||
|
||||
+4
@@ -25,9 +25,13 @@ import com.vitorpamplona.quartz.nip51Lists.muteList.tags.UserTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.DescriptionTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.ImageTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.NameTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.TitleTag
|
||||
|
||||
@Deprecated("NIP-51 has deprecated name. Use title instead", ReplaceWith("title()"))
|
||||
fun TagArrayBuilder<PeopleListEvent>.name(name: String) = addUnique(NameTag.assemble(name))
|
||||
|
||||
fun TagArrayBuilder<PeopleListEvent>.title(name: String) = addUnique(TitleTag.assemble(name))
|
||||
|
||||
fun TagArrayBuilder<PeopleListEvent>.description(desc: String) = addUnique(DescriptionTag.assemble(desc))
|
||||
|
||||
fun TagArrayBuilder<PeopleListEvent>.image(url: String) = addUnique(ImageTag.assemble(url))
|
||||
|
||||
+2
-2
@@ -37,8 +37,8 @@ import com.vitorpamplona.quartz.nip51Lists.relayLists.tags.relaySet
|
||||
import com.vitorpamplona.quartz.nip51Lists.remove
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.DescriptionTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.ImageTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.NameTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.RelayTag
|
||||
import com.vitorpamplona.quartz.nip51Lists.tags.TitleTag
|
||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||
|
||||
@Immutable
|
||||
@@ -52,7 +52,7 @@ class RelaySetEvent(
|
||||
) : PrivateTagArrayEvent(id, pubKey, createdAt, KIND, tags, content, sig) {
|
||||
fun relays(): List<NormalizedRelayUrl> = tags.mapNotNull(RelayTag.Companion::parse)
|
||||
|
||||
fun name() = tags.firstNotNullOfOrNull(NameTag::parse)
|
||||
fun title() = tags.firstNotNullOfOrNull(TitleTag::parse)
|
||||
|
||||
fun description() = tags.firstNotNullOfOrNull(DescriptionTag::parse)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user