git ssb

3+

arj / patchbook



Tree: 59b2150aa65f622113a8aae8016eb849a7345690

Files: 59b2150aa65f622113a8aae8016eb849a7345690 / book / obs / struct.js

864 bytesRaw
1const nest = require('depnest')
2const { Value, Set, Dict, Struct } = require('mutant')
3const eq = require('deep-equal')
4
5exports.needs = nest({
6 'sbot.async.publish': 'first'
7})
8
9exports.gives = nest('book.obs.struct')
10
11exports.create = function (api) {
12 return nest('book.obs.struct', function (opts = {}) {
13 const struct = Struct({
14 key: Value(''),
15 title: Value(''),
16 authors: Value(''),
17 description: Value(''),
18 images: Set([], { comparer: eq }),
19 subjective: Dict()
20 })
21
22 struct.create = function(cb)
23 {
24 let s = struct()
25
26 let message = {
27 type: 'bookclub',
28 title: s.title,
29 authors: s.authors,
30 description: s.description
31 }
32
33 if (s.images.length > 0)
34 message.image = s.images[0]
35
36 api.sbot.async.publish(message, cb)
37 }
38
39 return struct
40 })
41}
42

Built with git-ssb-web