var { isGathering, isGatheringUpdate, isAttendee } = require('ssb-gathering-schema')
isGathering(msg)
// => true
schemas describe the content section of messages
{
type: gathering,
progenitor: MessageId // (optional) the thing that spawned this gathering
mentions: Array, // (optional) people to notify
recps: Array // (optional) private recipients
}
mentions / recps entries each a FeedId, or a 'link' object: { link: FeedId, name: String}
about)Updates to the details of a gathering are about messages with some / all of the following attributes.
(everything but type and about are optional)
{
type: 'about'
about: MessageId, // gathering
title: String, // (optional)
description: String, // (optional)
location: String, // (optional)
startDateTime: { // (optional)
epoch: Integer, // unix time
tz: TimeZoneString, // *
bias: Integer // * ?
silent: Boolean // * ?
},
image: { // (optional)
link: BlobId,
name: String,
size: Integer,
type: MimeType
},
recps: Array // (optional)
}
recps entries each a FeedId, or a 'link' object: { link: FeedId, name: String}
about){
type: 'about',
about: MessageId, // gathering
attendee: {
link: FeedId // can be about another person!
remove: true // (optional)
},
recps: Array // (optional)
}
recps entries each a FeedId, or a 'link' object: { link: FeedId, name: String}