fix notifications

This commit is contained in:
Josh Harvey 2016-12-11 18:22:28 +02:00
parent db79f958c8
commit 9e1b5cbd6d
7 changed files with 456 additions and 181 deletions

View file

@ -1,10 +1,8 @@
const configManager = require('./config-manager') const configManager = require('./config-manager')
const settingsLoader = require('./settings-loader')
function sendMessage (rec) { function sendMessage (settings, rec) {
return Promise.resolve() return Promise.resolve()
.then(() => { .then(() => {
const settings = settingsLoader.settings()
const pluginCode = configManager.unscoped(settings.config).email const pluginCode = configManager.unscoped(settings.config).email
if (!pluginCode) throw new Error('No email plugin defined') if (!pluginCode) throw new Error('No email plugin defined')

View file

@ -266,7 +266,7 @@ function plugins (settings) {
} }
} }
return sms.sendMessage(rec) return sms.sendMessage(settings, rec)
.then(() => dbm.updateNotify(tx)) .then(() => dbm.updateNotify(tx))
} }
@ -403,8 +403,8 @@ function plugins (settings) {
const config = configManager.unscoped(settings.config) const config = configManager.unscoped(settings.config)
let promises = [] let promises = []
if (config.notificationsEmailEnabled) promises.push(email.sendMessage(rec)) if (config.notificationsEmailEnabled) promises.push(email.sendMessage(settings, rec))
if (config.notificationsSMSEnabled) promises.push(sms.sendMessage(rec)) if (config.notificationsSMSEnabled) promises.push(sms.sendMessage(settings, rec))
return Promise.all(promises) return Promise.all(promises)
} }
@ -466,7 +466,7 @@ function plugins (settings) {
} }
} }
return sms.sendMessage(rec) return sms.sendMessage(settings, rec)
.then(() => code) .then(() => code)
} }

View file

