mirror of
https://github.com/logos-messaging/nim-sds.git
synced 2026-01-03 22:53:12 +00:00
32 lines
1.1 KiB
Nim
32 lines
1.1 KiB
Nim
import std/json
|
|
import ./json_base_event, ../../src/[message], std/base64
|
|
|
|
type JsonMissingDependenciesEvent* = ref object of JsonEvent
|
|
messageId*: SdsMessageID
|
|
missingDeps*: seq[HistoryEntry]
|
|
channelId*: SdsChannelID
|
|
|
|
proc new*(
|
|
T: type JsonMissingDependenciesEvent,
|
|
messageId: SdsMessageID,
|
|
missingDeps: seq[HistoryEntry],
|
|
channelId: SdsChannelID,
|
|
): T =
|
|
return JsonMissingDependenciesEvent(
|
|
eventType: "missing_dependencies", messageId: messageId, missingDeps: missingDeps, channelId: channelId
|
|
)
|
|
|
|
method `$`*(jsonMissingDependencies: JsonMissingDependenciesEvent): string =
|
|
var node = newJObject()
|
|
node["eventType"] = %*jsonMissingDependencies.eventType
|
|
node["messageId"] = %*jsonMissingDependencies.messageId
|
|
node["channelId"] = %*jsonMissingDependencies.channelId
|
|
var missingDepsNode = newJArray()
|
|
for dep in jsonMissingDependencies.missingDeps:
|
|
var depNode = newJObject()
|
|
depNode["messageId"] = %*dep.messageId
|
|
depNode["retrievalHint"] = %*encode(dep.retrievalHint)
|
|
missingDepsNode.add(depNode)
|
|
node["missingDeps"] = missingDepsNode
|
|
$node
|