Server IP : 85.214.239.14 / Your IP : 18.217.112.154 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/lib/node_modules/npm/node_modules/libnpmorg/lib/ |
Upload File : |
'use strict' const eu = encodeURIComponent const fetch = require('npm-registry-fetch') const validate = require('aproba') // From https://github.com/npm/registry/blob/master/docs/orgs/memberships.md const cmd = module.exports class MembershipDetail {} cmd.set = (org, user, role, opts = {}) => { if ( typeof role === 'object' && Object.keys(opts).length === 0 ) { opts = role role = undefined } validate('SSSO|SSZO', [org, user, role, opts]) user = user.replace(/^@?/, '') org = org.replace(/^@?/, '') return fetch.json(`/-/org/${eu(org)}/user`, { ...opts, method: 'PUT', body: { user, role }, }).then(ret => Object.assign(new MembershipDetail(), ret)) } cmd.rm = (org, user, opts = {}) => { validate('SSO', [org, user, opts]) user = user.replace(/^@?/, '') org = org.replace(/^@?/, '') return fetch(`/-/org/${eu(org)}/user`, { ...opts, method: 'DELETE', body: { user }, ignoreBody: true, }).then(() => null) } class Roster {} cmd.ls = (org, opts = {}) => { return cmd.ls.stream(org, opts) .collect() .then(data => data.reduce((acc, [key, val]) => { if (!acc) { acc = {} } acc[key] = val return acc }, null)) .then(ret => Object.assign(new Roster(), ret)) } cmd.ls.stream = (org, opts = {}) => { validate('SO', [org, opts]) org = org.replace(/^@?/, '') return fetch.json.stream(`/-/org/${eu(org)}/user`, '*', { ...opts, mapJSON: (value, [key]) => { return [key, value] }, }) }