@ -1,10 +1,8 @@
const configManager = require('./config-manager') const configManager = require('./config-manager')
const settingsLoader = require('./settings-loader')
function sendMessage (rec) { function sendMessage (settings, rec) {
return Promise.resolve() return Promise.resolve()
.then(() => { .then(() => {
const settings = settingsLoader.settings()
const pluginCode = configManager.unscoped(settings.config).sms const pluginCode = configManager.unscoped(settings.config).sms
if (!pluginCode) throw new Error('No sms plugin defined') if (!pluginCode) throw new Error('No sms plugin defined')

View file

@ -37,6 +37,8 @@
"pretty-ms": "^2.1.0", "pretty-ms": "^2.1.0",
"ramda": "^0.22.1", "ramda": "^0.22.1",
"serve-static": "^1.11.1", "serve-static": "^1.11.1",
"socket.io": "^1.7.1",
"socket.io-client": "^1.7.1",
"uuid": "^3.0.0", "uuid": "^3.0.0",
"winston": "^2.3.0" "winston": "^2.3.0"
}, },

View file

@ -22440,6 +22440,8 @@ var _user$project$Css_Admin$className = function ($class) {
return A2(_rtfeldman$elm_css_util$Css_Helpers$identifierToString, _user$project$Css_Admin$name, $class); return A2(_rtfeldman$elm_css_util$Css_Helpers$identifierToString, _user$project$Css_Admin$name, $class);
}; };
var _user$project$Css_Classes$UnitDisplay = {ctor: 'UnitDisplay'};
var _user$project$Css_Classes$InputContainer = {ctor: 'InputContainer'};
var _user$project$Css_Classes$TxTable = {ctor: 'TxTable'}; var _user$project$Css_Classes$TxTable = {ctor: 'TxTable'};
var _user$project$Css_Classes$DateColumn = {ctor: 'DateColumn'}; var _user$project$Css_Classes$DateColumn = {ctor: 'DateColumn'};
var _user$project$Css_Classes$TruncatedColumn = {ctor: 'TruncatedColumn'}; var _user$project$Css_Classes$TruncatedColumn = {ctor: 'TruncatedColumn'};
@ -25207,8 +25209,8 @@ var _user$project$Config$updateSelectize = F3(
return _elm_lang$core$Native_Utils.crashCase( return _elm_lang$core$Native_Utils.crashCase(
'Config', 'Config',
{ {
start: {line: 1011, column: 17}, start: {line: 1024, column: 17},
end: {line: 1016, column: 56} end: {line: 1029, column: 56}
}, },
_p1)('Shouldn\'t be here'); _p1)('Shouldn\'t be here');
} }
@ -25353,8 +25355,8 @@ var _user$project$Config$isField = function (fieldValue) {
return _elm_lang$core$Native_Utils.crashCase( return _elm_lang$core$Native_Utils.crashCase(
'Config', 'Config',
{ {
start: {line: 857, column: 5}, start: {line: 870, column: 5},
end: {line: 862, column: 59} end: {line: 875, column: 59}
}, },
_p7)('Referenced field must be boolean'); _p7)('Referenced field must be boolean');
} }
@ -25523,8 +25525,8 @@ var _user$project$Config$languageSelectizeView = F6(
return _elm_lang$core$Native_Utils.crashCase( return _elm_lang$core$Native_Utils.crashCase(
'Config', 'Config',
{ {
start: {line: 459, column: 21}, start: {line: 472, column: 21},
end: {line: 464, column: 60} end: {line: 477, column: 60}
}, },
_p12)('Shouldn\'t be here'); _p12)('Shouldn\'t be here');
} }
@ -25565,8 +25567,8 @@ var _user$project$Config$cryptoCurrencySelectizeView = F6(
return _elm_lang$core$Native_Utils.crashCase( return _elm_lang$core$Native_Utils.crashCase(
'Config', 'Config',
{ {
start: {line: 413, column: 21}, start: {line: 426, column: 21},
end: {line: 418, column: 60} end: {line: 431, column: 60}
}, },
_p15)('Shouldn\'t be here'); _p15)('Shouldn\'t be here');
} }
@ -25667,24 +25669,51 @@ var _user$project$Config$accountSelectizeView = F6(
fallbackIds, fallbackIds,
selectizeState); selectizeState);
}); });
var _user$project$Config$unitDisplay = function (fieldInstance) {
var _p19 = fieldInstance.fieldLocator.fieldType;
if (_p19.ctor === 'FieldPercentageType') {
return A2(
_elm_lang$html$Html$div,
{
ctor: '::',
_0: _user$project$Css_Admin$class(
{
ctor: '::',
_0: _user$project$Css_Classes$UnitDisplay,
_1: {ctor: '[]'}
}),
_1: {ctor: '[]'}
},
{
ctor: '::',
_0: _elm_lang$html$Html$text('%'),
_1: {ctor: '[]'}
});
} else {
return A2(
_elm_lang$html$Html$div,
{ctor: '[]'},
{ctor: '[]'});
}
};
var _user$project$Config$buildValidationAttribute = function (fieldValidator) { var _user$project$Config$buildValidationAttribute = function (fieldValidator) {
var _p19 = fieldValidator; var _p20 = fieldValidator;
switch (_p19.ctor) { switch (_p20.ctor) {
case 'FieldMin': case 'FieldMin':
return _elm_lang$core$Maybe$Just( return _elm_lang$core$Maybe$Just(
_elm_lang$html$Html_Attributes$min( _elm_lang$html$Html_Attributes$min(
_elm_lang$core$Basics$toString(_p19._0))); _elm_lang$core$Basics$toString(_p20._0)));
case 'FieldMax': case 'FieldMax':
return _elm_lang$core$Maybe$Just( return _elm_lang$core$Maybe$Just(
_elm_lang$html$Html_Attributes$max( _elm_lang$html$Html_Attributes$max(
_elm_lang$core$Basics$toString(_p19._0))); _elm_lang$core$Basics$toString(_p20._0)));
default: default:
return _elm_lang$core$Maybe$Nothing; return _elm_lang$core$Maybe$Nothing;
} }
}; };
var _user$project$Config$fieldTypeToInputType = function (fieldType) { var _user$project$Config$fieldTypeToInputType = function (fieldType) {
var _p20 = fieldType; var _p21 = fieldType;
if (_p20.ctor === 'FieldPercentageType') { if (_p21.ctor === 'FieldPercentageType') {
return 'number'; return 'number';
} else { } else {
return 'string'; return 'string';
@ -25699,14 +25728,14 @@ var _user$project$Config$emptyToNothing = function (list) {
return _elm_lang$core$List$isEmpty(list) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just(list); return _elm_lang$core$List$isEmpty(list) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just(list);
}; };
var _user$project$Config$fieldHolderToList = function (fieldHolder) { var _user$project$Config$fieldHolderToList = function (fieldHolder) {
var _p21 = fieldHolder; var _p22 = fieldHolder;
if (_p21.ctor === 'FieldOk') { if (_p22.ctor === 'FieldOk') {
var _p22 = _p21._0; var _p23 = _p22._0;
switch (_p22.ctor) { switch (_p23.ctor) {
case 'FieldLanguageValue': case 'FieldLanguageValue':
return _p22._0; return _p23._0;
case 'FieldCryptoCurrencyValue': case 'FieldCryptoCurrencyValue':
return _p22._0; return _p23._0;
default: default:
return _elm_lang$core$Native_Utils.crashCase( return _elm_lang$core$Native_Utils.crashCase(
'Config', 'Config',
@ -25714,7 +25743,7 @@ var _user$project$Config$fieldHolderToList = function (fieldHolder) {
start: {line: 131, column: 13}, start: {line: 131, column: 13},
end: {line: 139, column: 50} end: {line: 139, column: 50}
}, },
_p22)('Not a list type'); _p23)('Not a list type');
} }
} else { } else {
return {ctor: '[]'}; return {ctor: '[]'};
@ -25723,34 +25752,9 @@ var _user$project$Config$fieldHolderToList = function (fieldHolder) {
var _user$project$Config$updateStringFieldInstance = F3( var _user$project$Config$updateStringFieldInstance = F3(
function (fieldLocator, maybeString, fieldInstance) { function (fieldLocator, maybeString, fieldInstance) {
if (_elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator, fieldLocator)) { if (_elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator, fieldLocator)) {
var _p24 = fieldLocator.fieldType; var _p25 = fieldLocator.fieldType;
switch (_p24.ctor) { switch (_p25.ctor) {
case 'FieldLanguageType': case 'FieldLanguageType':
var list = _user$project$Config$fieldHolderToList(fieldInstance.fieldHolder);
var newList = function () {
var _p25 = maybeString;
if (_p25.ctor === 'Nothing') {
return A2(
_elm_lang$core$List$take,
_elm_lang$core$List$length(list) - 1,
list);
} else {
return A2(
_elm_lang$core$Basics_ops['++'],
list,
{
ctor: '::',
_0: _p25._0,
_1: {ctor: '[]'}
});
}
}();
return _elm_lang$core$Native_Utils.update(
fieldInstance,
{
fieldHolder: A2(_user$project$Config$listToFieldHolder, _user$project$ConfigTypes$FieldLanguageValue, newList)
});
case 'FieldCryptoCurrencyType':
var list = _user$project$Config$fieldHolderToList(fieldInstance.fieldHolder); var list = _user$project$Config$fieldHolderToList(fieldInstance.fieldHolder);
var newList = function () { var newList = function () {
var _p26 = maybeString; var _p26 = maybeString;
@ -25770,6 +25774,31 @@ var _user$project$Config$updateStringFieldInstance = F3(
}); });
} }
}(); }();
return _elm_lang$core$Native_Utils.update(
fieldInstance,
{
fieldHolder: A2(_user$project$Config$listToFieldHolder, _user$project$ConfigTypes$FieldLanguageValue, newList)
});
case 'FieldCryptoCurrencyType':
var list = _user$project$Config$fieldHolderToList(fieldInstance.fieldHolder);
var newList = function () {
var _p27 = maybeString;
if (_p27.ctor === 'Nothing') {
return A2(
_elm_lang$core$List$take,
_elm_lang$core$List$length(list) - 1,
list);
} else {
return A2(
_elm_lang$core$Basics_ops['++'],
list,
{
ctor: '::',
_0: _p27._0,
_1: {ctor: '[]'}
});
}
}();
return _elm_lang$core$Native_Utils.update( return _elm_lang$core$Native_Utils.update(
fieldInstance, fieldInstance,
{ {
@ -25777,11 +25806,11 @@ var _user$project$Config$updateStringFieldInstance = F3(
}); });
default: default:
var fieldHolder = function () { var fieldHolder = function () {
var _p27 = maybeString; var _p28 = maybeString;
if (_p27.ctor === 'Nothing') { if (_p28.ctor === 'Nothing') {
return _user$project$ConfigTypes$FieldEmpty; return _user$project$ConfigTypes$FieldEmpty;
} else { } else {
return A2(_user$project$ConfigTypes$stringToFieldHolder, fieldLocator.fieldType, _p27._0); return A2(_user$project$ConfigTypes$stringToFieldHolder, fieldLocator.fieldType, _p28._0);
} }
}(); }();
return _elm_lang$core$Native_Utils.update( return _elm_lang$core$Native_Utils.update(
@ -25825,12 +25854,12 @@ var _user$project$Config$placeField = F2(
field), field),
fieldList)); fieldList));
var newField = function () { var newField = function () {
var _p28 = maybeOldField; var _p29 = maybeOldField;
if (_p28.ctor === 'Nothing') { if (_p29.ctor === 'Nothing') {
return field; return field;
} else { } else {
return _elm_lang$core$Native_Utils.update( return _elm_lang$core$Native_Utils.update(
_p28._0, _p29._0,
{fieldValue: field.fieldValue}); {fieldValue: field.fieldValue});
} }
}(); }();
@ -25839,14 +25868,14 @@ var _user$project$Config$placeField = F2(
_0: newField, _0: newField,
_1: A2( _1: A2(
_elm_lang$core$List$filter, _elm_lang$core$List$filter,
function (_p29) { function (_p30) {
return !A3( return !A3(
_user$project$Config$similar, _user$project$Config$similar,
function (_) { function (_) {
return _.fieldLocator; return _.fieldLocator;
}, },
field, field,
_p29); _p30);
}, },
fieldList) fieldList)
}; };
@ -25921,8 +25950,8 @@ var _user$project$Config$selectizeView = F6(
}, },
enabled: enabled enabled: enabled
}; };
var _p30 = fieldLocator.fieldType; var _p31 = fieldLocator.fieldType;
switch (_p30.ctor) { switch (_p31.ctor) {
case 'FieldAccountType': case 'FieldAccountType':
return A6(_user$project$Config$accountSelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); return A6(_user$project$Config$accountSelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue);
case 'FieldFiatCurrencyType': case 'FieldFiatCurrencyType':
@ -25937,10 +25966,10 @@ var _user$project$Config$selectizeView = F6(
return _elm_lang$core$Native_Utils.crashCase( return _elm_lang$core$Native_Utils.crashCase(
'Config', 'Config',
{ {
start: {line: 502, column: 9}, start: {line: 515, column: 9},
end: {line: 544, column: 52} end: {line: 557, column: 52}
}, },
_p30)('Not a Selectize field'); _p31)('Not a Selectize field');
} }
}); });
var _user$project$Config$CryptoSwitch = function (a) { var _user$project$Config$CryptoSwitch = function (a) {
@ -25949,12 +25978,12 @@ var _user$project$Config$CryptoSwitch = function (a) {
var _user$project$Config$cryptoView = F2( var _user$project$Config$cryptoView = F2(
function (maybeActiveCrypto, cryptoDisplay) { function (maybeActiveCrypto, cryptoDisplay) {
var activeClass = function () { var activeClass = function () {
var _p32 = maybeActiveCrypto; var _p33 = maybeActiveCrypto;
if (_p32.ctor === 'Nothing') { if (_p33.ctor === 'Nothing') {
return _user$project$Css_Admin$class( return _user$project$Css_Admin$class(
{ctor: '[]'}); {ctor: '[]'});
} else { } else {
return _elm_lang$core$Native_Utils.eq(_p32._0, cryptoDisplay.crypto) ? _user$project$Css_Admin$class( return _elm_lang$core$Native_Utils.eq(_p33._0, cryptoDisplay.crypto) ? _user$project$Css_Admin$class(
{ {
ctor: '::', ctor: '::',
_0: _user$project$Css_Classes$Active, _0: _user$project$Css_Classes$Active,
@ -26021,52 +26050,72 @@ var _user$project$Config$textInput = F4(
var fieldLocator = fieldInstance.fieldLocator; var fieldLocator = fieldInstance.fieldLocator;
var inputType = _user$project$Config$fieldTypeToInputType(fieldLocator.fieldType); var inputType = _user$project$Config$fieldTypeToInputType(fieldLocator.fieldType);
return enabled ? A2( return enabled ? A2(
_elm_lang$html$Html$input, _elm_lang$html$Html$div,
A2( {
_elm_lang$core$Basics_ops['++'], ctor: '::',
{ _0: _user$project$Css_Admin$class(
ctor: '::', {
_0: _elm_lang$html$Html_Events$onInput(
_user$project$Config$Input(fieldLocator)),
_1: {
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html_Events$onFocus( _0: _user$project$Css_Classes$InputContainer,
_user$project$Config$Focus(fieldLocator)), _1: {ctor: '[]'}
_1: { }),
_1: {ctor: '[]'}
},
{
ctor: '::',
_0: A2(
_elm_lang$html$Html$input,
A2(
_elm_lang$core$Basics_ops['++'],
{
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html_Events$onBlur( _0: _elm_lang$html$Html_Events$onInput(
_user$project$Config$Blur(fieldLocator)), _user$project$Config$Input(fieldLocator)),
_1: { _1: {
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html_Attributes$defaultValue(defaultString), _0: _elm_lang$html$Html_Events$onFocus(
_user$project$Config$Focus(fieldLocator)),
_1: { _1: {
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html_Attributes$placeholder(fallbackString), _0: _elm_lang$html$Html_Events$onBlur(
_user$project$Config$Blur(fieldLocator)),
_1: { _1: {
ctor: '::', ctor: '::',
_0: _user$project$Css_Admin$class( _0: _elm_lang$html$Html_Attributes$defaultValue(defaultString),
{
ctor: '::',
_0: _user$project$Css_Classes$BasicInput,
_1: {
ctor: '::',
_0: valid,
_1: {ctor: '[]'}
}
}),
_1: { _1: {
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html_Attributes$type_(inputType), _0: _elm_lang$html$Html_Attributes$placeholder(fallbackString),
_1: {ctor: '[]'} _1: {
ctor: '::',
_0: _user$project$Css_Admin$class(
{
ctor: '::',
_0: _user$project$Css_Classes$BasicInput,
_1: {
ctor: '::',
_0: valid,
_1: {ctor: '[]'}
}
}),
_1: {
ctor: '::',
_0: _elm_lang$html$Html_Attributes$type_(inputType),
_1: {ctor: '[]'}
}
}
} }
} }
} }
} }
} },
} validations),
}, {ctor: '[]'}),
validations), _1: {
{ctor: '[]'}) : A2( ctor: '::',
_0: _user$project$Config$unitDisplay(fieldInstance),
_1: {ctor: '[]'}
}
}) : A2(
_elm_lang$html$Html$div, _elm_lang$html$Html$div,
{ {
ctor: '::', ctor: '::',
@ -26086,20 +26135,20 @@ var _user$project$Config$textInput = F4(
}); });
var _user$project$Config$fieldInput = F5( var _user$project$Config$fieldInput = F5(
function (model, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled) { function (model, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled) {
var _p33 = fieldInstance.component; var _p34 = fieldInstance.component;
if (_p33.ctor === 'InputBoxComponent') { if (_p34.ctor === 'InputBoxComponent') {
return A4(_user$project$Config$textInput, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled); return A4(_user$project$Config$textInput, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled);
} else { } else {
return A6(_user$project$Config$selectizeView, model, fieldInstance, _p33._0, maybeFieldValue, maybeFallbackFieldValue, enabled); return A6(_user$project$Config$selectizeView, model, fieldInstance, _p34._0, maybeFieldValue, maybeFallbackFieldValue, enabled);
} }
}); });
var _user$project$Config$fieldComponent = F2( var _user$project$Config$fieldComponent = F2(
function (model, fieldInstance) { function (model, fieldInstance) {
var configGroup = model.configGroup; var configGroup = model.configGroup;
var maybeSpecific = function () { var maybeSpecific = function () {
var _p34 = fieldInstance.fieldHolder; var _p35 = fieldInstance.fieldHolder;
if (_p34.ctor === 'FieldOk') { if (_p35.ctor === 'FieldOk') {
return _elm_lang$core$Maybe$Just(_p34._0); return _elm_lang$core$Maybe$Just(_p35._0);
} else { } else {
return _elm_lang$core$Maybe$Nothing; return _elm_lang$core$Maybe$Nothing;
} }
@ -26185,8 +26234,8 @@ var _user$project$Config$rowView = F3(
}; };
var machine = machineDisplay.machine; var machine = machineDisplay.machine;
var globalRowClass = function () { var globalRowClass = function () {
var _p35 = machine; var _p36 = machine;
if (_p35.ctor === 'GlobalMachine') { if (_p36.ctor === 'GlobalMachine') {
return _user$project$Css_Admin$class( return _user$project$Css_Admin$class(
{ {
ctor: '::', ctor: '::',
@ -26272,8 +26321,8 @@ var _user$project$Config$tableView = function (model) {
}; };
var _user$project$Config$Submit = {ctor: 'Submit'}; var _user$project$Config$Submit = {ctor: 'Submit'};
var _user$project$Config$view = function (model) { var _user$project$Config$view = function (model) {
var _p36 = model.webConfigGroup; var _p37 = model.webConfigGroup;
switch (_p36.ctor) { switch (_p37.ctor) {
case 'NotAsked': case 'NotAsked':
return A2( return A2(
_elm_lang$html$Html$div, _elm_lang$html$Html$div,
@ -26295,21 +26344,21 @@ var _user$project$Config$view = function (model) {
{ {
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html$text( _0: _elm_lang$html$Html$text(
_elm_lang$core$Basics$toString(_p36._0)), _elm_lang$core$Basics$toString(_p37._0)),
_1: {ctor: '[]'} _1: {ctor: '[]'}
}); });
default: default:
var _p38 = _p36._0; var _p39 = _p37._0;
var statusString = function () { var statusString = function () {
var _p37 = model.status; var _p38 = model.status;
if (_p37.ctor === 'Saved') { if (_p38.ctor === 'Saved') {
return 'Saved'; return 'Saved';
} else { } else {
return ''; return '';
} }
}(); }();
var cryptos = A3(_user$project$ConfigTypes$allCryptos, _p38.data.cryptoCurrencies, _p38.schema.cryptoScope, _p38.selectedCryptos); var cryptos = A3(_user$project$ConfigTypes$allCryptos, _p39.data.cryptoCurrencies, _p39.schema.cryptoScope, _p39.selectedCryptos);
var resolvedModel = A2(_user$project$Config$toResolvedModel, model, _p38); var resolvedModel = A2(_user$project$Config$toResolvedModel, model, _p39);
var configGroupView = A2( var configGroupView = A2(
_elm_lang$html$Html$div, _elm_lang$html$Html$div,
{ {
@ -26393,7 +26442,7 @@ var _user$project$Config$view = function (model) {
_1: {ctor: '[]'} _1: {ctor: '[]'}
} }
}); });
return _elm_lang$core$Native_Utils.eq(_p38.schema.cryptoScope, _user$project$ConfigTypes$Global) ? A2( return _elm_lang$core$Native_Utils.eq(_p39.schema.cryptoScope, _user$project$ConfigTypes$Global) ? A2(
_elm_lang$html$Html$div, _elm_lang$html$Html$div,
{ctor: '[]'}, {ctor: '[]'},
{ {
@ -26412,7 +26461,7 @@ var _user$project$Config$view = function (model) {
}, },
{ {
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html$text(_p38.schema.display), _0: _elm_lang$html$Html$text(_p39.schema.display),
_1: {ctor: '[]'} _1: {ctor: '[]'}
}), }),
_1: { _1: {
@ -26439,7 +26488,7 @@ var _user$project$Config$view = function (model) {
}, },
{ {
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html$text(_p38.schema.display), _0: _elm_lang$html$Html$text(_p39.schema.display),
_1: {ctor: '[]'} _1: {ctor: '[]'}
}), }),
_1: { _1: {
@ -26473,7 +26522,7 @@ var _user$project$Config$view = function (model) {
}, },
{ {
ctor: '::', ctor: '::',
_0: _elm_lang$html$Html$text(_p38.schema.display), _0: _elm_lang$html$Html$text(_p39.schema.display),
_1: {ctor: '[]'} _1: {ctor: '[]'}
}), }),
_1: { _1: {
@ -26540,37 +26589,37 @@ var _user$project$Config$postForm = F2(
}); });
var _user$project$Config$update = F2( var _user$project$Config$update = F2(
function (msg, model) { function (msg, model) {
var _p39 = msg; var _p40 = msg;
switch (_p39.ctor) { switch (_p40.ctor) {
case 'Load': case 'Load':
var _p45 = _p39._0; var _p46 = _p40._0;
var defaultCrypto = function () { var defaultCrypto = function () {
var _p40 = _p45; var _p41 = _p46;
if (_p40.ctor === 'Success') { if (_p41.ctor === 'Success') {
var _p41 = _p40._0; var _p42 = _p41._0;
return A2( return A2(
_elm_lang$core$Maybe$map, _elm_lang$core$Maybe$map,
function (_) { function (_) {
return _.crypto; return _.crypto;
}, },
_elm_lang$core$List$head( _elm_lang$core$List$head(
A3(_user$project$ConfigTypes$allCryptos, _p41.data.cryptoCurrencies, _p41.schema.cryptoScope, _p41.selectedCryptos))); A3(_user$project$ConfigTypes$allCryptos, _p42.data.cryptoCurrencies, _p42.schema.cryptoScope, _p42.selectedCryptos)));
} else { } else {
return _elm_lang$core$Maybe$Nothing; return _elm_lang$core$Maybe$Nothing;
} }
}(); }();
var crypto = function () { var crypto = function () {
var _p42 = model.crypto; var _p43 = model.crypto;
if (_p42.ctor === 'Nothing') { if (_p43.ctor === 'Nothing') {
return defaultCrypto; return defaultCrypto;
} else { } else {
return _elm_lang$core$Maybe$Just(_p42._0); return _elm_lang$core$Maybe$Just(_p43._0);
} }
}(); }();
var fieldInstances = function () { var fieldInstances = function () {
var _p43 = _p45; var _p44 = _p46;
if (_p43.ctor === 'Success') { if (_p44.ctor === 'Success') {
return _user$project$Config$initFieldInstances(_p43._0); return _user$project$Config$initFieldInstances(_p44._0);
} else { } else {
return {ctor: '[]'}; return {ctor: '[]'};
} }
@ -26578,7 +26627,7 @@ var _user$project$Config$update = F2(
var status = _elm_lang$core$Native_Utils.eq(model.status, _user$project$Config$Saving) ? _user$project$Config$Saved : model.status; var status = _elm_lang$core$Native_Utils.eq(model.status, _user$project$Config$Saving) ? _user$project$Config$Saved : model.status;
var cmd = _elm_lang$core$Native_Utils.eq(status, _user$project$Config$Saved) ? A2( var cmd = _elm_lang$core$Native_Utils.eq(status, _user$project$Config$Saved) ? A2(
_elm_lang$core$Task$perform, _elm_lang$core$Task$perform,
function (_p44) { function (_p45) {
return _user$project$Config$HideSaveIndication; return _user$project$Config$HideSaveIndication;
}, },
_elm_lang$core$Process$sleep(2 * _elm_lang$core$Time$second)) : _elm_lang$core$Platform_Cmd$none; _elm_lang$core$Process$sleep(2 * _elm_lang$core$Time$second)) : _elm_lang$core$Platform_Cmd$none;
@ -26586,12 +26635,12 @@ var _user$project$Config$update = F2(
ctor: '_Tuple2', ctor: '_Tuple2',
_0: _elm_lang$core$Native_Utils.update( _0: _elm_lang$core$Native_Utils.update(
model, model,
{webConfigGroup: _p45, fieldInstances: fieldInstances, status: status, crypto: crypto}), {webConfigGroup: _p46, fieldInstances: fieldInstances, status: status, crypto: crypto}),
_1: cmd _1: cmd
}; };
case 'Submit': case 'Submit':
var _p46 = model.webConfigGroup; var _p47 = model.webConfigGroup;
if (_p46.ctor === 'Success') { if (_p47.ctor === 'Success') {
return A2( return A2(
_elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Platform_Cmd_ops['!'],
_elm_lang$core$Native_Utils.update( _elm_lang$core$Native_Utils.update(
@ -26599,7 +26648,7 @@ var _user$project$Config$update = F2(
{status: _user$project$Config$Saving}), {status: _user$project$Config$Saving}),
{ {
ctor: '::', ctor: '::',
_0: A2(_user$project$Config$postForm, _p46._0.schema.code, model.fieldInstances), _0: A2(_user$project$Config$postForm, _p47._0.schema.code, model.fieldInstances),
_1: {ctor: '[]'} _1: {ctor: '[]'}
}); });
} else { } else {
@ -26613,21 +26662,21 @@ var _user$project$Config$update = F2(
_elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Platform_Cmd_ops['!'],
A3( A3(
_user$project$Config$updateInput, _user$project$Config$updateInput,
_p39._0, _p40._0,
_elm_lang$core$Maybe$Just(_p39._1), _elm_lang$core$Maybe$Just(_p40._1),
model), model),
{ctor: '[]'}); {ctor: '[]'});
case 'CryptoSwitch': case 'CryptoSwitch':
var _p48 = _p39._0; var _p49 = _p40._0;
var _p47 = model.webConfigGroup; var _p48 = model.webConfigGroup;
if (_p47.ctor === 'Success') { if (_p48.ctor === 'Success') {
var cryptoCode = _user$project$ConfigTypes$cryptoToString(_p48); var cryptoCode = _user$project$ConfigTypes$cryptoToString(_p49);
var path = A2( var path = A2(
_elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics_ops['++'],
'#config/', '#config/',
A2( A2(
_elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics_ops['++'],
_p47._0.schema.code, _p48._0.schema.code,
A2(_elm_lang$core$Basics_ops['++'], '/', cryptoCode))); A2(_elm_lang$core$Basics_ops['++'], '/', cryptoCode)));
var command = _elm_lang$navigation$Navigation$newUrl( var command = _elm_lang$navigation$Navigation$newUrl(
A2(_elm_lang$core$Debug$log, 'DEBUG123', path)); A2(_elm_lang$core$Debug$log, 'DEBUG123', path));
@ -26636,7 +26685,7 @@ var _user$project$Config$update = F2(
_elm_lang$core$Native_Utils.update( _elm_lang$core$Native_Utils.update(
model, model,
{ {
crypto: _elm_lang$core$Maybe$Just(_p48) crypto: _elm_lang$core$Maybe$Just(_p49)
}), }),
{ {
ctor: '::', ctor: '::',
@ -26652,57 +26701,57 @@ var _user$project$Config$update = F2(
case 'Focus': case 'Focus':
return A2( return A2(
_elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Platform_Cmd_ops['!'],
A3(_user$project$Config$updateFocus, _p39._0, true, model), A3(_user$project$Config$updateFocus, _p40._0, true, model),
{ctor: '[]'}); {ctor: '[]'});
case 'Blur': case 'Blur':
return A2( return A2(
_elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Platform_Cmd_ops['!'],
A3(_user$project$Config$updateFocus, _p39._0, false, model), A3(_user$project$Config$updateFocus, _p40._0, false, model),
{ctor: '[]'}); {ctor: '[]'});
case 'SelectizeMsg': case 'SelectizeMsg':
return A2( return A2(
_elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Platform_Cmd_ops['!'],
A3(_user$project$Config$updateSelectize, _p39._0, _p39._1, model), A3(_user$project$Config$updateSelectize, _p40._0, _p40._1, model),
{ctor: '[]'}); {ctor: '[]'});
case 'BlurSelectize': case 'BlurSelectize':
var _p49 = _p39._0; var _p50 = _p40._0;
return A2(
_elm_lang$core$Platform_Cmd_ops['!'],
A3(
_user$project$Config$updateFocus,
_p49,
false,
A3(_user$project$Config$updateSelectize, _p49, _p39._1, model)),
{ctor: '[]'});
case 'FocusSelectize':
var _p50 = _p39._0;
return A2( return A2(
_elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Platform_Cmd_ops['!'],
A3( A3(
_user$project$Config$updateFocus, _user$project$Config$updateFocus,
_p50, _p50,
true, false,
A3(_user$project$Config$updateSelectize, _p50, _p39._1, model)), A3(_user$project$Config$updateSelectize, _p50, _p40._1, model)),
{ctor: '[]'}); {ctor: '[]'});
case 'Add': case 'FocusSelectize':
var _p51 = _p39._0; var _p51 = _p40._0;
return A2( return A2(
_elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Platform_Cmd_ops['!'],
A3( A3(
_user$project$Config$updateInput, _user$project$Config$updateFocus,
_p51, _p51,
_elm_lang$core$Maybe$Just(_p39._1), true,
A3(_user$project$Config$updateSelectize, _p51, _p39._2, model)), A3(_user$project$Config$updateSelectize, _p51, _p40._1, model)),
{ctor: '[]'}); {ctor: '[]'});
case 'Remove': case 'Add':
var _p52 = _p39._0; var _p52 = _p40._0;
return A2( return A2(
_elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Platform_Cmd_ops['!'],
A3( A3(
_user$project$Config$updateInput, _user$project$Config$updateInput,
_p52, _p52,
_elm_lang$core$Maybe$Just(_p40._1),
A3(_user$project$Config$updateSelectize, _p52, _p40._2, model)),
{ctor: '[]'});
case 'Remove':
var _p53 = _p40._0;
return A2(
_elm_lang$core$Platform_Cmd_ops['!'],
A3(
_user$project$Config$updateInput,
_p53,
_elm_lang$core$Maybe$Nothing, _elm_lang$core$Maybe$Nothing,
A3(_user$project$Config$updateSelectize, _p52, _p39._1, model)), A3(_user$project$Config$updateSelectize, _p53, _p40._1, model)),
{ctor: '[]'}); {ctor: '[]'});
default: default:
return A2( return A2(

View file

@ -283,6 +283,18 @@ p {
width: 6em; width: 6em;
} }
.lamassuAdminConfigTable .lamassuAdminInputContainer {
display: flex;
}
.lamassuAdminConfigTable .lamassuAdminUnitDisplay {
border-radius: 0px 3px 3px 0px;
background-color: #E6E6E3;
padding: 0 5px;
font-weight: 500;
line-height: 25px;
}
.lamassuAdminConfigTable input { .lamassuAdminConfigTable input {
border: 0; border: 0;
border-radius: 3px; border-radius: 3px;
@ -292,7 +304,7 @@ p {
font-family: Fira Code; font-family: Fira Code;
font-weight: 600; font-weight: 600;
outline: none; outline: none;
background-color: inherit; background-color: #ffffff;
} }
.lamassuAdminConfigTable input:invalid { .lamassuAdminConfigTable input:invalid {

224
yarn.lock
View file

@ -2,7 +2,7 @@
# yarn lockfile v1 # yarn lockfile v1
accepts@~1.3.3: accepts@1.3.3, accepts@~1.3.3:
version "1.3.3" version "1.3.3"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
dependencies: dependencies:
@ -13,6 +13,10 @@ acorn@^3.1.0:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
after@0.8.1:
version "0.8.1"
resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627"
agent-base@2: agent-base@2:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.0.1.tgz#bd8f9e86a8eb221fffa07bd14befd55df142815e" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.0.1.tgz#bd8f9e86a8eb221fffa07bd14befd55df142815e"
@ -72,6 +76,10 @@ array-flatten@1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
arraybuffer.slice@0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
asn1@~0.2.3: asn1@~0.2.3:
version "0.2.3" version "0.2.3"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
@ -124,6 +132,10 @@ axios@^0.15.2:
dependencies: dependencies:
follow-redirects "1.0.0" follow-redirects "1.0.0"
backo2@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
balanced-match@^0.4.1: balanced-match@^0.4.1:
version "0.4.2" version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
@ -132,10 +144,18 @@ base-x@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/base-x/-/base-x-1.1.0.tgz#42d3d717474f9ea02207f6d1aa1f426913eeb7ac" resolved "https://registry.yarnpkg.com/base-x/-/base-x-1.1.0.tgz#42d3d717474f9ea02207f6d1aa1f426913eeb7ac"
base64-arraybuffer@0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
base64-url@^1.2.1: base64-url@^1.2.1:
version "1.3.3" version "1.3.3"
resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.3.tgz#f8b6c537f09a4fc58c99cb86e0b0e9c61461a20f" resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.3.3.tgz#f8b6c537f09a4fc58c99cb86e0b0e9c61461a20f"
base64id@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f"
base64url@2.0.0, base64url@^2.0.0: base64url@2.0.0, base64url@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/base64url/-/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb" resolved "https://registry.yarnpkg.com/base64url/-/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb"
@ -150,6 +170,12 @@ bcrypt-pbkdf@^1.0.0:
dependencies: dependencies:
tweetnacl "^0.14.3" tweetnacl "^0.14.3"
better-assert@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
dependencies:
callsite "1.0.0"
big.js@^3.1.3: big.js@^3.1.3:
version "3.1.3" version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
@ -230,6 +256,10 @@ bl@~1.1.2:
dependencies: dependencies:
readable-stream "~2.0.5" readable-stream "~2.0.5"
blob@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
bluebird@^3.3.5: bluebird@^3.3.5:
version "3.4.6" version "3.4.6"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f"
@ -341,6 +371,10 @@ bytes@2.4.0:
version "2.4.0" version "2.4.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
callsite@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
camelcase-keys@^2.0.0: camelcase-keys@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
@ -437,10 +471,22 @@ commoner@~0.10.3:
q "^1.1.2" q "^1.1.2"
recast "^0.11.17" recast "^0.11.17"
component-emitter@^1.2.0, component-emitter@~1.2.0: component-bind@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
component-emitter@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
component-emitter@1.2.1, component-emitter@^1.2.0, component-emitter@~1.2.0:
version "1.2.1" version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
component-inherit@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
concat-map@0.0.1: concat-map@0.0.1:
version "0.0.1" version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@ -554,7 +600,13 @@ dateformat@^1.0.12:
get-stdin "^4.0.1" get-stdin "^4.0.1"
meow "^3.3.0" meow "^3.3.0"
debug@2, debug@^2.2.0, debug@~2.2.0: debug@2, debug@2.3.3, debug@^2.2.0:
version "2.3.3"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
dependencies:
ms "0.7.2"
debug@2.2.0, debug@~2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies: dependencies:
@ -681,6 +733,45 @@ encodeurl@~1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
engine.io-client@1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.1.tgz#71237e9bbce04862675d4d6bfbef351c8b6a35a3"
dependencies:
component-emitter "1.2.1"
component-inherit "0.0.3"
debug "2.3.3"
engine.io-parser "1.3.1"
has-cors "1.1.0"
indexof "0.0.1"
parsejson "0.0.3"
parseqs "0.0.5"
parseuri "0.0.5"
ws "1.1.1"
xmlhttprequest-ssl "1.5.3"
yeast "0.1.2"
engine.io-parser@1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.1.tgz#9554f1ae33107d6fbd170ca5466d2f833f6a07cf"
dependencies:
after "0.8.1"
arraybuffer.slice "0.0.6"
base64-arraybuffer "0.1.5"
blob "0.0.4"
has-binary "0.1.6"
wtf-8 "1.0.0"
engine.io@1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.1.tgz#20066ea903304f13ee37f10faaff6b4784f64373"
dependencies:
accepts "1.3.3"
base64id "0.1.0"
cookie "0.3.1"
debug "2.3.3"
engine.io-parser "1.3.1"
ws "1.1.1"
error-ex@^1.2.0: error-ex@^1.2.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"
@ -978,6 +1069,22 @@ has-ansi@^2.0.0:
dependencies: dependencies:
ansi-regex "^2.0.0" ansi-regex "^2.0.0"
has-binary@0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10"
dependencies:
isarray "0.0.1"
has-binary@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
dependencies:
isarray "0.0.1"
has-cors@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
hash.js@^1.0.0: hash.js@^1.0.0:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
@ -1095,6 +1202,10 @@ indent-string@^2.1.0:
dependencies: dependencies:
repeating "^2.0.0" repeating "^2.0.0"
indexof@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
inflight@^1.0.4: inflight@^1.0.4:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@ -1221,6 +1332,10 @@ json-stringify-safe@~5.0.1:
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json3@3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
jsonify@~0.0.0: jsonify@~0.0.0:
version "0.0.0" version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
@ -1502,10 +1617,14 @@ morgan@^1.7.0:
on-finished "~2.3.0" on-finished "~2.3.0"
on-headers "~1.0.1" on-headers "~1.0.1"
ms@0.7.1, ms@^0.7.1: ms@0.7.1:
version "0.7.1" version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
ms@0.7.2, ms@^0.7.1:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
nan@^2.0.5, nan@^2.2.0: nan@^2.0.5, nan@^2.2.0:
version "2.4.0" version "2.4.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232"
@ -1571,6 +1690,10 @@ object-assign@4.1.0, object-assign@^4.0.1:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
object-component@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
on-finished@~2.2.1: on-finished@~2.2.1:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.2.1.tgz#5c85c1cc36299f78029653f667f27b6b99ebc029" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.2.1.tgz#5c85c1cc36299f78029653f667f27b6b99ebc029"
@ -1604,6 +1727,10 @@ optionator@^0.8.1:
type-check "~0.3.2" type-check "~0.3.2"
wordwrap "~1.0.0" wordwrap "~1.0.0"
options@>=0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
os-locale@^1.4.0: os-locale@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
@ -1648,6 +1775,24 @@ parse-ms@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d"
parsejson@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
dependencies:
better-assert "~1.0.0"
parseqs@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
dependencies:
better-assert "~1.0.0"
parseuri@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
dependencies:
better-assert "~1.0.0"
parseurl@~1.3.1: parseurl@~1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
@ -2114,6 +2259,50 @@ sntp@1.x.x:
dependencies: dependencies:
hoek "2.x.x" hoek "2.x.x"
socket.io-adapter@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
dependencies:
debug "2.3.3"
socket.io-parser "2.3.1"
socket.io-client@1.7.1, socket.io-client@^1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.1.tgz#6c23725edff804f3919c1ce4ebb25e591c6e61d7"
dependencies:
backo2 "1.0.2"
component-bind "1.0.0"
component-emitter "1.2.1"
debug "2.3.3"
engine.io-client "1.8.1"
has-binary "0.1.7"
indexof "0.0.1"
object-component "0.0.3"
parseuri "0.0.5"
socket.io-parser "2.3.1"
to-array "0.1.4"
socket.io-parser@2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
dependencies:
component-emitter "1.1.2"
debug "2.2.0"
isarray "0.0.1"
json3 "3.3.2"
socket.io@^1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.1.tgz#a34d763fd22cd975643c2f0c7c5f14ba6da80aaf"
dependencies:
debug "2.3.3"
engine.io "1.8.1"
has-binary "0.1.7"
object-assign "4.1.0"
socket.io-adapter "0.5.0"
socket.io-client "1.7.1"
socket.io-parser "2.3.1"
socks-proxy-agent@2: socks-proxy-agent@2:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-2.0.0.tgz#c674842d70410fb28ae1e92e6135a927854bc275" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-2.0.0.tgz#c674842d70410fb28ae1e92e6135a927854bc275"
@ -2292,6 +2481,10 @@ timed-out@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.0.0.tgz#ff88de96030ce960eabd42487db61d3add229273" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.0.0.tgz#ff88de96030ce960eabd42487db61d3add229273"
to-array@0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
tough-cookie@~2.3.0: tough-cookie@~2.3.0:
version "2.3.2" version "2.3.2"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
@ -2345,6 +2538,10 @@ typeforce@^1.5.5:
dependencies: dependencies:
inherits "^2.0.1" inherits "^2.0.1"
ultron@1.0.x:
version "1.0.2"
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
underscore.string@2.4.0, underscore.string@~2.4.0: underscore.string@2.4.0, underscore.string@~2.4.0:
version "2.4.0" version "2.4.0"
resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b"
@ -2441,10 +2638,25 @@ wrappy@1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
ws@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018"
dependencies:
options ">=0.0.5"
ultron "1.0.x"
wtf-8@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
x-xss-protection@1.0.0: x-xss-protection@1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/x-xss-protection/-/x-xss-protection-1.0.0.tgz#898afb93869b24661cf9c52f9ee8db8ed0764dd9" resolved "https://registry.yarnpkg.com/x-xss-protection/-/x-xss-protection-1.0.0.tgz#898afb93869b24661cf9c52f9ee8db8ed0764dd9"
xmlhttprequest-ssl@1.5.3:
version "1.5.3"
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
xregexp@2.0.0: xregexp@2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943"
@ -2467,3 +2679,7 @@ yargs@~3.27.0:
os-locale "^1.4.0" os-locale "^1.4.0"
window-size "^0.1.2" window-size "^0.1.2"
y18n "^3.2.0" y18n "^3.2.0"
yeast@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"