Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
vernemq
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
stack
vernemq
Commits
80fff711
Commit
80fff711
authored
Sep 20, 2018
by
zCaesar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refractor code 1st time
parent
61bbce57
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
303 additions
and
504 deletions
+303
-504
authhook/auth_on_publish.js
+17
-82
authhook/auth_on_register.js
+9
-24
authhook/auth_on_subscribe.js
+13
-76
authhook/checkClientRole.js
+17
-58
authhook/on_deliver.js
+0
-15
authhook/on_unsubscribe.js
+19
-22
authhook/package-lock.json
+175
-175
authhook/utils/getDates.js
+42
-0
authhook/utils/getGroupID.js
+11
-20
authhook/utils/getTopic.js
+0
-32
No files found.
authhook/auth_on_publish.js
View file @
80fff711
...
@@ -7,9 +7,9 @@ var LRU = require("lru-cache"),
...
@@ -7,9 +7,9 @@ var LRU = require("lru-cache"),
});
});
// for testing
// for testing
function
authCheck
(
client_id
,
username
,
topic
,
callback
)
{
//
function authCheck(client_id, username, topic, callback) {
callback
(
true
);
//
callback(true);
}
//
}
module
.
exports
=
function
(
options
=
{})
{
module
.
exports
=
function
(
options
=
{})
{
return
function
(
req
,
res
,
next
)
{
return
function
(
req
,
res
,
next
)
{
...
@@ -25,57 +25,24 @@ module.exports = function (options = {}) {
...
@@ -25,57 +25,24 @@ module.exports = function (options = {}) {
var
cachekey
=
'pub:'
+
req
.
body
.
client_id
+
':'
+
req
.
body
.
username
+
':'
+
topic
;
var
cachekey
=
'pub:'
+
req
.
body
.
client_id
+
':'
+
req
.
body
.
username
+
':'
+
topic
;
var
authstatus
=
cache
.
get
(
cachekey
);
var
authstatus
=
cache
.
get
(
cachekey
);
if
(
typeof
(
authstatus
)
===
'undefined'
)
{
// checkRole
cache
.
set
(
cachekey
,
true
);
// cache missed
var
checkRealDB
=
require
(
'./checkClientRole'
).
checkRealDB
;
checkRealDB
(
req
.
body
.
username
,
(
err
,
decoded
)
=>
{
if
(
err
)
{
// Set Response
var
isShadow
=
require
(
'./utils/getTopic'
).
isShadow
if
(
isShadow
(
topic
))
{
var
output
=
{};
var
getGroupID
=
require
(
'./utils/getGroupID'
).
getGroupID
getGroupID
(
req
.
body
.
username
,
req
.
body
.
client_id
,
(
_id
)
=>
{
// get groupID
var
_ftopic
=
require
(
'./utils/getTopic'
).
rewriteTopic
(
topic
,
'pub'
,
_id
,
req
.
body
.
client_id
,
output
);
// get topic where concat with groupID
var
response
=
{
'result'
:
'ok'
,
'modifiers'
:
{
'topic'
:
_ftopic
,
'qos'
:
0
,
'retain'
:
false
}
}
}
if
(
output
.
verb
==
'get'
||
output
.
verb
==
'read'
)
{
response
.
modifiers
.
payload
=
Buffer
.
from
(
req
.
body
.
client_id
).
toString
(
'base64'
);
}
console
.
log
(
response
);
var
response
if
(
typeof
(
authstatus
)
==
'undefined'
)
{
var
decoded
=
require
(
'./checkClientRole'
).
checkRealDB
(
req
.
body
.
username
)
// cache missed
if
(
decoded
)
{
authCheck
(
req
.
body
.
client_id
,
req
.
body
.
username
,
topic
,
function
(
result
)
{
if
(
decoded
.
role
===
'realtimedb'
)
response
=
{
'result'
:
'ok'
}
cache
.
set
(
cachekey
,
result
);
else
response
=
{
'result'
:
'no'
}
res
.
send
(
response
);
res
.
send
(
response
);
});
}
else
{
res
.
send
(
response
);
}
next
();
next
();
})
}
}
else
{
else
{
var
getGroupID
=
require
(
'./utils/getGroupID'
).
getGroupID
var
output
=
{};
getGroupID
(
req
.
body
.
username
,
req
.
body
.
client_id
,
(
_id
)
=>
{
// get groupID
var
_id
=
require
(
'./utils/getGroupID'
).
getGroupID
(
req
.
body
.
username
,
req
.
body
.
client_id
)
// console.log(_id)
var
_ftopic
=
require
(
'./utils/getTopic'
).
rewriteTopic
(
topic
,
'pub'
,
_id
,
req
.
body
.
client_id
,
output
);
// get topic where concat with groupID
var
_ftopic
=
require
(
'./utils/getTopic'
).
rewriteTopic
(
topic
,
'pub'
,
_id
,
req
.
body
.
client_id
)
// get topic where concat with groupID
response
=
{
var
response
=
{
'result'
:
'ok'
,
'result'
:
'ok'
,
'modifiers'
:
{
'modifiers'
:
{
'topic'
:
_ftopic
,
'topic'
:
_ftopic
,
...
@@ -83,47 +50,15 @@ module.exports = function (options = {}) {
...
@@ -83,47 +50,15 @@ module.exports = function (options = {}) {
'retain'
:
false
'retain'
:
false
}
}
}
}
console
.
log
(
response
)
if
(
output
.
verb
==
'get'
||
output
.
verb
==
'read'
)
{
response
.
modifiers
.
payload
=
Buffer
.
from
(
req
.
body
.
client_id
).
toString
(
'base64'
);
if
(
typeof
(
authstatus
)
==
'undefined'
)
{
// cache missed
authCheck
(
req
.
body
.
client_id
,
req
.
body
.
username
,
topic
,
function
(
result
)
{
cache
.
set
(
cachekey
,
result
);
res
.
send
(
response
);
});
}
else
{
res
.
send
(
response
);
}
next
();
})
}
}
else
{
console
.
log
(
decoded
)
if
(
decoded
.
role
===
'realtimedb'
)
{
var
response
=
{
'result'
:
'ok'
}
if
(
typeof
(
authstatus
)
==
'undefined'
)
{
// cache missed
authCheck
(
req
.
body
.
client_id
,
req
.
body
.
username
,
topic
,
function
(
result
)
{
cache
.
set
(
cachekey
,
result
);
res
.
send
(
response
);
});
}
}
else
{
res
.
send
(
response
);
res
.
send
(
response
);
}
next
();
next
();
}
}
}
}
})
}
else
{
else
{
res
.
send
({
res
.
send
({
"result"
:
"no"
});
"result"
:
"no"
});
next
();
next
();
}
}
}
}
...
...
authhook/auth_on_register.js
View file @
80fff711
var
config
=
require
(
'config'
);
var
config
=
require
(
'config'
);
var
checkRealDB
=
require
(
'./checkClientRole'
).
checkRealDB
var
getRole
=
require
(
'./checkClientRole'
).
getRole
// https://github.com/isaacs/node-lru-cache
// https://github.com/isaacs/node-lru-cache
var
LRU
=
require
(
"lru-cache"
),
var
LRU
=
require
(
"lru-cache"
),
...
@@ -10,23 +8,18 @@ var LRU = require("lru-cache"),
...
@@ -10,23 +8,18 @@ var LRU = require("lru-cache"),
});
});
var
debug
=
false
;
var
debug
=
false
;
var
authclient
=
require
(
'seneca'
)({
log
:
'silent'
})
var
authclient
=
require
(
'seneca'
)({
log
:
'silent'
})
.
client
({
port
:
config
.
get
(
'authserv_port'
),
host
:
config
.
get
(
'authserv_host'
)
});
.
client
({
port
:
config
.
get
(
'authserv_port'
),
host
:
config
.
get
(
'authserv_host'
)
});
function
authCheck
(
client_id
,
token
,
password
,
callback
)
{
function
authCheck
(
client_id
,
token
,
password
,
callback
)
{
checkRealDB
(
token
,
(
err
,
decoded
)
=>
{
if
(
require
(
'./checkClientRole'
).
checkRealDB
(
token
))
{
// auth realtimedb by token
/*
callback
(
true
)
* decode.scope
}
* decode.iat
else
{
* decode.exp
if
(
require
(
'./checkClientRole'
).
getRole
(
token
))
callback
(
true
)
// auth client device by token
*/
else
{
if
(
err
)
{
authclient
.
act
({
role
:
'auth'
,
cmd
:
'token'
,
action
:
'info'
,
token
:
token
},
function
(
err
,
res
)
{
// auth client device by query from db
getRole
(
token
,
(
role
)
=>
{
if
(
role
===
false
)
{
authclient
.
act
({
role
:
'auth'
,
cmd
:
'token'
,
action
:
'info'
,
token
:
token
},
function
(
err
,
res
)
{
if
(
debug
)
{
if
(
debug
)
{
console
.
log
(
"res ------>
\
n"
);
console
.
log
(
"res ------>
\
n"
);
console
.
log
(
res
);
console
.
log
(
res
);
...
@@ -48,16 +41,8 @@ function authCheck(client_id, token, password, callback) {
...
@@ -48,16 +41,8 @@ function authCheck(client_id, token, password, callback) {
callback
(
false
);
callback
(
false
);
}
}
});
});
}
}
else
callback
(
true
)
})
}
}
else
{
callback
(
true
)
}
})
}
}
module
.
exports
=
function
(
options
=
{})
{
module
.
exports
=
function
(
options
=
{})
{
...
...
authhook/auth_on_subscribe.js
View file @
80fff711
...
@@ -9,9 +9,9 @@ var LRU = require("lru-cache"),
...
@@ -9,9 +9,9 @@ var LRU = require("lru-cache"),
var
debug
=
false
;
var
debug
=
false
;
// for testing
// for testing
function
authCheck
(
client_id
,
token
,
topic
,
callback
)
{
//
function authCheck(client_id, token, topic, callback) {
callback
(
true
);
//
callback(true);
}
//
}
module
.
exports
=
function
(
options
=
{})
{
module
.
exports
=
function
(
options
=
{})
{
...
@@ -30,99 +30,36 @@ module.exports = function (options = {}) {
...
@@ -30,99 +30,36 @@ module.exports = function (options = {}) {
var
cachekey
=
'sub:'
+
req
.
body
.
client_id
+
':'
+
req
.
body
.
username
+
':'
+
topic
;
var
cachekey
=
'sub:'
+
req
.
body
.
client_id
+
':'
+
req
.
body
.
username
+
':'
+
topic
;
var
authstatus
=
cache
.
get
(
cachekey
);
var
authstatus
=
cache
.
get
(
cachekey
);
// checkRole
var
checkRealDB
=
require
(
'./checkClientRole'
).
checkRealDB
checkRealDB
(
req
.
body
.
username
,
(
err
,
decoded
)
=>
{
if
(
err
)
{
// Set Response
var
isShadow
=
require
(
'./utils/getTopic'
).
isShadow
if
(
isShadow
(
topic
))
{
var
getGroupID
=
require
(
'./utils/getGroupID'
).
getGroupID
getGroupID
(
req
.
body
.
username
,
req
.
body
.
client_id
,
(
_id
)
=>
{
// get groupID
var
_ftopic
=
require
(
'./utils/getTopic'
).
rewriteTopic
(
topic
,
'sub'
,
_id
,
req
.
body
.
client_id
)
// get topic where concat with groupID
var
_topic
=
[{
// setTopic for response
'topic'
:
_ftopic
,
'qos'
:
0
}]
var
response
=
{
'result'
:
'ok'
,
'topics'
:
_topic
}
console
.
log
(
response
)
if
(
typeof
(
authstatus
)
==
'undefined'
)
{
if
(
typeof
(
authstatus
)
==
'undefined'
)
{
// cache missed
cache
.
set
(
cachekey
,
true
);
// cache missed
authCheck
(
req
.
body
.
client_id
,
req
.
body
.
username
,
topic
,
function
(
result
)
{
cache
.
set
(
cachekey
,
result
);
res
.
send
(
response
);
});
}
}
else
{
var
response
var
decoded
=
require
(
'./checkClientRole'
).
checkRealDB
(
req
.
body
.
username
)
if
(
decoded
)
{
if
(
decoded
.
role
===
'realtimedb'
)
response
=
{
'result'
:
'ok'
}
else
response
=
{
'result'
:
'no'
}
res
.
send
(
response
);
res
.
send
(
response
);
}
next
();
next
();
})
}
}
else
{
else
{
var
getGroupID
=
require
(
'./utils/getGroupID'
).
getGroupID
var
_id
=
require
(
'./utils/getGroupID'
).
getGroupID
(
req
.
body
.
username
,
req
.
body
.
client_id
)
getGroupID
(
req
.
body
.
username
,
req
.
body
.
client_id
,
(
_id
)
=>
{
// get groupID
// console.log(_id)
var
_ftopic
=
require
(
'./utils/getTopic'
).
rewriteTopic
(
topic
,
'sub'
,
_id
,
req
.
body
.
client_id
)
// get topic where concat with groupID
var
_ftopic
=
require
(
'./utils/getTopic'
).
rewriteTopic
(
topic
,
'sub'
,
_id
,
req
.
body
.
client_id
)
// get topic where concat with groupID
var
_topic
=
[{
// setTopic for response
var
_topic
=
[{
// setTopic for response
'topic'
:
_ftopic
,
'topic'
:
_ftopic
,
'qos'
:
0
'qos'
:
0
}]
}]
var
response
=
{
response
=
{
'result'
:
'ok'
,
'result'
:
'ok'
,
'topics'
:
_topic
'topics'
:
_topic
}
}
console
.
log
(
response
)
if
(
typeof
(
authstatus
)
==
'undefined'
)
{
// cache missed
authCheck
(
req
.
body
.
client_id
,
req
.
body
.
username
,
topic
,
function
(
result
)
{
cache
.
set
(
cachekey
,
result
);
res
.
send
(
response
);
res
.
send
(
response
);
});
}
else
{
res
.
send
(
response
);
}
next
();
})
}
}
else
{
console
.
log
(
decoded
)
if
(
decoded
.
role
===
'realtimedb'
)
{
var
response
=
{
'result'
:
'ok'
}
if
(
typeof
(
authstatus
)
==
'undefined'
)
{
// cache missed
authCheck
(
req
.
body
.
client_id
,
req
.
body
.
username
,
topic
,
function
(
result
)
{
cache
.
set
(
cachekey
,
result
);
res
.
send
(
response
);
});
}
else
{
res
.
send
(
response
);
}
next
();
next
();
}
}
}
}
})
}
else
{
else
{
res
.
send
({
res
.
send
({
"result"
:
"no"
});
"result"
:
"no"
});
next
();
next
();
}
}
}
}
}
}
authhook/checkClientRole.js
View file @
80fff711
var
jwt
=
require
(
'jsonwebtoken'
)
var
jwt
=
require
(
'jsonwebtoken'
)
var
config
=
require
(
'config'
)
var
config
=
require
(
'config'
)
var
getExp
=
require
(
'./utils/getDates'
).
getExp
function
checkRealDB
(
token
,
cb
)
{
module
.
exports
.
checkRealDB
=
checkRealDB
module
.
exports
.
getRole
=
getRole
module
.
exports
.
signRole
=
signRole
function
checkRealDB
(
token
)
{
const
verifyOptions
=
{
const
verifyOptions
=
{
algorithms
:
[
'RS256'
]
algorithms
:
[
'RS256'
]
};
};
jwt
.
verify
(
token
,
config
.
get
(
'pubca'
),
verifyOptions
,
(
err
,
decoded
)
=>
{
try
{
cb
(
err
,
decoded
)
return
jwt
.
verify
(
token
,
config
.
get
(
'pubca'
),
verifyOptions
)
})
}
catch
(
e
)
{
return
false
}
}
}
module
.
exports
.
checkRealDB
=
checkRealDB
function
getRole
(
token
,
cb
)
{
function
getRole
(
token
)
{
var
secret
=
'nexpie'
var
secret
=
'nexpie'
jwt
.
verify
(
token
,
secret
,
(
err
,
decoded
)
=>
{
try
{
if
(
err
)
{
return
jwt
.
verify
(
token
,
secret
)
// console.log(err)
cb
(
false
)
}
}
else
{
catch
(
e
)
{
// console.log(decoded)
return
false
cb
(
decoded
)
}
}
})
}
}
module
.
exports
.
getRole
=
getRole
function
signRole
(
req
,
res
)
{
function
signRole
(
req
,
res
)
{
var
secret
=
'nexpie'
var
secret
=
'nexpie'
...
@@ -40,44 +42,3 @@ function signRole(req, res) {
...
@@ -40,44 +42,3 @@ function signRole(req, res) {
res
.
send
(
'role not complete'
)
res
.
send
(
'role not complete'
)
}
}
}
}
\ No newline at end of file
module
.
exports
.
signRole
=
signRole
function
getExp
(
expires
)
{
var
exp
if
(
expires
.
endsWith
(
'y'
))
{
exp
=
getYears
(
expires
.
split
(
'y'
)[
0
])
}
else
if
(
expires
.
endsWith
(
'm'
))
{
exp
=
getMonths
(
expires
.
split
(
'm'
)[
0
])
}
else
if
(
expires
.
endsWith
(
'd'
))
{
exp
=
expires
.
split
(
'd'
)[
0
]
+
'd'
}
else
if
(
expires
.
endsWith
(
'h'
))
{
exp
=
expires
.
split
(
'h'
)[
0
]
+
'h'
}
else
if
(
expires
.
endsWith
(
'mi'
))
{
exp
=
getMinutes
(
expires
.
split
(
'mi'
)[
0
])
}
else
if
(
expires
.
endsWith
(
's'
))
{
exp
=
getSeconds
(
expires
.
split
(
's'
)[
0
])
}
else
exp
=
getYears
(
10
)
return
exp
}
function
getMonths
(
d
)
{
return
(
d
*
30
)
+
'd'
}
function
getYears
(
m
)
{
return
(
m
*
30
*
12
)
+
'd'
}
function
getMinutes
(
mi
)
{
return
(
mi
*
1000
*
60
)
+
'ms'
}
function
getSeconds
(
ms
)
{
return
(
ms
*
1000
)
+
'ms'
}
\ No newline at end of file
authhook/on_deliver.js
View file @
80fff711
...
@@ -16,21 +16,6 @@ function on_deliver(req, res, next) {
...
@@ -16,21 +16,6 @@ function on_deliver(req, res, next) {
}
}
module
.
exports
.
on_deliver
=
on_deliver
module
.
exports
.
on_deliver
=
on_deliver
function
hasGroup
(
topics
)
{
if
(
topics
.
indexOf
(
'!'
)
>
-
1
)
{
return
true
}
else
return
false
}
module
.
exports
.
hasGroup
=
hasGroup
// function beDesireTopic(topics) {
// if (hasGroup(topics)) {
// return joinTopic(topics)
// }
// else return topics
// }
function
joinTopic
(
topics
)
{
function
joinTopic
(
topics
)
{
var
topic
=
topics
.
split
(
'/!'
)[
1
]
var
topic
=
topics
.
split
(
'/!'
)[
1
]
return
topics
.
split
(
'/!'
)[
0
]
+
topic
.
substring
(
topic
.
indexOf
(
'/'
),
topic
.
length
)
return
topics
.
split
(
'/!'
)[
0
]
+
topic
.
substring
(
topic
.
indexOf
(
'/'
),
topic
.
length
)
...
...
authhook/on_unsubscribe.js
View file @
80fff711
...
@@ -2,33 +2,31 @@ function on_unsubscribe(req, res, next) {
...
@@ -2,33 +2,31 @@ function on_unsubscribe(req, res, next) {
console
.
log
(
'------on unsubscribe-------'
)
console
.
log
(
'------on unsubscribe-------'
)
console
.
log
(
req
.
body
)
console
.
log
(
req
.
body
)
var
topic
=
req
.
body
.
topics
[
0
];
var
topic
=
req
.
body
.
topics
[
0
];
// checkRole
var
token
=
req
.
body
.
username
var
checkRealDB
=
require
(
'./checkClientRole'
).
checkRealDB
var
client_id
=
req
.
body
.
client_id
checkRealDB
(
req
.
body
.
username
,
(
err
,
decoded
)
=>
{
var
response
if
(
err
)
{
// Set Response
var
decoded
=
require
(
'./checkClientRole'
).
checkRealDB
(
token
)
var
getGroupID
=
require
(
'./utils/getGroupID'
).
getGroupID
if
(
decoded
)
{
getGroupID
(
req
.
body
.
username
,
req
.
body
.
client_id
,
(
_id
)
=>
{
// get groupID
if
(
decoded
.
role
===
'realtimedb'
)
{
// console.log(_id)
response
=
{
'result'
:
'ok'
}
var
_ftopic
=
require
(
'./utils/getTopic'
).
rewriteTopic
(
topic
,
'unsub'
,
_id
,
req
.
body
.
client_id
)
// get topic where concat with groupID
var
response
=
{
"result"
:
"ok"
,
"topics"
:
[
_ftopic
]
}
}
console
.
log
(
response
)
else
response
=
{
'result'
:
'no'
}
res
.
send
(
response
);
res
.
send
(
response
);
}
)
next
(
)
}
}
else
{
else
{
console
.
log
(
decoded
)
var
_id
=
require
(
'./utils/getGroupID'
).
getGroupID
(
token
,
client_id
)
if
(
decoded
.
role
===
'realtimedb'
)
{
if
(
_id
)
{
var
response
=
{
var
_ftopic
=
require
(
'./utils/getTopic'
).
rewriteTopic
(
topic
,
'unsub'
,
_id
,
client_id
)
'result'
:
'ok'
response
=
{
"result"
:
"ok"
,
"topics"
:
[
_ftopic
]
}
}
console
.
log
(
response
)
res
.
send
(
response
);
}
}
else
response
=
{
'result'
:
'no'
}
res
.
send
(
response
);
next
()
}
}
})
}
}
module
.
exports
.
on_unsubscribe
=
on_unsubscribe
module
.
exports
.
on_unsubscribe
=
on_unsubscribe
\ No newline at end of file
authhook/package-lock.json
View file @
80fff711
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
"resolved"
:
"https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"
,
"integrity"
:
"sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="
,
"integrity"
:
"sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="
,
"requires"
:
{
"requires"
:
{
"safer-buffer"
:
"
2.1.2
"
"safer-buffer"
:
"
~2.1.0
"
}
}
},
},
"assert-plus"
:
{
"assert-plus"
:
{
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
"resolved"
:
"https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz"
,
"integrity"
:
"sha1-9hbtqdPktmuMp/ynn2lXIsX44m8="
,
"integrity"
:
"sha1-9hbtqdPktmuMp/ynn2lXIsX44m8="
,
"requires"
:
{
"requires"
:
{
"precond"
:
"0.2
.3
"
"precond"
:
"0.2"
}
}
},
},
"balanced-match"
:
{
"balanced-match"
:
{
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
"integrity"
:
"sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4="
,
"integrity"
:
"sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4="
,
"optional"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"tweetnacl"
:
"
0.14.5
"
"tweetnacl"
:
"
^0.14.3
"
}
}
},
},
"boom"
:
{
"boom"
:
{
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
"resolved"
:
"https://registry.npmjs.org/boom/-/boom-5.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/boom/-/boom-5.2.0.tgz"
,
"integrity"
:
"sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw=="
,
"integrity"
:
"sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw=="
,
"requires"
:
{
"requires"
:
{
"hoek"
:
"4.
2.1
"
"hoek"
:
"4.
x.x
"
}
}
},
},
"brace-expansion"
:
{
"brace-expansion"
:
{
...
@@ -57,7 +57,7 @@
...
@@ -57,7 +57,7 @@
"resolved"
:
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
,
"resolved"
:
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
,
"integrity"
:
"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
,
"integrity"
:
"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
,
"requires"
:
{
"requires"
:
{
"balanced-match"
:
"1.0.0"
,
"balanced-match"
:
"
^
1.0.0"
,
"concat-map"
:
"0.0.1"
"concat-map"
:
"0.0.1"
}
}
},
},
...
@@ -77,10 +77,10 @@
...
@@ -77,10 +77,10 @@
"resolved"
:
"https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz"
,
"resolved"
:
"https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz"
,
"integrity"
:
"sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c="
,
"integrity"
:
"sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c="
,
"requires"
:
{
"requires"
:
{
"dtrace-provider"
:
"
0.8.7
"
,
"dtrace-provider"
:
"
~0.8
"
,
"moment"
:
"
2.22.2
"
,
"moment"
:
"
^2.10.6
"
,
"mv"
:
"
2.1.1
"
,
"mv"
:
"
~2
"
,
"safe-json-stringify"
:
"
1.2.0
"
"safe-json-stringify"
:
"
~1
"
}
}
},
},
"commander"
:
{
"commander"
:
{
...
@@ -99,7 +99,7 @@
...
@@ -99,7 +99,7 @@
"resolved"
:
"https://registry.npmjs.org/config/-/config-1.31.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/config/-/config-1.31.0.tgz"
,
"integrity"
:
"sha512-Ep/l9Rd1J9IPueztJfpbOqVzuKHQh4ZODMNt9xqTYdBBNRXbV4oTu34kCkkfdRVcDq0ohtpaeXGgb+c0LQxFRA=="
,
"integrity"
:
"sha512-Ep/l9Rd1J9IPueztJfpbOqVzuKHQh4ZODMNt9xqTYdBBNRXbV4oTu34kCkkfdRVcDq0ohtpaeXGgb+c0LQxFRA=="
,
"requires"
:
{
"requires"
:
{
"json5"
:
"1.0.1"
"json5"
:
"
^
1.0.1"
}
}
},
},
"core-util-is"
:
{
"core-util-is"
:
{
...
@@ -112,10 +112,10 @@
...
@@ -112,10 +112,10 @@
"resolved"
:
"https://registry.npmjs.org/csv/-/csv-1.2.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/csv/-/csv-1.2.1.tgz"
,
"integrity"
:
"sha1-UjHt/BxxUlEuxFeBB2p6l/9SXAw="
,
"integrity"
:
"sha1-UjHt/BxxUlEuxFeBB2p6l/9SXAw="
,
"requires"
:
{
"requires"
:
{
"csv-generate"
:
"1.1.2"
,
"csv-generate"
:
"
^
1.1.2"
,
"csv-parse"
:
"1.3.3"
,
"csv-parse"
:
"
^
1.3.3"
,
"csv-stringify"
:
"1.1.2"
,
"csv-stringify"
:
"
^
1.1.2"
,
"stream-transform"
:
"0.2.2"
"stream-transform"
:
"
^
0.2.2"
}
}
},
},
"csv-generate"
:
{
"csv-generate"
:
{
...
@@ -133,7 +133,7 @@
...
@@ -133,7 +133,7 @@
"resolved"
:
"https://registry.npmjs.org/csv-stringify/-/csv-stringify-1.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/csv-stringify/-/csv-stringify-1.1.2.tgz"
,
"integrity"
:
"sha1-d6QVJlgbzjOA8SsA18W7rHDIK1g="
,
"integrity"
:
"sha1-d6QVJlgbzjOA8SsA18W7rHDIK1g="
,
"requires"
:
{
"requires"
:
{
"lodash.get"
:
"4.4.2"
"lodash.get"
:
"
~
4.4.2"
}
}
},
},
"dashdash"
:
{
"dashdash"
:
{
...
@@ -141,7 +141,7 @@
...
@@ -141,7 +141,7 @@
"resolved"
:
"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"
,
"integrity"
:
"sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA="
,
"integrity"
:
"sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA="
,
"requires"
:
{
"requires"
:
{
"assert-plus"
:
"1.0.0"
"assert-plus"
:
"
^
1.0.0"
}
}
},
},
"debug"
:
{
"debug"
:
{
...
@@ -169,7 +169,7 @@
...
@@ -169,7 +169,7 @@
"integrity"
:
"sha1-3JObTT4GIM/gwc2APQ0tftBP/QQ="
,
"integrity"
:
"sha1-3JObTT4GIM/gwc2APQ0tftBP/QQ="
,
"optional"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"nan"
:
"
2.11
.0"
"nan"
:
"
^2.10
.0"
}
}
},
},
"ecc-jsbn"
:
{
"ecc-jsbn"
:
{
...
@@ -178,8 +178,8 @@
...
@@ -178,8 +178,8 @@
"integrity"
:
"sha1-OoOpBOVDUyh4dMVkt1SThoSamMk="
,
"integrity"
:
"sha1-OoOpBOVDUyh4dMVkt1SThoSamMk="
,
"optional"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"jsbn"
:
"
0.1.1
"
,
"jsbn"
:
"
~0.1.0
"
,
"safer-buffer"
:
"
2.1.2
"
"safer-buffer"
:
"
^2.1.0
"
}
}
},
},
"ecdsa-sig-formatter"
:
{
"ecdsa-sig-formatter"
:
{
...
@@ -187,7 +187,7 @@
...
@@ -187,7 +187,7 @@
"resolved"
:
"https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz"
,
"integrity"
:
"sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM="
,
"integrity"
:
"sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM="
,
"requires"
:
{
"requires"
:
{
"safe-buffer"
:
"
5.1.2
"
"safe-buffer"
:
"
^5.0.1
"
}
}
},
},
"eraro"
:
{
"eraro"
:
{
...
@@ -195,7 +195,7 @@
...
@@ -195,7 +195,7 @@
"resolved"
:
"https://registry.npmjs.org/eraro/-/eraro-1.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/eraro/-/eraro-1.0.0.tgz"
,
"integrity"
:
"sha512-JeEqKyNgOxZNji2otWWDCDu1sWqGkrIBBhoGQH0LrPZObccQW8CoD94xkOtpmmlHeY/frG8IwR+jeCS8SQA/Xw=="
,
"integrity"
:
"sha512-JeEqKyNgOxZNji2otWWDCDu1sWqGkrIBBhoGQH0LrPZObccQW8CoD94xkOtpmmlHeY/frG8IwR+jeCS8SQA/Xw=="
,
"requires"
:
{
"requires"
:
{
"lodash"
:
"4.17
.10
"
"lodash"
:
"4.17"
}
}
},
},
"escape-regexp-component"
:
{
"escape-regexp-component"
:
{
...
@@ -214,7 +214,7 @@
...
@@ -214,7 +214,7 @@
"resolved"
:
"https://registry.npmjs.org/ewma/-/ewma-2.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ewma/-/ewma-2.0.1.tgz"
,
"integrity"
:
"sha512-MYYK17A76cuuyvkR7MnqLW4iFYPEi5Isl2qb8rXiWpLiwFS9dxW/rncuNnjjgSENuVqZQkIuR4+DChVL4g1lnw=="
,
"integrity"
:
"sha512-MYYK17A76cuuyvkR7MnqLW4iFYPEi5Isl2qb8rXiWpLiwFS9dxW/rncuNnjjgSENuVqZQkIuR4+DChVL4g1lnw=="
,
"requires"
:
{
"requires"
:
{
"assert-plus"
:
"1.0.0"
"assert-plus"
:
"
^
1.0.0"
}
}
},
},
"extsprintf"
:
{
"extsprintf"
:
{
...
@@ -232,9 +232,9 @@
...
@@ -232,9 +232,9 @@
"resolved"
:
"https://registry.npmjs.org/find-my-way/-/find-my-way-1.15.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/find-my-way/-/find-my-way-1.15.2.tgz"
,
"integrity"
:
"sha512-mngORPD+dxVhaZWB3nv2VE4J7ch1Mm4VcwNuYnixgZeHMfJujbOJ6CCWxDdI41WS4MykPYUA3aTCyux60sy4VQ=="
,
"integrity"
:
"sha512-mngORPD+dxVhaZWB3nv2VE4J7ch1Mm4VcwNuYnixgZeHMfJujbOJ6CCWxDdI41WS4MykPYUA3aTCyux60sy4VQ=="
,
"requires"
:
{
"requires"
:
{
"fast-decode-uri-component"
:
"1.0.0"
,
"fast-decode-uri-component"
:
"
^
1.0.0"
,
"safe-regex"
:
"1.1.0"
,
"safe-regex"
:
"
^
1.1.0"
,
"semver-store"
:
"0.3.0"
"semver-store"
:
"
^
0.3.0"
}
}
},
},
"formidable"
:
{
"formidable"
:
{
...
@@ -258,7 +258,7 @@
...
@@ -258,7 +258,7 @@
"resolved"
:
"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"
,
"resolved"
:
"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"
,
"integrity"
:
"sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo="
,
"integrity"
:
"sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo="
,
"requires"
:
{
"requires"
:
{
"assert-plus"
:
"1.0.0"
"assert-plus"
:
"
^
1.0.0"
}
}
},
},
"gex"
:
{
"gex"
:
{
...
@@ -266,7 +266,7 @@
...
@@ -266,7 +266,7 @@
"resolved"
:
"https://registry.npmjs.org/gex/-/gex-0.3.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/gex/-/gex-0.3.0.tgz"
,
"integrity"
:
"sha512-A1F2DMZUAnieFmVowt1QHcH7AJQZApRThR+z4C0GlzMGi6VYUAf9UvQdxODiCajGPGSRso86YJQ48E8+b5CBAQ=="
,
"integrity"
:
"sha512-A1F2DMZUAnieFmVowt1QHcH7AJQZApRThR+z4C0GlzMGi6VYUAf9UvQdxODiCajGPGSRso86YJQ48E8+b5CBAQ=="
,
"requires"
:
{
"requires"
:
{
"lodash"
:
"4.17
.10
"
"lodash"
:
"4.17"
}
}
},
},
"glob"
:
{
"glob"
:
{
...
@@ -275,11 +275,11 @@
...
@@ -275,11 +275,11 @@
"integrity"
:
"sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI="
,
"integrity"
:
"sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI="
,
"optional"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"inflight"
:
"
1.0.6
"
,
"inflight"
:
"
^1.0.4
"
,
"inherits"
:
"2
.0.3
"
,
"inherits"
:
"2"
,
"minimatch"
:
"
3.0.4
"
,
"minimatch"
:
"
2 || 3
"
,
"once"
:
"
1.4
.0"
,
"once"
:
"
^1.3
.0"
,
"path-is-absolute"
:
"
1.0.1
"
"path-is-absolute"
:
"
^1.0.0
"
}
}
},
},
"growl"
:
{
"growl"
:
{
...
@@ -315,10 +315,10 @@
...
@@ -315,10 +315,10 @@
"resolved"
:
"https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz"
,
"resolved"
:
"https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz"
,
"integrity"
:
"sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI="
,
"integrity"
:
"sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI="
,
"requires"
:
{
"requires"
:
{
"inherits"
:
"
2.0.3
"
,
"inherits"
:
"
^2.0.1
"
,
"obuf"
:
"
1.1.2
"
,
"obuf"
:
"
^1.0.0
"
,
"readable-stream"
:
"
2.3.6
"
,
"readable-stream"
:
"
^2.0.1
"
,
"wbuf"
:
"
1.7.3
"
"wbuf"
:
"
^1.1.0
"
}
}
},
},
"http-deceiver"
:
{
"http-deceiver"
:
{
...
@@ -331,9 +331,9 @@
...
@@ -331,9 +331,9 @@
"resolved"
:
"https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"
,
"integrity"
:
"sha1-muzZJRFHcvPZW2WmCruPfBj7rOE="
,
"integrity"
:
"sha1-muzZJRFHcvPZW2WmCruPfBj7rOE="
,
"requires"
:
{
"requires"
:
{
"assert-plus"
:
"1.0.0"
,
"assert-plus"
:
"
^
1.0.0"
,
"jsprim"
:
"
1.4.1
"
,
"jsprim"
:
"
^1.2.2
"
,
"sshpk"
:
"
1.14.2
"
"sshpk"
:
"
^1.7.0
"
}
}
},
},
"inflight"
:
{
"inflight"
:
{
...
@@ -341,8 +341,8 @@
...
@@ -341,8 +341,8 @@
"resolved"
:
"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
,
"resolved"
:
"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
,
"integrity"
:
"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
,
"integrity"
:
"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
,
"requires"
:
{
"requires"
:
{
"once"
:
"
1.4
.0"
,
"once"
:
"
^1.3
.0"
,
"wrappy"
:
"1
.0.2
"
"wrappy"
:
"1"
}
}
},
},
"inherits"
:
{
"inherits"
:
{
...
@@ -376,7 +376,7 @@
...
@@ -376,7 +376,7 @@
"resolved"
:
"https://registry.npmjs.org/json5/-/json5-1.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/json5/-/json5-1.0.1.tgz"
,
"integrity"
:
"sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow=="
,
"integrity"
:
"sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow=="
,
"requires"
:
{
"requires"
:
{
"minimist"
:
"1.2.0"
"minimist"
:
"
^
1.2.0"
}
}
},
},
"jsonic"
:
{
"jsonic"
:
{
...
@@ -389,15 +389,15 @@
...
@@ -389,15 +389,15 @@
"resolved"
:
"https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz"
,
"integrity"
:
"sha512-oge/hvlmeJCH+iIz1DwcO7vKPkNGJHhgkspk8OH3VKlw+mbi42WtD4ig1+VXRln765vxptAv+xT26Fd3cteqag=="
,
"integrity"
:
"sha512-oge/hvlmeJCH+iIz1DwcO7vKPkNGJHhgkspk8OH3VKlw+mbi42WtD4ig1+VXRln765vxptAv+xT26Fd3cteqag=="
,
"requires"
:
{
"requires"
:
{
"jws"
:
"3.1.5"
,
"jws"
:
"
^
3.1.5"
,
"lodash.includes"
:
"4.3.0"
,
"lodash.includes"
:
"
^
4.3.0"
,
"lodash.isboolean"
:
"3.0.3"
,
"lodash.isboolean"
:
"
^
3.0.3"
,
"lodash.isinteger"
:
"4.0.4"
,
"lodash.isinteger"
:
"
^
4.0.4"
,
"lodash.isnumber"
:
"3.0.3"
,
"lodash.isnumber"
:
"
^
3.0.3"
,
"lodash.isplainobject"
:
"4.0.6"
,
"lodash.isplainobject"
:
"
^
4.0.6"
,
"lodash.isstring"
:
"4.0.1"
,
"lodash.isstring"
:
"
^
4.0.1"
,
"lodash.once"
:
"
4.1.1
"
,
"lodash.once"
:
"
^4.0.0
"
,
"ms"
:
"2.1.1"
"ms"
:
"
^
2.1.1"
},
},
"dependencies"
:
{
"dependencies"
:
{
"ms"
:
{
"ms"
:
{
...
@@ -425,7 +425,7 @@
...
@@ -425,7 +425,7 @@
"requires"
:
{
"requires"
:
{
"buffer-equal-constant-time"
:
"1.0.1"
,
"buffer-equal-constant-time"
:
"1.0.1"
,
"ecdsa-sig-formatter"
:
"1.0.10"
,
"ecdsa-sig-formatter"
:
"1.0.10"
,
"safe-buffer"
:
"
5.1.2
"
"safe-buffer"
:
"
^5.0.1
"
}
}
},
},
"jws"
:
{
"jws"
:
{
...
@@ -433,8 +433,8 @@
...
@@ -433,8 +433,8 @@
"resolved"
:
"https://registry.npmjs.org/jws/-/jws-3.1.5.tgz"
,
"resolved"
:
"https://registry.npmjs.org/jws/-/jws-3.1.5.tgz"
,
"integrity"
:
"sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ=="
,
"integrity"
:
"sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ=="
,
"requires"
:
{
"requires"
:
{
"jwa"
:
"
1.1.6
"
,
"jwa"
:
"
^1.1.5
"
,
"safe-buffer"
:
"
5.1.2
"
"safe-buffer"
:
"
^5.0.1
"
}
}
},
},
"lodash"
:
{
"lodash"
:
{
...
@@ -487,8 +487,8 @@
...
@@ -487,8 +487,8 @@
"resolved"
:
"https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz"
,
"integrity"
:
"sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA=="
,
"integrity"
:
"sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA=="
,
"requires"
:
{
"requires"
:
{
"pseudomap"
:
"1.0.2"
,
"pseudomap"
:
"
^
1.0.2"
,
"yallist"
:
"2.1.2"
"yallist"
:
"
^
2.1.2"
}
}
},
},
"mime"
:
{
"mime"
:
{
...
@@ -506,7 +506,7 @@
...
@@ -506,7 +506,7 @@
"resolved"
:
"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
,
"integrity"
:
"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
,
"integrity"
:
"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
,
"requires"
:
{
"requires"
:
{
"brace-expansion"
:
"
1.1.11
"
"brace-expansion"
:
"
^1.1.7
"
}
}
},
},
"minimist"
:
{
"minimist"
:
{
...
@@ -563,12 +563,12 @@
...
@@ -563,12 +563,12 @@
"integrity"
:
"sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ=="
,
"integrity"
:
"sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ=="
,
"dev"
:
true
,
"dev"
:
true
,
"requires"
:
{
"requires"
:
{
"fs.realpath"
:
"1.0.0"
,
"fs.realpath"
:
"
^
1.0.0"
,
"inflight"
:
"
1.0.6
"
,
"inflight"
:
"
^1.0.4
"
,
"inherits"
:
"2
.0.3
"
,
"inherits"
:
"2"
,
"minimatch"
:
"3.0.4"
,
"minimatch"
:
"
^
3.0.4"
,
"once"
:
"
1.4
.0"
,
"once"
:
"
^1.3
.0"
,
"path-is-absolute"
:
"
1.0.1
"
"path-is-absolute"
:
"
^1.0.0
"
}
}
}
}
}
}
...
@@ -590,9 +590,9 @@
...
@@ -590,9 +590,9 @@
"integrity"
:
"sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI="
,
"integrity"
:
"sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI="
,
"optional"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"mkdirp"
:
"0.5.1"
,
"mkdirp"
:
"
~
0.5.1"
,
"ncp"
:
"2.0.0"
,
"ncp"
:
"
~
2.0.0"
,
"rimraf"
:
"
2.4.5
"
"rimraf"
:
"
~2.4.0
"
}
}
},
},
"nan"
:
{
"nan"
:
{
...
@@ -612,10 +612,10 @@
...
@@ -612,10 +612,10 @@
"resolved"
:
"https://registry.npmjs.org/ndjson/-/ndjson-1.5.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ndjson/-/ndjson-1.5.0.tgz"
,
"integrity"
:
"sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg="
,
"integrity"
:
"sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg="
,
"requires"
:
{
"requires"
:
{
"json-stringify-safe"
:
"5.0.1"
,
"json-stringify-safe"
:
"
^
5.0.1"
,
"minimist"
:
"1.2.0"
,
"minimist"
:
"
^
1.2.0"
,
"split2"
:
"
2.2
.0"
,
"split2"
:
"
^2.1
.0"
,
"through2"
:
"2.0.3"
"through2"
:
"
^
2.0.3"
}
}
},
},
"negotiator"
:
{
"negotiator"
:
{
...
@@ -633,8 +633,8 @@
...
@@ -633,8 +633,8 @@
"resolved"
:
"https://registry.npmjs.org/norma/-/norma-0.4.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/norma/-/norma-0.4.1.tgz"
,
"integrity"
:
"sha512-BSnU+B35GzJgkEcNqiMIm79507Qg68O5L7gRVKATRSx17BHyDn0gVJsi3YzoANC1NbBoKRExwd3KsEZSUox63Q=="
,
"integrity"
:
"sha512-BSnU+B35GzJgkEcNqiMIm79507Qg68O5L7gRVKATRSx17BHyDn0gVJsi3YzoANC1NbBoKRExwd3KsEZSUox63Q=="
,
"requires"
:
{
"requires"
:
{
"eraro"
:
"1.0
.0
"
,
"eraro"
:
"1.0"
,
"lodash"
:
"4.17
.10
"
"lodash"
:
"4.17"
}
}
},
},
"obuf"
:
{
"obuf"
:
{
...
@@ -647,7 +647,7 @@
...
@@ -647,7 +647,7 @@
"resolved"
:
"https://registry.npmjs.org/once/-/once-1.4.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/once/-/once-1.4.0.tgz"
,
"integrity"
:
"sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
,
"integrity"
:
"sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
,
"requires"
:
{
"requires"
:
{
"wrappy"
:
"1
.0.2
"
"wrappy"
:
"1"
}
}
},
},
"ordu"
:
{
"ordu"
:
{
...
@@ -665,8 +665,8 @@
...
@@ -665,8 +665,8 @@
"resolved"
:
"https://registry.npmjs.org/patrun/-/patrun-1.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/patrun/-/patrun-1.0.0.tgz"
,
"integrity"
:
"sha512-oemWSuxjb27nPkREl88BxZ2EFDFUKSPace+zYZjFKj2xFn6w/LgDFGptgQvme384As2gpEFIv4WMVE1cb9lDXQ=="
,
"integrity"
:
"sha512-oemWSuxjb27nPkREl88BxZ2EFDFUKSPace+zYZjFKj2xFn6w/LgDFGptgQvme384As2gpEFIv4WMVE1cb9lDXQ=="
,
"requires"
:
{
"requires"
:
{
"gex"
:
"0.3
.0
"
,
"gex"
:
"0.3"
,
"lodash"
:
"4.17
.10
"
"lodash"
:
"4.17"
}
}
},
},
"pidusage"
:
{
"pidusage"
:
{
...
@@ -699,13 +699,13 @@
...
@@ -699,13 +699,13 @@
"resolved"
:
"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"resolved"
:
"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"requires"
:
{
"requires"
:
{
"core-util-is"
:
"
1.0.2
"
,
"core-util-is"
:
"
~1.0.0
"
,
"inherits"
:
"2.0.3"
,
"inherits"
:
"
~
2.0.3"
,
"isarray"
:
"1.0.0"
,
"isarray"
:
"
~
1.0.0"
,
"process-nextick-args"
:
"2.0.0"
,
"process-nextick-args"
:
"
~
2.0.0"
,
"safe-buffer"
:
"
5.1.2
"
,
"safe-buffer"
:
"
~5.1.1
"
,
"string_decoder"
:
"1.1.1"
,
"string_decoder"
:
"
~
1.1.1"
,
"util-deprecate"
:
"
1.0.2
"
"util-deprecate"
:
"
~1.0.1
"
}
}
},
},
"reconnect-core"
:
{
"reconnect-core"
:
{
...
@@ -713,7 +713,7 @@
...
@@ -713,7 +713,7 @@
"resolved"
:
"https://registry.npmjs.org/reconnect-core/-/reconnect-core-1.3.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/reconnect-core/-/reconnect-core-1.3.0.tgz"
,
"integrity"
:
"sha1-+65SkZp4d9hE4yRtAaLyZwHIM8g="
,
"integrity"
:
"sha1-+65SkZp4d9hE4yRtAaLyZwHIM8g="
,
"requires"
:
{
"requires"
:
{
"backoff"
:
"2.5.0"
"backoff"
:
"
~
2.5.0"
}
}
},
},
"restify"
:
{
"restify"
:
{
...
@@ -721,28 +721,28 @@
...
@@ -721,28 +721,28 @@
"resolved"
:
"https://registry.npmjs.org/restify/-/restify-7.2.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/restify/-/restify-7.2.1.tgz"
,
"integrity"
:
"sha512-xygVfQn/FiyzSPNIiOlzos6+RVcmTTK/bN0/m4z6vQwUY1yXntAsXM8ckq6hMxYfkhZfbPMM5hvBf75B8zLE1g=="
,
"integrity"
:
"sha512-xygVfQn/FiyzSPNIiOlzos6+RVcmTTK/bN0/m4z6vQwUY1yXntAsXM8ckq6hMxYfkhZfbPMM5hvBf75B8zLE1g=="
,
"requires"
:
{
"requires"
:
{
"assert-plus"
:
"1.0.0"
,
"assert-plus"
:
"
^
1.0.0"
,
"bunyan"
:
"1.8.12"
,
"bunyan"
:
"
^
1.8.12"
,
"csv"
:
"
1.2
.1"
,
"csv"
:
"
^1.1
.1"
,
"dtrace-provider"
:
"
0.8.7
"
,
"dtrace-provider"
:
"
^0.8.1
"
,
"escape-regexp-component"
:
"1.0.2"
,
"escape-regexp-component"
:
"
^
1.0.2"
,
"ewma"
:
"2.0.1"
,
"ewma"
:
"
^
2.0.1"
,
"find-my-way"
:
"
1.15.2
"
,
"find-my-way"
:
"
^1.13.0
"
,
"formidable"
:
"1.2.1"
,
"formidable"
:
"
^
1.2.1"
,
"http-signature"
:
"1.2.0"
,
"http-signature"
:
"
^
1.2.0"
,
"lodash"
:
"4.17.10"
,
"lodash"
:
"
^
4.17.10"
,
"lru-cache"
:
"4.1.3"
,
"lru-cache"
:
"
^
4.1.3"
,
"mime"
:
"
1.6
.0"
,
"mime"
:
"
^1.5
.0"
,
"negotiator"
:
"0.6.1"
,
"negotiator"
:
"
^
0.6.1"
,
"once"
:
"1.4.0"
,
"once"
:
"
^
1.4.0"
,
"pidusage"
:
"1.2.0"
,
"pidusage"
:
"
^
1.2.0"
,
"qs"
:
"6.5.2"
,
"qs"
:
"
^
6.5.2"
,
"restify-errors"
:
"5.0.0"
,
"restify-errors"
:
"
^
5.0.0"
,
"semver"
:
"
5.5
.1"
,
"semver"
:
"
^5.4
.1"
,
"spdy"
:
"3.4.7"
,
"spdy"
:
"
^
3.4.7"
,
"uuid"
:
"
3.3.2
"
,
"uuid"
:
"
^3.1.0
"
,
"vasync"
:
"1.6.4"
,
"vasync"
:
"
^
1.6.4"
,
"verror"
:
"1.10.0"
"verror"
:
"
^
1.10.0"
}
}
},
},
"restify-errors"
:
{
"restify-errors"
:
{
...
@@ -750,10 +750,10 @@
...
@@ -750,10 +750,10 @@
"resolved"
:
"https://registry.npmjs.org/restify-errors/-/restify-errors-5.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/restify-errors/-/restify-errors-5.0.0.tgz"
,
"integrity"
:
"sha512-+vby9Kxf7qlzvbZSTIEGkIixkeHG+pVCl34dk6eKnL+ua4pCezpdLT/1/eabzPZb65ADrgoc04jeWrrF1E1pvQ=="
,
"integrity"
:
"sha512-+vby9Kxf7qlzvbZSTIEGkIixkeHG+pVCl34dk6eKnL+ua4pCezpdLT/1/eabzPZb65ADrgoc04jeWrrF1E1pvQ=="
,
"requires"
:
{
"requires"
:
{
"assert-plus"
:
"1.0.0"
,
"assert-plus"
:
"
^
1.0.0"
,
"lodash"
:
"
4.17.10
"
,
"lodash"
:
"
^4.2.1
"
,
"safe-json-stringify"
:
"
1.2.0
"
,
"safe-json-stringify"
:
"
^1.0.3
"
,
"verror"
:
"
1.10.0
"
"verror"
:
"
^1.8.1
"
}
}
},
},
"ret"
:
{
"ret"
:
{
...
@@ -767,7 +767,7 @@
...
@@ -767,7 +767,7 @@
"integrity"
:
"sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto="
,
"integrity"
:
"sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto="
,
"optional"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"glob"
:
"
6.0.4
"
"glob"
:
"
^6.0.1
"
}
}
},
},
"rolling-stats"
:
{
"rolling-stats"
:
{
...
@@ -791,7 +791,7 @@
...
@@ -791,7 +791,7 @@
"resolved"
:
"https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"
,
"integrity"
:
"sha1-QKNmnzsHfR6UPURinhV91IAjvy4="
,
"integrity"
:
"sha1-QKNmnzsHfR6UPURinhV91IAjvy4="
,
"requires"
:
{
"requires"
:
{
"ret"
:
"
0.1.15
"
"ret"
:
"
~0.1.10
"
}
}
},
},
"safer-buffer"
:
{
"safer-buffer"
:
{
...
@@ -819,24 +819,24 @@
...
@@ -819,24 +819,24 @@
"resolved"
:
"https://registry.npmjs.org/seneca/-/seneca-3.7.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/seneca/-/seneca-3.7.0.tgz"
,
"integrity"
:
"sha512-Qr9vqmhvATmGvkRaNGiQPoL2YA/BaMp/6Hf4NUHoZU/z/GrP7I7truLp2BnEdPjYQcK/ucPWvly22+CVI7Rp2A=="
,
"integrity"
:
"sha512-Qr9vqmhvATmGvkRaNGiQPoL2YA/BaMp/6Hf4NUHoZU/z/GrP7I7truLp2BnEdPjYQcK/ucPWvly22+CVI7Rp2A=="
,
"requires"
:
{
"requires"
:
{
"archy"
:
"1.0
.0
"
,
"archy"
:
"1.0"
,
"eraro"
:
"1.0
.0
"
,
"eraro"
:
"1.0"
,
"gate-executor"
:
"1.1
.1
"
,
"gate-executor"
:
"1.1"
,
"gex"
:
"0.3
.0
"
,
"gex"
:
"0.3"
,
"json-stringify-safe"
:
"5.0
.1
"
,
"json-stringify-safe"
:
"5.0"
,
"jsonic"
:
"0.3
.0
"
,
"jsonic"
:
"0.3"
,
"lodash"
:
"4.17
.10
"
,
"lodash"
:
"4.17"
,
"minimist"
:
"1.2
.0
"
,
"minimist"
:
"1.2"
,
"nid"
:
"0.3
.2
"
,
"nid"
:
"0.3"
,
"norma"
:
"0.4
.1
"
,
"norma"
:
"0.4"
,
"ordu"
:
"0.1
.1
"
,
"ordu"
:
"0.1"
,
"patrun"
:
"1.0
.0
"
,
"patrun"
:
"1.0"
,
"qs"
:
"6.5
.2
"
,
"qs"
:
"6.5"
,
"rolling-stats"
:
"0.1
.1
"
,
"rolling-stats"
:
"0.1"
,
"semver"
:
"5.5
.1
"
,
"semver"
:
"5.5"
,
"seneca-transport"
:
"2.3
.0
"
,
"seneca-transport"
:
"2.3"
,
"use-plugin"
:
"1.0
.2
"
,
"use-plugin"
:
"1.0"
,
"wreck"
:
"12.5
.1
"
"wreck"
:
"12.5"
}
}
},
},
"seneca-transport"
:
{
"seneca-transport"
:
{
...
@@ -844,17 +844,17 @@
...
@@ -844,17 +844,17 @@
"resolved"
:
"https://registry.npmjs.org/seneca-transport/-/seneca-transport-2.3.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/seneca-transport/-/seneca-transport-2.3.0.tgz"
,
"integrity"
:
"sha512-kocolZ+54fNbwVFloBnOyjeH4SFXFGyefeuqh2sNoQCycAGxBQpzFC8CIJkjL1YUQS8KczPxEs5sIFrKYIQdnA=="
,
"integrity"
:
"sha512-kocolZ+54fNbwVFloBnOyjeH4SFXFGyefeuqh2sNoQCycAGxBQpzFC8CIJkjL1YUQS8KczPxEs5sIFrKYIQdnA=="
,
"requires"
:
{
"requires"
:
{
"eraro"
:
"1.0
.0
"
,
"eraro"
:
"1.0"
,
"gex"
:
"0.3
.0
"
,
"gex"
:
"0.3"
,
"jsonic"
:
"0.3
.0
"
,
"jsonic"
:
"0.3"
,
"lodash"
:
"4.17
.10
"
,
"lodash"
:
"4.17"
,
"lru-cache"
:
"4.1
.3
"
,
"lru-cache"
:
"4.1"
,
"ndjson"
:
"1.5
.0
"
,
"ndjson"
:
"1.5"
,
"nid"
:
"0.3
.2
"
,
"nid"
:
"0.3"
,
"patrun"
:
"1.0
.0
"
,
"patrun"
:
"1.0"
,
"qs"
:
"6.5
.2
"
,
"qs"
:
"6.5"
,
"reconnect-core"
:
"1.3
.0
"
,
"reconnect-core"
:
"1.3"
,
"wreck"
:
"12.5
.1
"
"wreck"
:
"12.5"
}
}
},
},
"spdy"
:
{
"spdy"
:
{
...
@@ -862,12 +862,12 @@
...
@@ -862,12 +862,12 @@
"resolved"
:
"https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz"
,
"resolved"
:
"https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz"
,
"integrity"
:
"sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw="
,
"integrity"
:
"sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw="
,
"requires"
:
{
"requires"
:
{
"debug"
:
"
2.6.9
"
,
"debug"
:
"
^2.6.8
"
,
"handle-thing"
:
"1.2.5"
,
"handle-thing"
:
"
^
1.2.5"
,
"http-deceiver"
:
"1.2.7"
,
"http-deceiver"
:
"
^
1.2.7"
,
"safe-buffer"
:
"
5.1.2
"
,
"safe-buffer"
:
"
^5.0.1
"
,
"select-hose"
:
"2.0.0"
,
"select-hose"
:
"
^
2.0.0"
,
"spdy-transport"
:
"
2.1.0
"
"spdy-transport"
:
"
^2.0.18
"
}
}
},
},
"spdy-transport"
:
{
"spdy-transport"
:
{
...
@@ -875,13 +875,13 @@
...
@@ -875,13 +875,13 @@
"resolved"
:
"https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz"
,
"integrity"
:
"sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g=="
,
"integrity"
:
"sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g=="
,
"requires"
:
{
"requires"
:
{
"debug"
:
"
2.6.9
"
,
"debug"
:
"
^2.6.8
"
,
"detect-node"
:
"
2.0.4
"
,
"detect-node"
:
"
^2.0.3
"
,
"hpack.js"
:
"2.1.6"
,
"hpack.js"
:
"
^
2.1.6"
,
"obuf"
:
"
1.1.2
"
,
"obuf"
:
"
^1.1.1
"
,
"readable-stream"
:
"
2.3.6
"
,
"readable-stream"
:
"
^2.2.9
"
,
"safe-buffer"
:
"
5.1.2
"
,
"safe-buffer"
:
"
^5.0.1
"
,
"wbuf"
:
"
1.7.3
"
"wbuf"
:
"
^1.7.2
"
}
}
},
},
"split2"
:
{
"split2"
:
{
...
@@ -889,7 +889,7 @@
...
@@ -889,7 +889,7 @@
"resolved"
:
"https://registry.npmjs.org/split2/-/split2-2.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/split2/-/split2-2.2.0.tgz"
,
"integrity"
:
"sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw=="
,
"integrity"
:
"sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw=="
,
"requires"
:
{
"requires"
:
{
"through2"
:
"
2.0.3
"
"through2"
:
"
^2.0.2
"
}
}
},
},
"sshpk"
:
{
"sshpk"
:
{
...
@@ -897,15 +897,15 @@
...
@@ -897,15 +897,15 @@
"resolved"
:
"https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz"
,
"integrity"
:
"sha1-xvxhZIo9nE52T9P8306hBeSSupg="
,
"integrity"
:
"sha1-xvxhZIo9nE52T9P8306hBeSSupg="
,
"requires"
:
{
"requires"
:
{
"asn1"
:
"
0.2.4
"
,
"asn1"
:
"
~0.2.3
"
,
"assert-plus"
:
"1.0.0"
,
"assert-plus"
:
"
^
1.0.0"
,
"bcrypt-pbkdf"
:
"
1.0.2
"
,
"bcrypt-pbkdf"
:
"
^1.0.0
"
,
"dashdash"
:
"
1.14.1
"
,
"dashdash"
:
"
^1.12.0
"
,
"ecc-jsbn"
:
"
0.1.2
"
,
"ecc-jsbn"
:
"
~0.1.1
"
,
"getpass"
:
"
0.1.7
"
,
"getpass"
:
"
^0.1.1
"
,
"jsbn"
:
"
0.1.1
"
,
"jsbn"
:
"
~0.1.0
"
,
"safer-buffer"
:
"
2.1
.2"
,
"safer-buffer"
:
"
^2.0
.2"
,
"tweetnacl"
:
"
0.14.5
"
"tweetnacl"
:
"
~0.14.0
"
}
}
},
},
"stream-transform"
:
{
"stream-transform"
:
{
...
@@ -918,7 +918,7 @@
...
@@ -918,7 +918,7 @@
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"requires"
:
{
"requires"
:
{
"safe-buffer"
:
"
5.1.2
"
"safe-buffer"
:
"
~5.1.0
"
}
}
},
},
"supports-color"
:
{
"supports-color"
:
{
...
@@ -927,7 +927,7 @@
...
@@ -927,7 +927,7 @@
"integrity"
:
"sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w=="
,
"integrity"
:
"sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w=="
,
"dev"
:
true
,
"dev"
:
true
,
"requires"
:
{
"requires"
:
{
"has-flag"
:
"3.0.0"
"has-flag"
:
"
^
3.0.0"
}
}
},
},
"through2"
:
{
"through2"
:
{
...
@@ -935,8 +935,8 @@
...
@@ -935,8 +935,8 @@
"resolved"
:
"https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
,
"integrity"
:
"sha1-AARWmzfHx0ujnEPzzteNGtlBQL4="
,
"integrity"
:
"sha1-AARWmzfHx0ujnEPzzteNGtlBQL4="
,
"requires"
:
{
"requires"
:
{
"readable-stream"
:
"
2.3.6
"
,
"readable-stream"
:
"
^2.1.5
"
,
"xtend"
:
"4.0.1"
"xtend"
:
"
~
4.0.1"
}
}
},
},
"tweetnacl"
:
{
"tweetnacl"
:
{
...
@@ -950,9 +950,9 @@
...
@@ -950,9 +950,9 @@
"resolved"
:
"https://registry.npmjs.org/use-plugin/-/use-plugin-1.0.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/use-plugin/-/use-plugin-1.0.2.tgz"
,
"integrity"
:
"sha512-46ZNYmSDMgyCBsUIPwLFWzY45jIu4sHFKKq3/M63XCd/RxvliC4qRVWtUAWEexP7q8X1MHJ2Br1U5KLkVFcQCw=="
,
"integrity"
:
"sha512-46ZNYmSDMgyCBsUIPwLFWzY45jIu4sHFKKq3/M63XCd/RxvliC4qRVWtUAWEexP7q8X1MHJ2Br1U5KLkVFcQCw=="
,
"requires"
:
{
"requires"
:
{
"eraro"
:
"1.0
.0
"
,
"eraro"
:
"1.0"
,
"nid"
:
"0.3
.2
"
,
"nid"
:
"0.3"
,
"norma"
:
"0.4
.1
"
"norma"
:
"0.4"
}
}
},
},
"util-deprecate"
:
{
"util-deprecate"
:
{
...
@@ -993,9 +993,9 @@
...
@@ -993,9 +993,9 @@
"resolved"
:
"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
,
"integrity"
:
"sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA="
,
"integrity"
:
"sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA="
,
"requires"
:
{
"requires"
:
{
"assert-plus"
:
"1.0.0"
,
"assert-plus"
:
"
^
1.0.0"
,
"core-util-is"
:
"1.0.2"
,
"core-util-is"
:
"1.0.2"
,
"extsprintf"
:
"
1.3
.0"
"extsprintf"
:
"
^1.2
.0"
}
}
},
},
"wbuf"
:
{
"wbuf"
:
{
...
@@ -1003,7 +1003,7 @@
...
@@ -1003,7 +1003,7 @@
"resolved"
:
"https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz"
,
"integrity"
:
"sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA=="
,
"integrity"
:
"sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA=="
,
"requires"
:
{
"requires"
:
{
"minimalistic-assert"
:
"
1.0.1
"
"minimalistic-assert"
:
"
^1.0.0
"
}
}
},
},
"wrappy"
:
{
"wrappy"
:
{
...
@@ -1016,8 +1016,8 @@
...
@@ -1016,8 +1016,8 @@
"resolved"
:
"https://registry.npmjs.org/wreck/-/wreck-12.5.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/wreck/-/wreck-12.5.1.tgz"
,
"integrity"
:
"sha512-l5DUGrc+yDyIflpty1x9XuMj1ehVjC/dTbF3/BasOO77xk0EdEa4M/DuOY8W88MQDAD0fEDqyjc8bkIMHd2E9A=="
,
"integrity"
:
"sha512-l5DUGrc+yDyIflpty1x9XuMj1ehVjC/dTbF3/BasOO77xk0EdEa4M/DuOY8W88MQDAD0fEDqyjc8bkIMHd2E9A=="
,
"requires"
:
{
"requires"
:
{
"boom"
:
"5.
2.0
"
,
"boom"
:
"5.
x.x
"
,
"hoek"
:
"4.
2.1
"
"hoek"
:
"4.
x.x
"
}
}
},
},
"xtend"
:
{
"xtend"
:
{
...
...
authhook/utils/getDates.js
0 → 100644
View file @
80fff711
module
.
exports
.
getExp
=
getExp
function
getExp
(
expires
)
{
var
exp
if
(
expires
.
endsWith
(
'y'
))
{
exp
=
getYears
(
expires
.
split
(
'y'
)[
0
])
}
else
if
(
expires
.
endsWith
(
'm'
))
{
exp
=
getMonths
(
expires
.
split
(
'm'
)[
0
])
}
else
if
(
expires
.
endsWith
(
'd'
))
{
exp
=
expires
.
split
(
'd'
)[
0
]
+
'd'
}
else
if
(
expires
.
endsWith
(
'h'
))
{
exp
=
expires
.
split
(
'h'
)[
0
]
+
'h'
}
else
if
(
expires
.
endsWith
(
'mi'
))
{
exp
=
getMinutes
(
expires
.
split
(
'mi'
)[
0
])
}
else
if
(
expires
.
endsWith
(
's'
))
{
exp
=
getSeconds
(
expires
.
split
(
's'
)[
0
])
}
else
exp
=
getYears
(
10
)
return
exp
}
function
getMonths
(
d
)
{
return
(
d
*
30
)
+
'd'
}
function
getYears
(
m
)
{
return
(
m
*
30
*
12
)
+
'd'
}
function
getMinutes
(
mi
)
{
return
(
mi
*
1000
*
60
)
+
'ms'
}
function
getSeconds
(
ms
)
{
return
(
ms
*
1000
)
+
'ms'
}
\ No newline at end of file
authhook/utils/getGroupID.js
View file @
80fff711
var
getRole
=
require
(
'../checkClientRole'
).
getRole
var
getRole
=
require
(
'../checkClientRole'
).
getRole
function
getGroupID
(
token
,
id
,
cb
)
{
function
getGroupID
(
token
,
client_id
)
{
checkID
(
token
,
id
,
(
groupId
)
=>
{
var
role
=
getRole
(
token
)
// console.log(groupId)
if
(
role
)
{
cb
(
groupId
)
})
}
module
.
exports
.
getGroupID
=
getGroupID
function
checkID
(
token
,
id
,
cb
)
{
// console.log(token)
getRole
(
token
,
(
role
)
=>
{
// console.log(role)
if
(
role
.
hasOwnProperty
(
'groupId'
))
{
if
(
role
.
hasOwnProperty
(
'groupId'
))
{
cb
(
role
.
groupId
)
return
role
.
groupId
}
}
else
{
else
{
doDB
(
id
,
(
groupId
)
=>
{
return
doDB
(
client_id
)
// console.log(groupId)
cb
(
groupId
)
})
}
}
})
}
else
return
role
}
}
module
.
exports
.
getGroupID
=
getGroupID
function
doDB
(
id
,
cb
)
{
function
doDB
(
client_id
)
{
var
groupId
=
'test'
var
groupId
=
'test'
cb
(
groupId
)
return
groupId
}
}
\ No newline at end of file
authhook/utils/getTopic.js
View file @
80fff711
// function getTopic(topic, id) {
// //var _topic = classifiedTopic(topic) + '/!' + id + topic.split(classifiedTopic(topic))[1]
// var _topic = topicPrefix(topic) + id + topic.split(topicPrefix(topic))[1]
// return _topic
// }
// module.exports.getTopic = getTopic
// function topicPrefix(topic) {
// if (topic.indexOf('@msg') !== -1) {
// return '@msg/!'
// } else if (topic.indexOf('@shadow/updated') !== -1) {
// return '@shadow/updated/!'
// } else if (topic.indexOf('@shadow/update') !== -1) {
// return '@shadow/update/'
// } else if (topic.indexOf('@shadow/get') !== -1) {
// return '@shadow/get/!'
// } else if (topic.indexOf('@client') !== -1) {
// return '@client/'
// }
// }
var
modify
=
require
(
'./modify'
);
var
modify
=
require
(
'./modify'
);
function
rewriteTopic
(
topic
,
op
,
groupid
,
clientid
,
output
)
{
function
rewriteTopic
(
topic
,
op
,
groupid
,
clientid
,
output
)
{
...
@@ -64,12 +43,3 @@ function rewriteTopic(topic, op, groupid, clientid, output) {
...
@@ -64,12 +43,3 @@ function rewriteTopic(topic, op, groupid, clientid, output) {
}
}
module
.
exports
.
rewriteTopic
=
rewriteTopic
module
.
exports
.
rewriteTopic
=
rewriteTopic
\ No newline at end of file
function
isShadow
(
topic
)
{
if
(
topic
.
indexOf
(
'@shadow'
)
!==
-
1
)
{
return
true
}
else
return
false
}
module
.
exports
.
isShadow
=
isShadow
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment