diff --git a/scripts/cli-tests.js b/scripts/cli-tests.js index 1f4f0cc56..812e7571e 100644 --- a/scripts/cli-tests.js +++ b/scripts/cli-tests.js @@ -22,6 +22,7 @@ const options = { }, } +/* eslint-disable no-unused-vars */ let testsCounter = 0 let testsFailed = 0 diff --git a/scripts/postinstall.js b/scripts/postinstall.js index 2193ad009..84c5e6db6 100644 --- a/scripts/postinstall.js +++ b/scripts/postinstall.js @@ -11,7 +11,6 @@ * */ const sqlite3 = require('sqlite3')// .verbose(); //use verbose in dev to get stack traces -const os = require('os') const execSync = require('child_process').execSync const fs = require('fs') const semver = require('semver') diff --git a/scripts/preuninstall.js b/scripts/preuninstall.js index dab63e869..5cbdb7aea 100644 --- a/scripts/preuninstall.js +++ b/scripts/preuninstall.js @@ -11,8 +11,6 @@ * */ -const os = require('os') -const execSync = require('child_process').execSync const fs = require('fs') const version = require('../package').version const {backupDBs, backupConfigs, INSTALLATION_VARIABLES_FILE} = require('./util') diff --git a/src/cli/base-cli-handler.js b/src/cli/base-cli-handler.js index 7f4f7f1ab..352f611e7 100644 --- a/src/cli/base-cli-handler.js +++ b/src/cli/base-cli-handler.js @@ -16,7 +16,6 @@ const commandLineUsage = require('command-line-usage') const AppHelper = require('../helpers/app-helper') const Errors = require('../helpers/errors') const ErrorMessages = require('../helpers/error-messages') -const constants = require('../helpers/constants') class CLIHandler { constructor() { @@ -172,7 +171,8 @@ class CLIHandler { const isValidType = _validateType(expectedValueType, valType) if (!isValidType) { - throw new Errors.InvalidArgumentTypeError(AppHelper.formatMessage(ErrorMessages.INVALID_CLI_ARGUMENT_TYPE, currentArgName, expectedValueType)) + throw new Errors.InvalidArgumentTypeError(AppHelper.formatMessage(ErrorMessages.INVALID_CLI_ARGUMENT_TYPE, + currentArgName, expectedValueType)) } }) } diff --git a/src/cli/cli-data-types.js b/src/cli/cli-data-types.js index 9dba8acf4..821299201 100644 --- a/src/cli/cli-data-types.js +++ b/src/cli/cli-data-types.js @@ -11,16 +11,10 @@ * */ -/** - * @return {number} - */ function Integer(value) { return Number(value) } -/** - * @return {number} - */ function Float(value) { return Number(value) } diff --git a/src/cli/controller.js b/src/cli/controller.js index 2c67c1d4a..8b7e71bbb 100644 --- a/src/cli/controller.js +++ b/src/cli/controller.js @@ -15,7 +15,6 @@ const BaseCLIHandler = require('./base-cli-handler') const constants = require('../helpers/constants') const ControllerService = require('../services/controller-service') const logger = require('../logger') -const AppHelper = require('../helpers/app-helper') class Controller extends BaseCLIHandler { diff --git a/src/cli/microservice.js b/src/cli/microservice.js index 1cd13bf40..2c5813e02 100644 --- a/src/cli/microservice.js +++ b/src/cli/microservice.js @@ -262,7 +262,8 @@ class Microservice extends BaseCLIHandler { }, { desc: '2. Multiple mappings', - example: '$ iofog-controller microservice add [other required options] --volumes /host_src:/container_src:rw /host_bin:/container_bin:r', + example: '$ iofog-controller microservice add [other required options] --volumes /host_src:/container_src:rw ' + + '/host_bin:/container_bin:r', }, { desc: '3. Port mapping (80:8080:false - internal port : external port : public mode)', diff --git a/src/cli/start.js b/src/cli/start.js index 352ef57a9..313f47969 100644 --- a/src/cli/start.js +++ b/src/cli/start.js @@ -54,7 +54,8 @@ function checkDaemon(daemon, configuration) { iterationsCount++ const pid = daemon.status() if (pid === 0) { - return logger.error('Error: port is probably allocated, or ssl_key or ssl_cert or intermediate_cert is either missing or invalid.') + return logger.error('Error: port is probably allocated, or ssl_key or ssl_cert or intermediate_cert ' + + 'is either missing or invalid.') } if (iterationsCount === 5) { diff --git a/src/cli/tunnel.js b/src/cli/tunnel.js index b2e4d0cc1..0aff0eef5 100644 --- a/src/cli/tunnel.js +++ b/src/cli/tunnel.js @@ -19,7 +19,6 @@ const TunnelService = require('../services/tunnel-service') const CliDecorator = require('../decorators/cli-decorator') const Errors = require('../helpers/errors') const ErrorMessages = require('../helpers/error-messages') -const AppHelper = require('../helpers/app-helper') const CliDataTypes = require('./cli-data-types') class Tunnel extends BaseCLIHandler { diff --git a/src/decorators/authorization-decorator.js b/src/decorators/authorization-decorator.js index 7c8c98411..3c03ebcb4 100644 --- a/src/decorators/authorization-decorator.js +++ b/src/decorators/authorization-decorator.js @@ -20,12 +20,11 @@ const Errors = require('../helpers/errors') const {isTest} = require('../helpers/app-helper') function checkAuthToken(f) { - return async function() { + return async function(...fArgs) { if (isTest()) { - return await f.apply(this, arguments) + return await f.apply(this, fArgs) } - const fArgs = Array.prototype.slice.call(arguments) const req = fArgs[0] const token = req.headers.authorization @@ -41,18 +40,18 @@ function checkAuthToken(f) { } fArgs.push(user) - AccessTokenManager.updateExpirationTime(user.accessToken.id, user.accessToken.expirationTime + config.get('Settings:UserTokenExpirationIntervalSeconds') * 1000) + AccessTokenManager.updateExpirationTime(user.accessToken.id, user.accessToken.expirationTime + + config.get('Settings:UserTokenExpirationIntervalSeconds') * 1000) return await f.apply(this, fArgs) } } function checkFogToken(f) { - return async function() { + return async function(...fArgs) { if (isTest()) { - return await f.apply(this, arguments) + return await f.apply(this, fArgs) } - const fArgs = Array.prototype.slice.call(arguments) const req = fArgs[0] const token = req.headers.authorization @@ -69,7 +68,8 @@ function checkFogToken(f) { fArgs.push(fog) - FogAccessTokenManager.updateExpirationTime(fog.accessToken.id, fog.accessToken.expirationTime + config.get('Settings:FogTokenExpirationIntervalSeconds') * 1000) + FogAccessTokenManager.updateExpirationTime(fog.accessToken.id, fog.accessToken.expirationTime + + config.get('Settings:FogTokenExpirationIntervalSeconds') * 1000) const timestamp = Date.now() await FogManager.updateLastActive(fog.uuid, timestamp) diff --git a/src/decorators/cli-decorator.js b/src/decorators/cli-decorator.js index 78c0c272e..12f9fa76c 100644 --- a/src/decorators/cli-decorator.js +++ b/src/decorators/cli-decorator.js @@ -12,19 +12,17 @@ */ const logger = require('../logger') -const config = require('../config') const UserManager = require('../sequelize/managers/user-manager') -const AccessTokenManager = require('../sequelize/managers/access-token-manager') const Errors = require('../helpers/errors') const {isTest} = require('../helpers/app-helper') function prepareUserById(f) { - return async function() { + return async function(...args) { if (isTest()) { - return await f.apply(this, arguments) + return await f.apply(this, args) } - const fArgs = Array.prototype.slice.call(arguments) + const fArgs = Array.prototype.slice.call(args) const obj = fArgs[0] const userId = obj.userId @@ -41,12 +39,12 @@ function prepareUserById(f) { } function prepareUserByEmail(f) { - return async function() { + return async function(...args) { if (isTest()) { - return await f.apply(this, arguments) + return await f.apply(this, args) } - const fArgs = Array.prototype.slice.call(arguments) + const fArgs = Array.prototype.slice.call(args) const obj = fArgs[0] const email = obj.email diff --git a/src/decorators/response-decorator.js b/src/decorators/response-decorator.js index c0db7a934..1faa92b93 100644 --- a/src/decorators/response-decorator.js +++ b/src/decorators/response-decorator.js @@ -14,14 +14,14 @@ const logger = require('../logger') const {isTest} = require('../helpers/app-helper') function handleErrors(f, successCode, errorsCodes) { - return async function() { + return async function(...args) { if (isTest()) { - return await f.apply(this, arguments) + return await f.apply(this, args) } let responseObject = {} try { - const responseBody = await f.apply(this, arguments) + const responseBody = await f.apply(this, args) responseObject = {code: successCode, body: responseBody} } catch (err) { logger.error('error: ' + err) diff --git a/src/decorators/tracking-decorator.js b/src/decorators/tracking-decorator.js index 263d883cd..763ff5a40 100644 --- a/src/decorators/tracking-decorator.js +++ b/src/decorators/tracking-decorator.js @@ -15,13 +15,12 @@ const {isTest} = require('../helpers/app-helper') const Tracking = require('../tracking') function trackEvent(f, eventType) { - return async function() { + return async function(...fArgs) { if (isTest()) { - return await f.apply(this, arguments) + return await f.apply(this, fArgs) } - const fArgs = Array.prototype.slice.call(arguments) - const res = await f.apply(this, arguments) + const res = await f.apply(this, fArgs) const event = Tracking.buildEvent(eventType, res, fArgs, f.name) await Tracking.processEvent(event, fArgs, res) return res diff --git a/src/decorators/transaction-decorator.js b/src/decorators/transaction-decorator.js index da3be453f..10aa70d07 100644 --- a/src/decorators/transaction-decorator.js +++ b/src/decorators/transaction-decorator.js @@ -18,14 +18,14 @@ const Transaction = require('sequelize/lib/transaction') const {isTest} = require('../helpers/app-helper') function transaction(f) { - return async function() { + return async function(...fArgs) { if (isTest()) { - return await f.apply(this, arguments) + return await f.apply(this, fArgs) } - const fArgs = Array.prototype.slice.call(arguments) // TODO [when transactions concurrency issue fixed]: Remove 'fArgs[fArgs.length - 1].fakeTransaction' - if (fArgs.length > 0 && fArgs[fArgs.length - 1] && (fArgs[fArgs.length - 1] instanceof Transaction || fArgs[fArgs.length - 1].fakeTransaction)) { + if (fArgs.length > 0 && fArgs[fArgs.length - 1] + && (fArgs[fArgs.length - 1] instanceof Transaction || fArgs[fArgs.length - 1].fakeTransaction)) { return await f.apply(this, fArgs) } else { // return f.apply(this, fArgs) @@ -38,8 +38,7 @@ function transaction(f) { } function generateTransaction(f) { - return function() { - const args = Array.prototype.slice.call(arguments) + return function(...args) { return retry(() => { const t = transaction(f) return t.apply(this, args) @@ -55,12 +54,11 @@ function generateTransaction(f) { function fakeTransaction(f) { const fakeTransactionObject = {fakeTransaction: true} - return async function() { + return async function(...fArgs) { if (isTest()) { - return await f.apply(this, arguments) + return await f.apply(this, fArgs) } - const fArgs = Array.prototype.slice.call(arguments) if (fArgs.length > 0 && fArgs[fArgs.length - 1] instanceof Transaction) { fArgs[fArgs.length - 1] = fakeTransactionObject return await f.apply(this, fArgs) @@ -73,8 +71,7 @@ function fakeTransaction(f) { // TODO [when transactions concurrency issue fixed]: Remove function generateFakeTransaction(f) { - return function() { - const args = Array.prototype.slice.call(arguments) + return function(...args) { return retry(() => { const t = fakeTransaction(f) return t.apply(this, args) diff --git a/src/helpers/app-helper.js b/src/helpers/app-helper.js index 1f391cab7..e4a580862 100644 --- a/src/helpers/app-helper.js +++ b/src/helpers/app-helper.js @@ -13,7 +13,6 @@ const crypto = require('crypto') const Errors = require('./errors') -const ErrorMessages = require('./error-messages') const logger = require('../logger') const fs = require('fs') @@ -105,6 +104,7 @@ function isValidDomain(domain) { } const isValidPublicIP = function(publicIP) { + /* eslint-disable max-len */ const re = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$|^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/ return re.test(publicIP) } @@ -150,9 +150,8 @@ function validateBooleanCliOptions(trueOption, falseOption) { return trueOption ? true : (falseOption ? false : undefined) } -function formatMessage() { - const argsArray = Array.prototype.slice.call(arguments) - return format.apply(null, argsArray) +function formatMessage(...args) { + return format(...args) } function stringifyCliJsonSchema(json) { diff --git a/src/helpers/error-messages.js b/src/helpers/error-messages.js index 33020ca23..56cdf0c60 100644 --- a/src/helpers/error-messages.js +++ b/src/helpers/error-messages.js @@ -34,7 +34,8 @@ module.exports = { ACCOUNT_NOT_FOUND: 'Account not found', USER_NOT_UPDATED: 'User not updated', EMAIL_NOT_ACTIVATED: 'Email is not activated. Please activate your account first.', - REGISTRATION_FAILED: 'Registration failed: There is already an account associated with your email address. Please try logging in instead.', + REGISTRATION_FAILED: 'Registration failed: There is already an account associated with your email address. ' + + 'Please try logging in instead.', INVALID_PROVISIONING_KEY: 'Invalid Provisioning Key', EMAIL_SENDER_NOT_CONFIGURED: 'Email sender not configured', INVALID_PORT_FORMAT: 'Invalid port format', @@ -48,7 +49,8 @@ module.exports = { STRACE_WITHOUT_FOG: 'Can\'t run strace for microservice without ioFog.', INVALID_ACTION_PROPERTY: 'Unknown action property. Action can be "open" or "close"', IMAGE_SNAPSHOT_NOT_FOUND: 'Image snapshot not found', - INVALID_MICROSERVICES_FOG_TYPE: 'Some of microservices haven\'t proper docker images for this ioFog type. List of invalid microservices:\n', + INVALID_MICROSERVICES_FOG_TYPE: 'Some of microservices haven\'t proper docker images for this ioFog type. ' + + 'List of invalid microservices:\n', INVALID_MICROSERVICE_CONFIG: 'Can\'t create network microservice without appropriate configuration.', INVALID_MICROSERVICE_USER: 'Invalid microservice user or UUID', ROUTE_NOT_FOUND: 'Route not found', diff --git a/src/jobs/send-tracking-job.js b/src/jobs/send-tracking-job.js index 2d8aab416..78c5a305e 100644 --- a/src/jobs/send-tracking-job.js +++ b/src/jobs/send-tracking-job.js @@ -13,7 +13,6 @@ const BaseJobHandler = require('./base/base-job-handler') const Tracking = require('../tracking') -const TrackingEventType = require('../enums/tracking-event-type') const TrackingEventManager = require('../sequelize/managers/tracking-event-manager') class SendTrackingJob extends BaseJobHandler { diff --git a/src/main.js b/src/main.js index 35d2eab35..2c32f7c9c 100644 --- a/src/main.js +++ b/src/main.js @@ -18,7 +18,6 @@ if (!process.env.NODE_ENV) { } const Cli = require('./cli') -const logger = require('./logger') const daemon = require('./daemon') function main() { diff --git a/src/routes/agent.js b/src/routes/agent.js index d4b96529f..1d0e47ed4 100644 --- a/src/routes/agent.js +++ b/src/routes/agent.js @@ -69,7 +69,8 @@ module.exports = [ }, ] - const agentDeprovisionEndPoint = ResponseDecorator.handleErrors(AgentController.agentDeprovisionEndPoint, successCode, errorCodes) + const agentDeprovisionEndPoint = ResponseDecorator.handleErrors(AgentController.agentDeprovisionEndPoint, + successCode, errorCodes) const responseObject = await agentDeprovisionEndPoint(req) res @@ -121,7 +122,8 @@ module.exports = [ }, ] - const updateAgentConfigEndPoint = ResponseDecorator.handleErrors(AgentController.updateAgentConfigEndPoint, successCode, errorCodes) + const updateAgentConfigEndPoint = ResponseDecorator.handleErrors(AgentController.updateAgentConfigEndPoint, + successCode, errorCodes) const responseObject = await updateAgentConfigEndPoint(req) res @@ -149,7 +151,8 @@ module.exports = [ }, ] - const getAgentConfigChangesEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentConfigChangesEndPoint, successCode, errorCodes) + const getAgentConfigChangesEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentConfigChangesEndPoint, + successCode, errorCodes) const responseObject = await getAgentConfigChangesEndPoint(req) res @@ -177,7 +180,8 @@ module.exports = [ }, ] - const updateAgentStatusEndPoint = ResponseDecorator.handleErrors(AgentController.updateAgentStatusEndPoint, successCode, errorCodes) + const updateAgentStatusEndPoint = ResponseDecorator.handleErrors(AgentController.updateAgentStatusEndPoint, + successCode, errorCodes) const responseObject = await updateAgentStatusEndPoint(req) res @@ -201,7 +205,8 @@ module.exports = [ }, ] - const getAgentMicroservicesEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentMicroservicesEndPoint, successCode, errorCodes) + const getAgentMicroservicesEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentMicroservicesEndPoint, + successCode, errorCodes) const responseObject = await getAgentMicroservicesEndPoint(req) res @@ -229,7 +234,8 @@ module.exports = [ }, ] - const getAgentMicroserviceEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentMicroserviceEndPoint, successCode, errorCodes) + const getAgentMicroserviceEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentMicroserviceEndPoint, + successCode, errorCodes) const responseObject = await getAgentMicroserviceEndPoint(req) res @@ -253,7 +259,8 @@ module.exports = [ }, ] - const getAgentRegistriesEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentRegistriesEndPoint, successCode, errorCodes) + const getAgentRegistriesEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentRegistriesEndPoint, + successCode, errorCodes) const responseObject = await getAgentRegistriesEndPoint(req) res @@ -281,7 +288,8 @@ module.exports = [ }, ] - const getAgentTunnelEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentTunnelEndPoint, successCode, errorCodes) + const getAgentTunnelEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentTunnelEndPoint, + successCode, errorCodes) const responseObject = await getAgentTunnelEndPoint(req) res @@ -309,7 +317,8 @@ module.exports = [ }, ] - const getAgentStraceEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentStraceEndPoint, successCode, errorCodes) + const getAgentStraceEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentStraceEndPoint, + successCode, errorCodes) const responseObject = await getAgentStraceEndPoint(req) res @@ -341,7 +350,8 @@ module.exports = [ }, ] - const updateAgentStraceEndPoint = ResponseDecorator.handleErrors(AgentController.updateAgentStraceEndPoint, successCode, errorCodes) + const updateAgentStraceEndPoint = ResponseDecorator.handleErrors(AgentController.updateAgentStraceEndPoint, + successCode, errorCodes) const responseObject = await updateAgentStraceEndPoint(req) res @@ -369,8 +379,8 @@ module.exports = [ }, ] - const getAgentChangeVersionCommandEndPoint = ResponseDecorator.handleErrors(AgentController.getAgentChangeVersionCommandEndPoint, - successCode, errorCodes) + const getAgentChangeVersionCommandEndPoint = ResponseDecorator.handleErrors( + AgentController.getAgentChangeVersionCommandEndPoint, successCode, errorCodes) const responseObject = await getAgentChangeVersionCommandEndPoint(req) res @@ -452,7 +462,8 @@ module.exports = [ }, ] - const deleteNodeEndPoint = ResponseDecorator.handleErrors(AgentController.deleteNodeEndPoint, successCode, errCodes) + const deleteNodeEndPoint = ResponseDecorator.handleErrors(AgentController.deleteNodeEndPoint, + successCode, errCodes) const responseObject = await deleteNodeEndPoint(req) res diff --git a/src/routes/controller.js b/src/routes/controller.js index bc8615e09..8da2bb4da 100644 --- a/src/routes/controller.js +++ b/src/routes/controller.js @@ -13,7 +13,6 @@ const constants = require('../helpers/constants') const Controller = require('../controllers/controller') const ResponseDecorator = require('../decorators/response-decorator') -const Errors = require('../helpers/errors') const logger = require('../logger') module.exports = [ diff --git a/src/routes/iofog.js b/src/routes/iofog.js index d448e9731..f5eb6de3a 100644 --- a/src/routes/iofog.js +++ b/src/routes/iofog.js @@ -179,7 +179,8 @@ module.exports = [ }, ] - const generateFogProvisioningKey = ResponseDecorator.handleErrors(FogController.generateProvisioningKeyEndPoint, successCode, errCodes) + const generateFogProvisioningKey = ResponseDecorator.handleErrors(FogController.generateProvisioningKeyEndPoint, + successCode, errCodes) const responseObject = await generateFogProvisioningKey(req) res @@ -211,7 +212,8 @@ module.exports = [ }, ] - const setFogVersionCommand = ResponseDecorator.handleErrors(FogController.setFogVersionCommandEndPoint, successCode, errCodes) + const setFogVersionCommand = ResponseDecorator.handleErrors(FogController.setFogVersionCommandEndPoint, + successCode, errCodes) const responseObject = await setFogVersionCommand(req) res @@ -244,7 +246,8 @@ module.exports = [ ] - const setFogRebootCommand = ResponseDecorator.handleErrors(FogController.setFogRebootCommandEndPoint, successCode, errCodes) + const setFogRebootCommand = ResponseDecorator.handleErrors(FogController.setFogRebootCommandEndPoint, + successCode, errCodes) const responseObject = await setFogRebootCommand(req) res @@ -272,7 +275,8 @@ module.exports = [ }, ] - const getHalHardwareInfo = ResponseDecorator.handleErrors(FogController.getHalHardwareInfoEndPoint, successCode, errCodes) + const getHalHardwareInfo = ResponseDecorator.handleErrors(FogController.getHalHardwareInfoEndPoint, + successCode, errCodes) const responseObject = await getHalHardwareInfo(req) res diff --git a/src/routes/microservices.js b/src/routes/microservices.js index ab0d92fea..7ffb7cf79 100644 --- a/src/routes/microservices.js +++ b/src/routes/microservices.js @@ -31,7 +31,8 @@ module.exports = [ }, ] - const getMicroservicesByFlowEndPoint = ResponseDecorator.handleErrors(MicroservicesController.getMicroservicesByFlowEndPoint, successCode, errorCodes) + const getMicroservicesByFlowEndPoint = ResponseDecorator.handleErrors(MicroservicesController.getMicroservicesByFlowEndPoint, + successCode, errorCodes) const responseObject = await getMicroservicesByFlowEndPoint(req) res @@ -59,7 +60,8 @@ module.exports = [ }, ] - const createMicroservicesOnFogEndPoint = ResponseDecorator.handleErrors(MicroservicesController.createMicroserviceOnFogEndPoint, successCode, errorCodes) + const createMicroservicesOnFogEndPoint = ResponseDecorator.handleErrors( + MicroservicesController.createMicroserviceOnFogEndPoint, successCode, errorCodes) const responseObject = await createMicroservicesOnFogEndPoint(req) res @@ -87,7 +89,8 @@ module.exports = [ }, ] - const getMicroserviceEndPoint = ResponseDecorator.handleErrors(MicroservicesController.getMicroserviceEndPoint, successCode, errorCodes) + const getMicroserviceEndPoint = ResponseDecorator.handleErrors(MicroservicesController.getMicroserviceEndPoint, + successCode, errorCodes) const responseObject = await getMicroserviceEndPoint(req) res @@ -120,7 +123,8 @@ module.exports = [ }, ] - const updateMicroserviceEndPoint = ResponseDecorator.handleErrors(MicroservicesController.updateMicroserviceEndPoint, successCode, errorCodes) + const updateMicroserviceEndPoint = ResponseDecorator.handleErrors(MicroservicesController.updateMicroserviceEndPoint, + successCode, errorCodes) const responseObject = await updateMicroserviceEndPoint(req) res @@ -148,7 +152,8 @@ module.exports = [ }, ] - const deleteMicroserviceEndPoint = ResponseDecorator.handleErrors(MicroservicesController.deleteMicroserviceEndPoint, successCode, errorCodes) + const deleteMicroserviceEndPoint = ResponseDecorator.handleErrors(MicroservicesController.deleteMicroserviceEndPoint, + successCode, errorCodes) const responseObject = await deleteMicroserviceEndPoint(req) res @@ -180,7 +185,8 @@ module.exports = [ }, ] - const createMicroserviceRouteEndPoint = ResponseDecorator.handleErrors(MicroservicesController.createMicroserviceRouteEndPoint, successCode, errorCodes) + const createMicroserviceRouteEndPoint = ResponseDecorator.handleErrors( + MicroservicesController.createMicroserviceRouteEndPoint, successCode, errorCodes) const responseObject = await createMicroserviceRouteEndPoint(req) res @@ -212,7 +218,8 @@ module.exports = [ }, ] - const deleteMicroserviceRouteEndPoint = ResponseDecorator.handleErrors(MicroservicesController.deleteMicroserviceRouteEndPoint, successCode, errorCodes) + const deleteMicroserviceRouteEndPoint = ResponseDecorator.handleErrors( + MicroservicesController.deleteMicroserviceRouteEndPoint, successCode, errorCodes) const responseObject = await deleteMicroserviceRouteEndPoint(req) res @@ -244,7 +251,8 @@ module.exports = [ }, ] - const createMicroservicePortMappingEndPoint = ResponseDecorator.handleErrors(MicroservicesController.createMicroservicePortMappingEndPoint, successCode, errorCodes) + const createMicroservicePortMappingEndPoint = ResponseDecorator.handleErrors( + MicroservicesController.createMicroservicePortMappingEndPoint, successCode, errorCodes) const responseObject = await createMicroservicePortMappingEndPoint(req) res @@ -272,7 +280,8 @@ module.exports = [ }, ] - const deleteMicroservicePortMapping = ResponseDecorator.handleErrors(MicroservicesController.deleteMicroservicePortMappingEndPoint, successCode, errorCodes) + const deleteMicroservicePortMapping = ResponseDecorator.handleErrors( + MicroservicesController.deleteMicroservicePortMappingEndPoint, successCode, errorCodes) const responseObject = await deleteMicroservicePortMapping(req) res @@ -300,7 +309,8 @@ module.exports = [ }, ] - const getMicroservicePortMapping = ResponseDecorator.handleErrors(MicroservicesController.getMicroservicePortMappingListEndPoint, successCode, errorCodes) + const getMicroservicePortMapping = ResponseDecorator.handleErrors( + MicroservicesController.getMicroservicePortMappingListEndPoint, successCode, errorCodes) const responseObject = await getMicroservicePortMapping(req) res diff --git a/src/routes/registries.js b/src/routes/registries.js index 6b6f2e1e5..df186b429 100644 --- a/src/routes/registries.js +++ b/src/routes/registries.js @@ -120,7 +120,8 @@ module.exports = [ errors: [Errors.NotFoundError], }, ] - const updateRegistryEndPoint = ResponseDecorator.handleErrors(RegistryController.updateRegistryEndPoint, successCode, errorCodes) + const updateRegistryEndPoint = ResponseDecorator.handleErrors(RegistryController.updateRegistryEndPoint, + successCode, errorCodes) const responseObject = await updateRegistryEndPoint(req) res .status(responseObject.code) diff --git a/src/routes/user.js b/src/routes/user.js index aa64ddc4b..c9ba0ef44 100644 --- a/src/routes/user.js +++ b/src/routes/user.js @@ -45,7 +45,8 @@ module.exports = [ .status(responseObject.code) .send(responseObject.body) - logger.apiRes('POST /api/v3/user/login', {args: {statusCode: responseObject.code}}) // don't use req and responseObject as args, because they have password and token + logger.apiRes('POST /api/v3/user/login', {args: {statusCode: responseObject.code}}) + // don't use req and responseObject as args, because they have password and token }, }, { @@ -108,7 +109,8 @@ module.exports = [ }, ] - const resendActivationEndPoint = ResponseDecorator.handleErrors(UserController.resendActivationEndPoint, successCode, errorCodes) + const resendActivationEndPoint = ResponseDecorator.handleErrors(UserController.resendActivationEndPoint, + successCode, errorCodes) const responseObject = await resendActivationEndPoint(req) res @@ -132,7 +134,8 @@ module.exports = [ }, ] - const activateUserEndPoint = ResponseDecorator.handleErrors(UserController.activateUserAccountEndPoint, successCode, errorCodes) + const activateUserEndPoint = ResponseDecorator.handleErrors(UserController.activateUserAccountEndPoint, + successCode, errorCodes) const responseObject = await activateUserEndPoint(req) // redirect to login page @@ -190,7 +193,8 @@ module.exports = [ }, ] - const updateUserProfileEndPoint = ResponseDecorator.handleErrors(UserController.updateUserProfileEndPoint, successCode, errorCodes) + const updateUserProfileEndPoint = ResponseDecorator.handleErrors(UserController.updateUserProfileEndPoint, + successCode, errorCodes) const responseObject = await updateUserProfileEndPoint(req) res @@ -214,7 +218,8 @@ module.exports = [ }, ] - const deleteUserProfileEndPoint = ResponseDecorator.handleErrors(UserController.deleteUserProfileEndPoint, successCode, errorCodes) + const deleteUserProfileEndPoint = ResponseDecorator.handleErrors(UserController.deleteUserProfileEndPoint, + successCode, errorCodes) const responseObject = await deleteUserProfileEndPoint(req) res @@ -242,7 +247,8 @@ module.exports = [ }, ] - const updateUserPasswordEndPoint = ResponseDecorator.handleErrors(UserController.updateUserPasswordEndPoint, successCode, errorCodes) + const updateUserPasswordEndPoint = ResponseDecorator.handleErrors(UserController.updateUserPasswordEndPoint, + successCode, errorCodes) const responseObject = await updateUserPasswordEndPoint(req) res @@ -266,7 +272,8 @@ module.exports = [ }, ] - const resetUserPasswordEndPoint = ResponseDecorator.handleErrors(UserController.resetUserPasswordEndPoint, successCode, errorCodes) + const resetUserPasswordEndPoint = ResponseDecorator.handleErrors(UserController.resetUserPasswordEndPoint, + successCode, errorCodes) const responseObject = await resetUserPasswordEndPoint(req) res diff --git a/src/schemas/registry.js b/src/schemas/registry.js index 03adfc437..f360386ee 100644 --- a/src/schemas/registry.js +++ b/src/schemas/registry.js @@ -21,7 +21,8 @@ const registryCreate = { 'password': {'type': 'string'}, 'email': { 'type': 'string', - 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', + 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}' + + '\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', }, 'requiresCert': {'type': 'boolean'}, 'certificate': {'type': 'string'}, @@ -50,7 +51,8 @@ const registryUpdate = { 'password': {'type': 'string'}, 'email': { 'type': 'string', - 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', + 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}' + + '\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', }, 'requiresCert': {'type': 'boolean'}, 'certificate': {'type': 'string'}, diff --git a/src/schemas/user.js b/src/schemas/user.js index 5d99cda1b..f8c757b94 100644 --- a/src/schemas/user.js +++ b/src/schemas/user.js @@ -19,7 +19,8 @@ const signUp = { 'lastName': {'type': 'string', 'minLength': 3}, 'email': { 'type': 'string', - 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', + 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}' + + '\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', }, 'password': {'type': 'string', 'minLength': 8}, }, @@ -33,7 +34,8 @@ const login = { 'properties': { 'email': { 'type': 'string', - 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', + 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}' + + '\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', }, 'password': {'type': 'string'}, }, @@ -47,7 +49,8 @@ const resendActivation = { 'properties': { 'email': { 'type': 'string', - 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', + 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}' + + '\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', }, }, 'required': ['email'], @@ -114,7 +117,8 @@ const resetUserPassword = { 'properties': { 'email': { 'type': 'string', - 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', + 'pattern': '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}' + + '\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$', }, }, 'required': ['email'], diff --git a/src/sequelize/managers/access-token-manager.js b/src/sequelize/managers/access-token-manager.js index 440416197..026f067aa 100644 --- a/src/sequelize/managers/access-token-manager.js +++ b/src/sequelize/managers/access-token-manager.js @@ -14,9 +14,8 @@ const BaseManager = require('./base-manager') const models = require('./../models') const AccessToken = models.AccessToken -const AppHelper = require('../../helpers/app-helper') -class accessTokenManager extends BaseManager { +class AccessTokenManager extends BaseManager { getEntity() { return AccessToken } @@ -33,5 +32,5 @@ class accessTokenManager extends BaseManager { } } -const instance = new accessTokenManager() +const instance = new AccessTokenManager() module.exports = instance diff --git a/src/sequelize/managers/base-manager.js b/src/sequelize/managers/base-manager.js index 24f3f5b2d..3601335f6 100644 --- a/src/sequelize/managers/base-manager.js +++ b/src/sequelize/managers/base-manager.js @@ -14,8 +14,6 @@ const AppHelper = require('../../helpers/app-helper') const Errors = require('../../helpers/errors') -const ChangeTracking = require('./../models').ChangeTracking - // TODO [when transactions concurrency issue fixed]: Transactions should be used always module.exports = class BaseManager { getEntity() { @@ -142,7 +140,8 @@ module.exports = class BaseManager { let hasUpdates = false for (const fldName in newData) { - if (newData.hasOwnProperty(fldName) && obj.dataValues.hasOwnProperty(fldName) && newData[fldName] !== obj.dataValues[fldName]) { + if (newData.hasOwnProperty(fldName) && obj.dataValues.hasOwnProperty(fldName) && + newData[fldName] !== obj.dataValues[fldName]) { hasUpdates = true break } diff --git a/src/sequelize/managers/catalog-item-manager.js b/src/sequelize/managers/catalog-item-manager.js index bff3bfd90..e1b28856e 100644 --- a/src/sequelize/managers/catalog-item-manager.js +++ b/src/sequelize/managers/catalog-item-manager.js @@ -17,7 +17,6 @@ const CatalogItem = models.CatalogItem const CatalogItemImage = models.CatalogItemImage const CatalogItemInputType = models.CatalogItemInputType const CatalogItemOutputType = models.CatalogItemOutputType -const Op = require('sequelize').Op class CatalogItemManager extends BaseManager { getEntity() { diff --git a/src/sequelize/managers/flow-manager.js b/src/sequelize/managers/flow-manager.js index 82dad3a0f..64ff3802d 100644 --- a/src/sequelize/managers/flow-manager.js +++ b/src/sequelize/managers/flow-manager.js @@ -15,7 +15,6 @@ const BaseManager = require('./base-manager') const models = require('./../models') const Flow = models.Flow const Microservice = models.Microservice -const sequelize = require('sequelize') class FlowManager extends BaseManager { getEntity() { diff --git a/src/sequelize/migrations/20180930155645-create-user.js b/src/sequelize/migrations/20180930155645-create-user.js index 68cbb72c6..3fbc1746e 100644 --- a/src/sequelize/migrations/20180930155645-create-user.js +++ b/src/sequelize/migrations/20180930155645-create-user.js @@ -10,25 +10,30 @@ module.exports = { field: 'id', }, firstName: { + /* eslint-disable new-cap */ type: Sequelize.STRING(100), field: 'first_name', defaultValue: '', }, lastName: { + /* eslint-disable new-cap */ type: Sequelize.STRING(100), field: 'last_name', defaultValue: '', }, email: { + /* eslint-disable new-cap */ type: Sequelize.STRING(100), field: 'email', defaultValue: '', }, password: { + /* eslint-disable new-cap */ type: Sequelize.STRING(100), field: 'password', }, tempPassword: { + /* eslint-disable new-cap */ type: Sequelize.STRING(100), field: 'temp_password', }, diff --git a/src/sequelize/migrations/20180930230626-create-fog-provision-key.js b/src/sequelize/migrations/20180930230626-create-fog-provision-key.js index 5917de8aa..c1efdec87 100644 --- a/src/sequelize/migrations/20180930230626-create-fog-provision-key.js +++ b/src/sequelize/migrations/20180930230626-create-fog-provision-key.js @@ -10,6 +10,7 @@ module.exports = { field: 'id', }, provisionKey: { + /* eslint-disable new-cap */ type: Sequelize.STRING(100), field: 'provisioning_string', }, diff --git a/src/sequelize/migrations/20180930231241-create-fog-version-command.js b/src/sequelize/migrations/20180930231241-create-fog-version-command.js index 130bc8253..9bb62b460 100644 --- a/src/sequelize/migrations/20180930231241-create-fog-version-command.js +++ b/src/sequelize/migrations/20180930231241-create-fog-version-command.js @@ -9,6 +9,7 @@ module.exports = { field: 'id', }, versionCommand: { + /* eslint-disable new-cap */ type: Sequelize.STRING(100), field: 'version_command', }, diff --git a/src/sequelize/models/fogprovisionkey.js b/src/sequelize/models/fogprovisionkey.js index 9d95bb8d6..7b89b00e2 100644 --- a/src/sequelize/models/fogprovisionkey.js +++ b/src/sequelize/models/fogprovisionkey.js @@ -9,6 +9,7 @@ module.exports = (sequelize, DataTypes) => { field: 'id', }, provisionKey: { + /* eslint-disable new-cap */ type: DataTypes.STRING(100), field: 'provisioning_string', }, diff --git a/src/sequelize/models/fogversioncommand.js b/src/sequelize/models/fogversioncommand.js index d98d51f93..ec9f2f6fa 100644 --- a/src/sequelize/models/fogversioncommand.js +++ b/src/sequelize/models/fogversioncommand.js @@ -8,6 +8,7 @@ module.exports = (sequelize, DataTypes) => { field: 'id', }, versionCommand: { + /* eslint-disable new-cap */ type: DataTypes.STRING(100), field: 'version_command', }, diff --git a/src/sequelize/models/user.js b/src/sequelize/models/user.js index fa32b3d6c..e728d5fb7 100644 --- a/src/sequelize/models/user.js +++ b/src/sequelize/models/user.js @@ -9,25 +9,30 @@ module.exports = (sequelize, DataTypes) => { field: 'id', }, firstName: { + /* eslint-disable new-cap */ type: DataTypes.STRING(100), field: 'first_name', defaultValue: '', }, lastName: { + /* eslint-disable new-cap */ type: DataTypes.STRING(100), field: 'last_name', defaultValue: '', }, email: { + /* eslint-disable new-cap */ type: DataTypes.STRING(100), field: 'email', defaultValue: '', }, password: { + /* eslint-disable new-cap */ type: DataTypes.STRING(100), field: 'password', }, tempPassword: { + /* eslint-disable new-cap */ type: DataTypes.STRING(100), field: 'temp_password', }, diff --git a/src/sequelize/seeders/20180928112152-insert-iofog-type.js b/src/sequelize/seeders/20180928112152-insert-iofog-type.js index 975834514..9019aaa69 100644 --- a/src/sequelize/seeders/20180928112152-insert-iofog-type.js +++ b/src/sequelize/seeders/20180928112152-insert-iofog-type.js @@ -16,7 +16,8 @@ module.exports = { ID: 1, name: 'Standard Linux (x86)', image: 'iointegrator1.png', - description: 'A standard Linux server of at least moderate processing power and capacity. Compatible with common Linux types such as Ubuntu, Red Hat, and CentOS.', + description: 'A standard Linux server of at least moderate processing power and capacity. ' + + 'Compatible with common Linux types such as Ubuntu, Red Hat, and CentOS.', network_catalog_item_id: 1, hal_catalog_item_id: 3, bluetooth_catalog_item_id: 2, @@ -25,7 +26,8 @@ module.exports = { ID: 2, name: 'ARM Linux', image: 'iointegrator2.png', - description: 'A version of ioFog meant to run on Linux systems with ARM processors. Microservices for this ioFog type will be tailored to ARM systems.', + description: 'A version of ioFog meant to run on Linux systems with ARM processors. ' + + 'Microservices for this ioFog type will be tailored to ARM systems.', network_catalog_item_id: 1, hal_catalog_item_id: 3, bluetooth_catalog_item_id: 2, diff --git a/src/sequelize/seeders/20190131111441-insert-json-generator-catalog-item.js b/src/sequelize/seeders/20190131111441-insert-json-generator-catalog-item.js new file mode 100644 index 000000000..0cb16b3eb --- /dev/null +++ b/src/sequelize/seeders/20190131111441-insert-json-generator-catalog-item.js @@ -0,0 +1,41 @@ +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.bulkInsert('CatalogItems', [ + { + ID: 101, + name: 'JSON Generator', + description: 'Container generates ioMessages with contentdata as complex JSON object.', + category: 'UTILITIES', + publisher: 'Eclipse ioFog', + disk_required: 0, + ram_required: 0, + picture: 'none.png', + config_example: '{}', + is_public: 1, + registry_id: 1, + user_id: null, + }] + ).then(() => { + return queryInterface.bulkInsert('CatalogItemImages', [ + { + ID: 103, + catalog_item_id: 101, + fog_type_id: 1, + container_image: 'iofog/json-generator', + }, + { + ID: 104, + catalog_item_id: 101, + fog_type_id: 2, + container_image: 'iofog/json-generator-arm', + }, + ]) + }) + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.bulkDelete('CatalogItems', {ID: 101}, {}).then(() => { + return queryInterface.bulkDelete('CatalogItemImages', {catalog_item_id: 101}) + }) + }, +} diff --git a/src/sequelize/seeders/20190218103641-adding-default-configs.js b/src/sequelize/seeders/20190218103641-adding-default-configs.js new file mode 100644 index 000000000..fd3457a52 --- /dev/null +++ b/src/sequelize/seeders/20190218103641-adding-default-configs.js @@ -0,0 +1,80 @@ +'use strict' + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.bulkUpdate('CatalogItems', + { + config_example: '{"citycode":"5391997","apikey":"6141811a6136148a00133488eadff0fb","frequency":1000}', + }, + { + name: 'Open Weather Map Data', + }, + ).then(() => { + return queryInterface.bulkUpdate('CatalogItems', + { + config_example: '{"buffersize":3,"contentdataencoding":"utf8","contextdataencoding":"utf8",' + + 'outputfields":{"publisher":"source","contentdata":"temperature","timestamp":"time"}}', + }, + { + name: 'JSON REST API', + }, + ) + }).then(() => { + return queryInterface.bulkUpdate('CatalogItems', + { + config_example: '{}', + }, + { + name: 'JSON Sub-Select', + }, + ) + }).then(() => { + return queryInterface.bulkUpdate('CatalogItems', + { + is_public: 1, + }, + { + name: 'Common Logging', + }, + ) + }) + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.bulkUpdate('CatalogItems', + { + config_example: '{}', + }, + { + name: 'Open Weather Map Data', + }, + ).then(() => { + return queryInterface.bulkUpdate('CatalogItems', + { + config_example: '{}', + }, + { + name: 'JSON REST API', + }, + ) + }).then(() => { + return queryInterface.bulkUpdate('CatalogItems', + { + config_example: '{}', + }, + { + name: 'JSON Sub-Select', + }, + ) + }).then(() => { + return queryInterface.bulkUpdate('CatalogItems', + { + is_public: 0, + }, + { + name: 'Common Logging', + }, + ) + }) + }, +} diff --git a/src/server.js b/src/server.js index 4a7c97917..81d9fc1c8 100644 --- a/src/server.js +++ b/src/server.js @@ -23,8 +23,6 @@ const https = require('https') const path = require('path') const {renderFile} = require('ejs') const xss = require('xss-clean') -const morgan = require('morgan') -const fogStatusJob = require('./jobs/fog-status-job') const packageJson = require('../package') const app = express() diff --git a/src/services/catalog-service.js b/src/services/catalog-service.js index 8d0a63459..79c276502 100644 --- a/src/services/catalog-service.js +++ b/src/services/catalog-service.js @@ -23,7 +23,6 @@ const Op = require('sequelize').Op const Validator = require('../schemas/index') const RegistryManager = require('../sequelize/managers/registry-manager') const MicroserviceManager = require('../sequelize/managers/microservice-manager') -const ChangeTrackingService = require('./change-tracking-service') const MicroseriveStates = require('../enums/microservice-state') const TrackingDecorator = require('../decorators/tracking-decorator') const TrackingEventType = require('../enums/tracking-event-type') diff --git a/src/services/connector-port-service.js b/src/services/connector-port-service.js index e36da53c4..29d841704 100644 --- a/src/services/connector-port-service.js +++ b/src/services/connector-port-service.js @@ -67,6 +67,7 @@ async function _openPortsOnConnector(connector, isPublicAccess) { } if (!connector.devMode && connector.cert && connector.isSelfSignedCert === true) { const ca = fs.readFileSync(connector.cert) + /* eslint-disable new-cap */ options.ca = new Buffer.from(ca) } @@ -104,6 +105,7 @@ async function closePortOnConnector(connector, ports) { } if (!connector.devMode && connector.cert && connector.isSelfSignedCert === true) { const ca = fs.readFileSync(connector.cert) + /* eslint-disable new-cap */ options.ca = new Buffer.from(ca) } diff --git a/src/services/diagnostic-service.js b/src/services/diagnostic-service.js index f645d38d2..bd560c0bc 100644 --- a/src/services/diagnostic-service.js +++ b/src/services/diagnostic-service.js @@ -228,6 +228,7 @@ const _writeBufferToFile = function(filePath, data) { const _convertFileToBase64 = function(filePath) { const file = fs.readFileSync(filePath) + /* eslint-disable new-cap */ return new Buffer.from(file).toString('base64') } diff --git a/src/services/microservices-service.js b/src/services/microservices-service.js index c72009f4d..47235934a 100644 --- a/src/services/microservices-service.js +++ b/src/services/microservices-service.js @@ -360,7 +360,8 @@ async function createPortMapping(microserviceUuid, portMappingData, user, isCLI, } async function updatePortMappingOverConnector(connector, transaction) { - const microservicePublicModes = await MicroservicePublicModeManager.findAllMicroservicePublicModesByConnectorId(connector.id, transaction) + const microservicePublicModes = await MicroservicePublicModeManager.findAllMicroservicePublicModesByConnectorId(connector.id, + transaction) const networkMicroserviceUuids = microservicePublicModes.map((obj) => obj.networkMicroserviceUuid) await _updateNetworkMicroserviceConfigs(networkMicroserviceUuids, connector, transaction) } @@ -579,7 +580,7 @@ async function _updateChangeTracking(configUpdated, fogNodeUuid, transaction) { } } -// TODO use in _deleteMicroserviceWithRoutesAndPortMappings +/* TODO use in _deleteMicroserviceWithRoutesAndPortMappings async function _deletePortMappings(microservice, user, transaction) { const msPortMappings = await MicroservicePortManager.findAll({ microserviceUuid: microservice.uuid, @@ -592,7 +593,7 @@ async function _deletePortMappings(microservice, user, transaction) { await _deleteSimplePortMapping(microservice, msPorts, user, transaction) } } -} +}*/ async function _checkForDuplicateName(name, item, userId, transaction) { if (name) { @@ -627,15 +628,6 @@ async function _validateMicroserviceOnGet(userId, microserviceUuid, transaction) } } -/** - * use to create route between microservices on same fog - * - * @param sourceMicroservice - * @param destMicroservice - * @param transaction - * @return {Promise} - * @private - */ async function _createSimpleRoute(sourceMicroservice, destMicroservice, transaction) { // create new route const routeData = { @@ -987,7 +979,8 @@ async function _buildPortsList(portsPairs, transaction) { const connectorPorts = await ConnectorPortManager.findOne({id: pubMode.connectorPortId}, transaction) const connector = await ConnectorManager.findOne({id: connectorPorts.connectorId}, transaction) - portMappingResposeData.publicLink = await _buildLink(connector.devMode ? 'http' : 'https', connector.publicIp, connectorPorts.port2) + portMappingResposeData.publicLink = await _buildLink(connector.devMode ? 'http' : 'https', + connector.publicIp, connectorPorts.port2) } res.push(portMappingResposeData) } diff --git a/src/services/user-service.js b/src/services/user-service.js index 4e3c52af3..74e5bba85 100644 --- a/src/services/user-service.js +++ b/src/services/user-service.js @@ -298,7 +298,8 @@ async function _handleCreateUser(user, isEmailActivationEnabled, transaction) { }, transaction) if (existingUser) { - throw new Errors.ValidationError('Registration failed: There is already an account associated with your email address. Please try logging in instead.') + throw new Errors.ValidationError('Registration failed: There is already an account associated with your email address. ' + + 'Please try logging in instead.') } const newUser = await _createNewUser(user, isEmailActivationEnabled, transaction) @@ -321,7 +322,9 @@ async function _notifyUserAboutActivationCode(email, url, emailSenderData, activ from: '"IOFOG" <' + emailSenderData.email + '>', to: email, subject: 'Activate Your Account', - html: emailActivationTemplate.p1 + url + emailActivationTemplate.p2 + activationCodeData.activationCode + emailActivationTemplate.p3 + url + emailActivationTemplate.p4 + activationCodeData.activationCode + emailActivationTemplate.p5 + url + emailActivationTemplate.p6 + activationCodeData.activationCode + emailActivationTemplate.p7, + html: emailActivationTemplate.p1 + url + emailActivationTemplate.p2 + activationCodeData.activationCode + + emailActivationTemplate.p3 + url + emailActivationTemplate.p4 + activationCodeData.activationCode + + emailActivationTemplate.p5 + url + emailActivationTemplate.p6 + activationCodeData.activationCode + emailActivationTemplate.p7, } await _sendEmail(transporter, mailOptions) @@ -344,7 +347,8 @@ async function _notifyUserAboutPasswordReset(user, url, emailSenderData, tempPas from: '"IOFOG" <' + emailSenderData.email + '>', to: user.email, subject: 'Password Reset Request', - html: emailResetTemplate.p1 + user.firstName + ' ' + user.lastName + emailResetTemplate.p2 + tempPass + emailResetTemplate.p3 + url + emailResetTemplate.p4, + html: emailResetTemplate.p1 + user.firstName + ' ' + user.lastName + emailResetTemplate.p2 + tempPass + emailResetTemplate.p3 + + url + emailResetTemplate.p4, } await _sendEmail(transporter, mailOptions) diff --git a/src/tracking/index.js b/src/tracking/index.js index 25e26030a..43c7ff647 100644 --- a/src/tracking/index.js +++ b/src/tracking/index.js @@ -25,15 +25,6 @@ const fakeTransactionObject = {fakeTransaction: true} const trackingUuid = getUniqueTrackingUuid() -/** - * generate tracking event after service function was executed - * - * @param eventType - @see src/enum/tracking-event-type.js - * @param res - response of service function - * @param args - arguments of service function - * @param functionName - name of service function - * @return {{sourceType: string, type: string, uuid: string, timestamp: number}} - */ function buildEvent(eventType, res, args, functionName) { const eventInfo = { uuid: trackingUuid, @@ -109,16 +100,18 @@ function getUniqueTrackingUuid() { let allMacs = '' const interfaces = os.networkInterfaces() for (const i in interfaces) { - let networkInterface = interfaces[i] - if (Array.isArray(networkInterface)) { - networkInterface = networkInterface.length > 0 ? networkInterface[0] : null - } + if (interfaces.hasOwnProperty(i)) { + let networkInterface = interfaces[i] + if (Array.isArray(networkInterface)) { + networkInterface = networkInterface.length > 0 ? networkInterface[0] : null + } - if (!networkInterface || networkInterface.internal) { - continue - } + if (!networkInterface || networkInterface.internal) { + continue + } - allMacs += networkInterface.mac + '-' + allMacs += networkInterface.mac + '-' + } } uuid = crypto.createHash('md5').update(allMacs).digest('hex') } catch (e) { diff --git a/src/views/email-activation-temp.js b/src/views/email-activation-temp.js index 6294dfe8a..359e80bbc 100644 --- a/src/views/email-activation-temp.js +++ b/src/views/email-activation-temp.js @@ -48,7 +48,9 @@ const emailActivationTemplate = { font-size:14px;\'>\ \ - Before we can get started, you need to click this button to activate your account. If clicking the button doesn\'t work, copy and paste copy and paste this link into your web browser address bar.
\ + Before we can get started, you need to click this button to activate your account. \ + If clicking the button doesn\'t work, copy and paste copy and paste this link into your web browser \ + address bar.
\ \ \ \ \ \ - \ + \ Hi, ', p2: '\ @@ -57,7 +58,8 @@ const emailRecoveryTemplate = { \ \ \ - \ \ diff --git a/test/src/services/agent-service.test.js b/test/src/services/agent-service.test.js index bf8c42a5a..8dc2cce3c 100644 --- a/test/src/services/agent-service.test.js +++ b/test/src/services/agent-service.test.js @@ -21,8 +21,6 @@ const USBInfoManager = require('../../../src/sequelize/managers/usb-info-manager const Sequelize = require('sequelize') const Op = Sequelize.Op const path = require('path') -const formidable = ('./incoming_form') -const IncomingForm = formidable.IncomingForm const MicroserviceStates = require('../../../src/enums/microservice-state') const FogStates = require('../../../src/enums/fog-state') const TrackingEventManager = require('../../../src/sequelize/managers/tracking-event-manager') diff --git a/test/src/services/catalog-service.test.js b/test/src/services/catalog-service.test.js index b757c0aa7..78b611b68 100644 --- a/test/src/services/catalog-service.test.js +++ b/test/src/services/catalog-service.test.js @@ -12,9 +12,6 @@ const AppHelper = require('../../../src/helpers/app-helper') const Sequelize = require('sequelize') const Op = Sequelize.Op const MicroserviceManager = require('../../../src/sequelize/managers/microservice-manager') -const ChangeTrackingService = require('../../../src/services/change-tracking-service') -const Errors = require('../../../src/helpers/errors') -const ErrorMessages = require('../../../src/helpers/error-messages') describe('Catalog Service', () => { def('subject', () => CatalogService) diff --git a/test/src/services/connector-service.test.js b/test/src/services/connector-service.test.js index 213b75846..198fa859c 100644 --- a/test/src/services/connector-service.test.js +++ b/test/src/services/connector-service.test.js @@ -9,7 +9,6 @@ const AppHelper = require('../../../src/helpers/app-helper') const ConnectorPortManager = require('../../../src/sequelize/managers/connector-port-manager') const Sequelize = require('sequelize') const Op = Sequelize.Op -const qs = require('qs') describe('Connector Service', () => { def('subject', () => ConnectorService) diff --git a/test/src/services/controller-service.test.js b/test/src/services/controller-service.test.js index 8a5cca1cd..add6e044e 100644 --- a/test/src/services/controller-service.test.js +++ b/test/src/services/controller-service.test.js @@ -80,6 +80,7 @@ describe('Controller Service', () => { }) + /* describe('.statusController()', () => { const error = 'Error!' @@ -96,4 +97,5 @@ describe('Controller Service', () => { // expect($subject).to.have.property('timestamp') // }) }) + */ }) diff --git a/test/src/services/diagnostic-service.test.js b/test/src/services/diagnostic-service.test.js index 76982b045..38e882d87 100644 --- a/test/src/services/diagnostic-service.test.js +++ b/test/src/services/diagnostic-service.test.js @@ -255,7 +255,6 @@ describe('DiagnosticService Service', () => { } const dirPath = '/somewhere/on/the/disk' - const fPath = dirPath + '/' + uuid const straceData = { buffer: 'data', } diff --git a/test/src/services/iofog-service.test.js b/test/src/services/iofog-service.test.js index 51e371ff4..ef6c2415c 100644 --- a/test/src/services/iofog-service.test.js +++ b/test/src/services/iofog-service.test.js @@ -717,8 +717,6 @@ describe('ioFog Service', () => { id: 15, } - const date = 155555555 - const uuid = 'testUuid' const fogData = { @@ -756,10 +754,6 @@ describe('ioFog Service', () => { ? {uuid: fogData.uuid} : {uuid: fogData.uuid, userId: user.id} - const toUpdate = { - daemonStatus: 'UNKNOWN', ipAddress: '0.0.0.0', - } - def('subject', () => $subject.deleteFog(fogData, user, isCLI, transaction)) def('validatorResponse', () => Promise.resolve(true)) def('findIoFogResponse', () => Promise.resolve(fog)) @@ -830,8 +824,6 @@ describe('ioFog Service', () => { id: 15, } - const date = 155555555 - const uuid = 'testUuid' const fogData = { @@ -869,10 +861,6 @@ describe('ioFog Service', () => { ? {uuid: fogData.uuid} : {uuid: fogData.uuid, userId: user.id} - const toUpdate = { - daemonStatus: 'UNKNOWN', ipAddress: '0.0.0.0', - } - const fogResponse = { uuid: fog.uuid, name: fog.name, @@ -977,8 +965,6 @@ describe('ioFog Service', () => { id: 15, } - const date = 155555555 - const uuid = 'testUuid' const fog = { @@ -1014,10 +1000,6 @@ describe('ioFog Service', () => { ? {} : {userId: user.id} - const toUpdate = { - daemonStatus: 'UNKNOWN', ipAddress: '0.0.0.0', - } - const filters = [] def('subject', () => $subject.getFogList(filters, user, isCLI, transaction)) diff --git a/test/src/services/user-service.test.js b/test/src/services/user-service.test.js index c4093ba8a..5ead92dde 100644 --- a/test/src/services/user-service.test.js +++ b/test/src/services/user-service.test.js @@ -9,7 +9,6 @@ const Validator = require('../../../src/schemas') const AppHelper = require('../../../src/helpers/app-helper') const ioFogManager = require('../../../src/sequelize/managers/iofog-manager') const EmailActivationCodeService = require('../../../src/services/email-activation-code-service') -const Sequelize = require('sequelize') const nodemailer = require('nodemailer') describe('User Service', () => {
\ + \ Follow @EclipseioFog on Twitter.\