diff options
Diffstat (limited to 'deps/npm/node_modules/libnpmhook/index.js')
-rw-r--r-- | deps/npm/node_modules/libnpmhook/index.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/deps/npm/node_modules/libnpmhook/index.js b/deps/npm/node_modules/libnpmhook/index.js new file mode 100644 index 0000000000..b59ff842e2 --- /dev/null +++ b/deps/npm/node_modules/libnpmhook/index.js @@ -0,0 +1,41 @@ +'use strict' + +const config = require('./config') +const fetch = require('npm-registry-fetch') + +module.exports = { + add (name, endpoint, secret, opts) { + let type = 'package' + if (name && name.match(/^@[^/]+$/)) { + type = 'scope' + } + if (name && name[0] === '~') { + type = 'owner' + name = name.substr(1) + } + + opts = config({ + method: 'POST', + body: { type, name, endpoint, secret } + }, opts) + return fetch.json('/-/npm/v1/hooks/hook', opts) + }, + + rm (id, opts) { + return fetch.json(`/-/npm/v1/hooks/hook/${encodeURIComponent(id)}`, config({ + method: 'DELETE' + }, opts)) + }, + + ls (pkg, opts) { + return fetch.json('/-/npm/v1/hooks', config({query: pkg && {package: pkg}}, opts)) + .then(json => json.objects) + }, + + update (id, endpoint, secret, opts) { + return fetch.json(`/-/npm/v1/hooks/hook/${encodeURIComponent(id)}`, config({ + method: 'PUT', + body: {endpoint, secret} + }, opts)) + } +} |