scuttle-tag v0.5.0
scuttle-tag
Tag reading and manipulation plugin for secure scuttlebutt.
gives observables and async methods for getting and publishing tags on secure scuttlebutt.
Dependencies
ssb-backlinks must be installed in your server
Message Schema
{
type: 'tag',
tagged: true | false,
message: %msg_id, // the message being tagged
root: %tag_id, // unless this is original message for this tag
branch: %tag_id | [%tag_id_a, %tag_id_b, ...] // only required if root present
}Instantiate
var ScuttleTag = require('scuttle-tag')(server)where server is a scuttlebutt server, ssb-client instance, or an observeable which will resolve to one of these!
API
tag.async.create({}, cb)
Creates a new tag message and calls cb when done.
tag.async.apply({ tag, message, tagged }, cb)
Creates a new tag message which applies the tag tag to the message message if tagged is true. (TODO: default tagged to true)
tag(required) - id of tag being appliedmessage(required) - id of message being taggedtagged(required) -trueif tag is being added,falseif tag is being removed
tag.async.name({ tag, name }, cb)
Sets the name of a tag and calls cb when done.
tag(required) - id of tag being namedname(required) - name being applied to the tag
tag.obs.Tag(tagId, nameFn)
Returns a Mutant observable Struct which represents a tag. This struct holds the tagId and tagName. Takes an optional nameFn which returns an observable representing the tagName. If nameFn is not provided it will attempt to use the ssb-names plugin and if that is not available its short id will be used.
tag.obs.recent()
Returns a Mutant obserable list of most recently used tags
tag.obs.mostActive()
Returns a Mutant observable list of most actively used tags
tag.obs.messageTags(msgId)
Returns a Mutant observable list of tagIds which have been applied to the message msgId.
tag.obs.messageTagsFrom(msgId, author)
Returns a Mutant observable list of tagIds which have been applied to the message msgId by the specified author.
tag.obs.messageTaggers(msgId, tagId)
Returns a Mutant observable list of users which have applied tag tagId to the message msgId.
tag.obs.allTags()
Returns a Mutant observable array of all published tag messages visible to you.
tag.obs.allTagsFrom(author)
Returns a Mutant observable array of all tag messages published by an user.
tag.obs.messagesTaggedByWith(author, tagId)
Returns a Mutant observable array of ids of messages. This array is messages that have had the tag tagId applied by author.