Consume inbound mantra events
This commit is contained in:
1 parent
1b19c6a1be
commit
9cf95483e8
1 file changed
+104
-93
+104
-93
@@ -123,99 +123,109 @@ data class ChatMessage(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
ArtifactEvent.KIND -> {
|
ArtifactEvent.KIND -> {
|
||||||
// TODO: Handle mantra messages
|
MantraArtifact.fromArtifactEvent(
|
||||||
database.mantraArtifactDao().upsert(
|
artifactEvent = ArtifactEvent(
|
||||||
MantraArtifact(
|
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
url = event.tags.first().first(),
|
tags = event.tags,
|
||||||
visibility = event.tags.first().first(),
|
content = event.content,
|
||||||
dialectId = event.tags.first().first(),
|
sig = event.sig
|
||||||
license = "",
|
|
||||||
copyrightOwner = "",
|
|
||||||
signature = event.sig,
|
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraArtifact ->
|
||||||
|
database.mantraArtifactDao().upsert(
|
||||||
|
mantraArtifact
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|
||||||
ArtifactVersionEvent.KIND -> {
|
ArtifactVersionEvent.KIND -> {
|
||||||
database.mantraArtifactVersionDao().upsert(
|
MantraArtifactVersion.fromArtifactVersionEvent(
|
||||||
MantraArtifactVersion(
|
artifactVersionEvent = ArtifactVersionEvent(
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
artifactId = event.tags.first().first(), // TODO: Get artifactId tag...
|
tags = event.tags,
|
||||||
versionLabel = event.tags.first().first(), // TODO: Get version label from tag...
|
content = event.content,
|
||||||
signature = event.sig
|
sig = event.sig
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraArtifactVersion ->
|
||||||
|
database.mantraArtifactVersionDao().upsert(
|
||||||
|
mantraArtifactVersion
|
||||||
|
)
|
||||||
|
}
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|
||||||
ChapterEvent.KIND -> {
|
ChapterEvent.KIND -> {
|
||||||
database.mantraChapterDao().upsert(
|
MantraChapter.fromChapterEvent(
|
||||||
MantraChapter(
|
chapterEvent = ChapterEvent(
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
artifactVersionId = event.tags.first().first(), // TODO: Get artifactVersionId from tags...
|
tags = event.tags,
|
||||||
name = event.tags.first().first(), // TODO: Get name from tags...
|
content = event.content,
|
||||||
originalText = event.content, // TODO: Get originalText from tags...
|
sig = event.sig
|
||||||
index = 0, // TODO: Get index from tags...
|
|
||||||
wordCount = 0, // TODO: Get wordCount from tags
|
|
||||||
characterCount = 0, // TODO: Get characterCount from tags
|
|
||||||
signature = event.sig
|
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraChapter ->
|
||||||
|
database.mantraChapterDao().upsert(
|
||||||
|
mantraChapter = mantraChapter
|
||||||
|
)
|
||||||
|
}
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|
||||||
ChunkEvent.KIND -> {
|
ChunkEvent.KIND -> {
|
||||||
database.mantraChunkDao().upsert(
|
MantraChunk.fromChunkEvent(
|
||||||
MantraChunk(
|
chunkEvent = ChunkEvent(
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
chapterId = event.tags.first().first(), // TODO: Get chapterId from tags
|
tags = event.tags,
|
||||||
text = event.content,
|
content = event.content,
|
||||||
index = 0, // TODO: Get index from tags...
|
sig = event.sig
|
||||||
wordCount = 0, // TODO: Get wordCount from tags
|
|
||||||
characterCount = 0, // TODO: Get characterCount from tags
|
|
||||||
signature = event.sig
|
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraChunk ->
|
||||||
|
database.mantraChunkDao().upsert(
|
||||||
|
mantraChunk = mantraChunk
|
||||||
|
)
|
||||||
|
}
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
DialectEvent.KIND -> {
|
DialectEvent.KIND -> {
|
||||||
database.mantraDialectDao().upsert(
|
MantraDialect.fromDialectEvent(
|
||||||
MantraDialect(
|
dialectEvent = DialectEvent(
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
name = event.tags.first().first(), // TODO: Get name from tags
|
tags = event.tags,
|
||||||
country = event.tags.first().first(), // TODO: Get country from tags
|
content = event.content,
|
||||||
language = event.tags.first().first(), // TODO: Get language from tags
|
sig = event.sig
|
||||||
signature = event.sig
|
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraDialect ->
|
||||||
|
database.mantraDialectDao().upsert(
|
||||||
|
mantraDialect
|
||||||
|
)
|
||||||
|
}
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslationArtifactVersionEvent.KIND -> {
|
TranslationArtifactVersionEvent.KIND -> {
|
||||||
database.mantraTranslationArtifactVersionDao().upsert(
|
MantraTranslationArtifactVersion.fromTranslationArtifactVersionEvent(
|
||||||
MantraTranslationArtifactVersion(
|
translationArtifactVersionEvent = TranslationArtifactVersionEvent(
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
artifactVersionId = event.tags.first().first(), // TODO: Get artifactVersionId from tags...
|
tags = event.tags,
|
||||||
dialectId = event.tags.first().first(),
|
content = event.content,
|
||||||
name = event.content,
|
sig = event.sig
|
||||||
visibility = event.tags.first().first(),
|
|
||||||
signature = event.sig
|
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraTranslationArtifactVersion ->
|
||||||
|
database.mantraTranslationArtifactVersionDao().upsert(
|
||||||
|
mantraTranslationArtifactVersion
|
||||||
|
)
|
||||||
|
}
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
TranslationArtifactVersionContributorListEvent.KIND -> {
|
TranslationArtifactVersionContributorListEvent.KIND -> {
|
||||||
@@ -223,32 +233,33 @@ data class ChatMessage(
|
|||||||
null
|
null
|
||||||
}
|
}
|
||||||
TranslationChapterEvent.KIND -> {
|
TranslationChapterEvent.KIND -> {
|
||||||
database.mantraTranslationChapterDao().upsert(
|
MantraTranslationChapter.fromTranslationChapterEvent(
|
||||||
MantraTranslationChapter(
|
translationChapterEvent = TranslationChapterEvent(
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
translationArtifactVersionId = event.tags.first().first(), // TODO: Get artifactVersionId from tags...
|
tags = event.tags,
|
||||||
chapterId = event.tags.first().first(),
|
content = event.content,
|
||||||
index = 0,
|
sig = event.sig
|
||||||
signature = event.sig
|
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraTranslationChapter ->
|
||||||
|
database.mantraTranslationChapterDao().upsert(mantraTranslationChapter)
|
||||||
|
}
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
TranslationChunkEvent.KIND -> {
|
TranslationChunkEvent.KIND -> {
|
||||||
database.mantraTranslationChunkDao().upsert(
|
MantraTranslationChunk.fromTranslationChunkEvent(
|
||||||
MantraTranslationChunk(
|
translationChunkEvent = TranslationChunkEvent(
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
chunkId = event.tags.first().first(),
|
tags = event.tags,
|
||||||
translationChapterId = event.tags.first().first(),
|
content = event.content,
|
||||||
index = 0,
|
sig = event.sig
|
||||||
text = event.content,
|
|
||||||
signature = event.sig
|
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraTranslationChunk ->
|
||||||
|
database.mantraTranslationChunkDao().upsert(mantraTranslationChunk)
|
||||||
|
}
|
||||||
|
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
@@ -256,19 +267,19 @@ data class ChatMessage(
|
|||||||
// TODO: Consume contributors...
|
// TODO: Consume contributors...
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslationEvent.KIND -> {
|
TranslationEvent.KIND -> {
|
||||||
database.mantraTranslationDao().upsert(
|
MantraTranslation.fromTranslationEvent(
|
||||||
MantraTranslation(
|
translationEvent = TranslationEvent(
|
||||||
id = event.id,
|
id = event.id,
|
||||||
publicKey = event.pubKey,
|
pubKey = event.pubKey,
|
||||||
createdAt = Instant.fromEpochSeconds(event.createdAt),
|
createdAt = event.createdAt,
|
||||||
translationArtifactVersionId = event.tags.first().first(), // TODO: Get artifactVersionId from tags...
|
tags = event.tags,
|
||||||
translationChunkId = event.tags.first().first(),
|
content = event.content,
|
||||||
text = event.content,
|
sig = event.sig
|
||||||
signature = event.sig
|
|
||||||
)
|
)
|
||||||
)
|
)?.let { mantraTranslation ->
|
||||||
|
database.mantraTranslationDao().upsert(mantraTranslation)
|
||||||
|
}
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
|
|||||||
Reference in new issue
Block a user