diff options
Diffstat (limited to 'deps/npm/lib/utils/npm-registry-client/star.js')
-rw-r--r-- | deps/npm/lib/utils/npm-registry-client/star.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/deps/npm/lib/utils/npm-registry-client/star.js b/deps/npm/lib/utils/npm-registry-client/star.js new file mode 100644 index 0000000000..474a1786d4 --- /dev/null +++ b/deps/npm/lib/utils/npm-registry-client/star.js @@ -0,0 +1,32 @@ + +module.exports = star + +var request = require("./request.js") + , GET = request.GET + , PUT = request.PUT + , log = require("../log.js") + , npm = require("../../npm.js") + +function star (package, starred, cb) { + var users = {} + + GET(package, function (er, fullData) { + if (er) return cb(er) + + fullData = { _id: fullData._id + , _rev: fullData._rev + , users: fullData.users || {} } + + if (starred) { + log.info("starring", fullData._id) + fullData.users[npm.config.get("username")] = true + log.verbose(fullData) + } else { + delete fullData.users[npm.config.get("username")] + log.info("unstarring", fullData._id) + log.verbose(fullData) + } + + return PUT(package, fullData, cb) + }) +} |