Forked from
briar / briar
3204 commits behind the upstream repository.
-
Torsten Grote authoredTorsten Grote authored
OutputPrivateRequest.kt 2.07 KiB
package org.briarproject.briar.headless.messaging
import org.briarproject.bramble.api.contact.ContactId
import org.briarproject.briar.api.blog.BlogInvitationRequest
import org.briarproject.briar.api.forum.ForumInvitationRequest
import org.briarproject.briar.api.introduction.IntroductionRequest
import org.briarproject.briar.api.messaging.PrivateMessageHeader
import org.briarproject.briar.api.messaging.PrivateRequest
import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest
import org.briarproject.briar.api.sharing.InvitationRequest
import org.briarproject.briar.headless.json.JsonDict
internal fun PrivateRequest<*>.output(contactId: ContactId): JsonDict {
val dict = (this as PrivateMessageHeader).output(contactId, null)
dict.putAll(
"sessionId" to sessionId.bytes,
"name" to name,
"answered" to wasAnswered()
)
return dict
}
internal fun IntroductionRequest.output(contactId: ContactId): JsonDict {
val dict = (this as PrivateRequest<*>).output(contactId)
dict.putAll(
"type" to "org.briarproject.briar.api.introduction.IntroductionRequest",
"alreadyContact" to isContact
)
return dict
}
internal fun InvitationRequest<*>.output(contactId: ContactId): JsonDict {
val dict = (this as PrivateRequest<*>).output(contactId)
dict["canBeOpened"] = canBeOpened()
return dict
}
internal fun BlogInvitationRequest.output(contactId: ContactId): JsonDict {
val dict = (this as InvitationRequest<*>).output(contactId)
dict["type"] = "org.briarproject.briar.api.blog.BlogInvitationRequest"
return dict
}
internal fun ForumInvitationRequest.output(contactId: ContactId): JsonDict {
val dict = (this as InvitationRequest<*>).output(contactId)
dict["type"] = "org.briarproject.briar.api.forum.ForumInvitationRequest"
return dict
}
internal fun GroupInvitationRequest.output(contactId: ContactId): JsonDict {
val dict = (this as InvitationRequest<*>).output(contactId)
dict["type"] = "org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest"
return dict
}