Skip to content

Commit 3a1ce58

Browse files
committed
added resolve command
1 parent de9ca2f commit 3a1ce58

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"hubot-scripts": "^2.17.2",
1919
"hubot-shipit": "^0.2.1",
2020
"hubot-slack": "^4.5.1",
21-
"ipfs-api": "^22.1.0",
21+
"ipfs-api": "github:ipfs/js-ipfs-api#f77bbf59392bd4ea5ed04db46882ed265fcdd231",
2222
"underscore": "^1.9.1"
2323
},
2424
"engines": {

scripts/ipfs.coffee

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,14 @@ runCmdContent = (cmdfn) -> (res) ->
281281
# pinbot implementation
282282
module.exports = (robot) ->
283283

284+
resolveToCid = (res, path, cb) ->
285+
ipfs.resolve path, {r: true}, mustSucceed res, (path2) ->
286+
if path2.substr(0, 6) != '/ipfs/'
287+
return reportFail res, 'failed to resolve path. got: ' + path2
288+
cid = path2.substr(6)
289+
console.log('resolve', path, path2, cid)
290+
cb(cid)
291+
284292
# NODE INFO
285293
robot.respond /ipfs api-info/i, (res) ->
286294
res.send """
@@ -317,12 +325,13 @@ module.exports = (robot) ->
317325
# FILE COMMANDS
318326
robot.respond /ipfs files read (\S+)/i, runCmdContent ipfs.files.read
319327
robot.respond /ipfs files stat (\S+)/i, runCmd ipfs.files.stat
320-
robot.respond /ipfs files ls (\S)?/i, runCmd ipfs.files.ls,
328+
robot.respond /ipfs files ls (\S+)?/i, runCmd ipfs.files.ls,
321329
output: (o) -> _.pluck(o, 'name').join('\n')
322330

323331
# NAME COMMANDS
332+
robot.respond /ipfs resolve (\S+)/i, runCmdPath ipfs.resolve
324333
robot.respond /ipfs name resolve (\S+)/i, runCmd ipfs.name.resolve
325-
robot.respond /ipfs dns (\S+)/i, runCmd ipfs.dns.resolve
334+
robot.respond /ipfs dns (\S+)/i, runCmd ipfs.dns
326335

327336
# REPO AND PINNING COMMANDS
328337
robot.respond /ipfs repo version/i, runCmd ipfs.repo.version
@@ -334,12 +343,13 @@ module.exports = (robot) ->
334343
testApi res, ->
335344
res.send "pinning #{prettyPath path} (warning: experimental)"
336345
# todo: implement -r=false support (right now it assumes -r=true)
337-
ipfs.refs path, {r: true}, mustSucceed res, (r) ->
338-
ipfs.pin.add path, {r: true}, mustSucceed res, (r) ->
339-
res.send """
340-
success: pinned recursively: #{prettyPath path}
341-
(warning: this pinbot is experimental. do not rely on me yet.)
342-
"""
346+
resolveToCid res, path, (cid) ->
347+
ipfs.refs cid, {r: true}, mustSucceed res, (r) ->
348+
ipfs.pin.add cid, {r: true}, mustSucceed res, (r) ->
349+
res.send """
350+
success: pinned recursively: #{prettyPath path}
351+
(warning: this pinbot is experimental. do not rely on me yet.)
352+
"""
343353

344354
robot.respond /ipfs pin ls (\S+)/i, runCmdPath ipfs.pin.ls,
345355
output: (o) -> o.map((e) -> "#{e.hash} #{e.type}").join('\n')

0 commit comments

Comments
 (0)