This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.vitorpamplona.amethyst.service.model
|
package com.vitorpamplona.amethyst.service.model
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
import nostr.postr.Utils
|
import nostr.postr.Utils
|
||||||
import nostr.postr.events.Event
|
import nostr.postr.events.Event
|
||||||
@@ -16,10 +17,11 @@ class ChannelCreateEvent (
|
|||||||
@Transient val channelInfo: ChannelData
|
@Transient val channelInfo: ChannelData
|
||||||
|
|
||||||
init {
|
init {
|
||||||
try {
|
channelInfo = try {
|
||||||
channelInfo = MetadataEvent.gson.fromJson(content, ChannelData::class.java)
|
MetadataEvent.gson.fromJson(content, ChannelData::class.java)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
throw Error("can't parse $content", e)
|
Log.e("ChannelMetadataEvent", "Can't parse channel info $content", e)
|
||||||
|
ChannelData(null, null, null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,10 +29,15 @@ class ChannelCreateEvent (
|
|||||||
const val kind = 40
|
const val kind = 40
|
||||||
|
|
||||||
fun create(channelInfo: ChannelData?, privateKey: ByteArray, createdAt: Long = Date().time / 1000): ChannelCreateEvent {
|
fun create(channelInfo: ChannelData?, privateKey: ByteArray, createdAt: Long = Date().time / 1000): ChannelCreateEvent {
|
||||||
val content = if (channelInfo != null)
|
val content = try {
|
||||||
gson.toJson(channelInfo)
|
if (channelInfo != null)
|
||||||
else
|
gson.toJson(channelInfo)
|
||||||
|
else
|
||||||
|
""
|
||||||
|
} catch (t: Throwable) {
|
||||||
|
Log.e("ChannelCreateEvent", "Couldn't parse channel information", t)
|
||||||
""
|
""
|
||||||
|
}
|
||||||
|
|
||||||
val pubKey = Utils.pubkeyCreate(privateKey)
|
val pubKey = Utils.pubkeyCreate(privateKey)
|
||||||
val tags = emptyList<List<String>>()
|
val tags = emptyList<List<String>>()
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.vitorpamplona.amethyst.service.model
|
package com.vitorpamplona.amethyst.service.model
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
import nostr.postr.ContactMetaData
|
import nostr.postr.ContactMetaData
|
||||||
import nostr.postr.Utils
|
import nostr.postr.Utils
|
||||||
@@ -20,21 +21,24 @@ class ChannelMetadataEvent (
|
|||||||
|
|
||||||
init {
|
init {
|
||||||
channel = tags.firstOrNull { it.firstOrNull() == "e" }?.getOrNull(1)
|
channel = tags.firstOrNull { it.firstOrNull() == "e" }?.getOrNull(1)
|
||||||
try {
|
channelInfo =
|
||||||
channelInfo = MetadataEvent.gson.fromJson(content, ChannelCreateEvent.ChannelData::class.java)
|
try {
|
||||||
} catch (e: Exception) {
|
MetadataEvent.gson.fromJson(content, ChannelCreateEvent.ChannelData::class.java)
|
||||||
throw Error("can't parse $content", e)
|
} catch (e: Exception) {
|
||||||
}
|
Log.e("ChannelMetadataEvent", "Can't parse channel info $content", e)
|
||||||
|
ChannelCreateEvent.ChannelData(null, null, null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val kind = 41
|
const val kind = 41
|
||||||
|
|
||||||
fun create(newChannelInfo: ChannelCreateEvent.ChannelData?, originalChannelIdHex: String, privateKey: ByteArray, createdAt: Long = Date().time / 1000): ChannelMetadataEvent {
|
fun create(newChannelInfo: ChannelCreateEvent.ChannelData?, originalChannelIdHex: String, privateKey: ByteArray, createdAt: Long = Date().time / 1000): ChannelMetadataEvent {
|
||||||
val content = if (newChannelInfo != null)
|
val content =
|
||||||
gson.toJson(newChannelInfo)
|
if (newChannelInfo != null)
|
||||||
else
|
gson.toJson(newChannelInfo)
|
||||||
""
|
else
|
||||||
|
""
|
||||||
|
|
||||||
val pubKey = Utils.pubkeyCreate(privateKey)
|
val pubKey = Utils.pubkeyCreate(privateKey)
|
||||||
val tags = listOf( listOf("e", originalChannelIdHex, "", "root") )
|
val tags = listOf( listOf("e", originalChannelIdHex, "", "root") )
|
||||||
|
|||||||
Reference in New Issue
Block a user