summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/libnpmhook/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/libnpmhook/index.js')
-rw-r--r--deps/npm/node_modules/libnpmhook/index.js41
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))
+ }
+}