]> gerrit.simantics Code Review - simantics/district.git/blob - dist-tags/set.js
Hide "enabled" column for non-component type tech type tables
[simantics/district.git] / dist-tags / set.js
1 module.exports = set
2
3 var assert = require('assert')
4 var url = require('url')
5
6 var npa = require('npm-package-arg')
7
8 function set (uri, params, cb) {
9   assert(typeof uri === 'string', 'must pass registry URI to distTags.set')
10   assert(
11     params && typeof params === 'object',
12     'must pass params to distTags.set'
13   )
14   assert(typeof cb === 'function', 'muss pass callback to distTags.set')
15
16   assert(
17     typeof params.package === 'string',
18     'must pass package name to distTags.set'
19   )
20   assert(
21     params.distTags && typeof params.distTags === 'object',
22     'must pass distTags map to distTags.set'
23   )
24   assert(
25     params.auth && typeof params.auth === 'object',
26     'must pass auth to distTags.set'
27   )
28
29   var p = npa(params.package)
30   var pkg = p.scope ? params.package.replace('/', '%2f') : params.package
31   var rest = '-/package/' + pkg + '/dist-tags'
32
33   var options = {
34     method: 'PUT',
35     body: JSON.stringify(params.distTags),
36     auth: params.auth
37   }
38   this.request(url.resolve(uri, rest), options, cb)
39 }