Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 7 additions & 13 deletions src/helpers/app-helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,13 +78,7 @@ const findAvailablePort = async function (hostname) {
}
let portBounds = portRange.split("-").map(i => parseInt(i));
return await portscanner.findAPortNotInUse(portBounds[0], portBounds[1], hostname);
}

/**
* @desc generates a random String of the size specified by the input param
* @param Integer - size
* @return String - returns random string
*/
};

function isFileExists(filePath) {
if (path.extname(filePath).indexOf(".") >= 0) {
Expand All @@ -109,7 +103,7 @@ function isValidDomain(domain) {
}

const isValidPublicIP = function (publicIP) {
let 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*$/;
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);
};

Expand Down Expand Up @@ -142,7 +136,7 @@ function deleteUndefinedFields(obj) {
} else if (obj[fld] instanceof Object) {
obj[fld] = deleteUndefinedFields(obj[fld])
}
})
});

return obj
}
Expand Down Expand Up @@ -191,11 +185,11 @@ function trimCertificate(cert) {
function validateParameters(command, commandDefinitions, args) {
// 1st argument = command
args.shift();

const possibleAliasesList = _getPossibleAliasesList(command, commandDefinitions);
const possibleArgsList = _getPossibleArgsList(command, commandDefinitions);

for (let arg of args) {
for (const arg of args) {
// arg is [argument, alias, value]

if (arg.startsWith("--")) { // argument
Expand Down Expand Up @@ -272,8 +266,8 @@ function isTest() {
}

function isEmpty(obj) {
for(let key in obj) {
if(obj.hasOwnProperty(key))
for (const key in obj) {
if (obj.hasOwnProperty(key))
return false;
}
return true;
Expand Down
22 changes: 5 additions & 17 deletions src/services/user-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,18 @@ const Errors = require('../helpers/errors');
const ErrorMessages = require('../helpers/error-messages');
const Config = require('../config');
const ioFogManager = require('../sequelize/managers/iofog-manager');

const emailActivationTemplate = require('../views/email-activation-temp');
const emailRecoveryTemplate = require('../views/email-temp');
const emailResetTemplate = require('../views/reset-password-temp');
const EmailActivationCodeService = require('./email-activation-code-service');

const AccessTokenService = require('./access-token-service');

const TransactionDecorator = require('../decorators/transaction-decorator');

const Validator = require('../schemas');

const createUser = async function (user, transaction) {
return await UserManager.create(user, transaction)
};

const signUp = async function (user, isCLI, transaction) {

let isEmailActivationEnabled = Config.get("Email:ActivationEnabled");

if (isEmailActivationEnabled) {

const newUser = await _handleCreateUser(user, isEmailActivationEnabled, transaction);

const activationCodeData = await EmailActivationCodeService.generateActivationCode(transaction);
Expand All @@ -56,7 +46,6 @@ const signUp = async function (user, isCLI, transaction) {
};

const login = async function (credentials, isCLI, transaction) {

const user = await UserManager.findOne({
email: credentials.email
}, transaction);
Expand Down Expand Up @@ -138,7 +127,7 @@ const logout = async function (user, isCLI, transaction) {
return await AccessTokenService.removeAccessTokenByUserId(user.id, transaction)
};

const updateDetails = async function (user, profileData, isCLI, transaction) {
const updateUserDetails = async function (user, profileData, isCLI, transaction) {
if (isCLI) {
await Validator.validate(profileData, Validator.schemas.updateUserProfileCLI);
} else {
Expand All @@ -147,7 +136,7 @@ const updateDetails = async function (user, profileData, isCLI, transaction) {

const password = (profileData.password) ? AppHelper.encryptText(profileData.password, user.email) : undefined;

const updateObject = isCLI ?
let updateObject = isCLI ?
{
firstName: profileData.firstName,
lastName: profileData.lastName,
Expand All @@ -159,7 +148,7 @@ const updateDetails = async function (user, profileData, isCLI, transaction) {
lastName: profileData.lastName
};

AppHelper.deleteUndefinedFields(updateObject);
updateObject = AppHelper.deleteUndefinedFields(updateObject);

await UserManager.updateDetails(user, updateObject, transaction);

Expand All @@ -171,7 +160,6 @@ const updateDetails = async function (user, profileData, isCLI, transaction) {
};

const deleteUser = async function (force, user, isCLI, transaction) {

if (!force) {
const ioFogArray = await ioFogManager.findAll({
userId: user.id
Expand Down Expand Up @@ -321,7 +309,7 @@ async function _handleCreateUser(user, isEmailActivationEnabled, transaction) {

async function _createNewUser(user, isEmailActivationEnabled, transaction) {
user.emailActivated = !isEmailActivationEnabled;
return await createUser(user, transaction)
return await UserManager.create(user, transaction);
}

async function _notifyUserAboutActivationCode(email, url, emailSenderData, activationCodeData, transporter) {
Expand Down Expand Up @@ -390,7 +378,7 @@ module.exports = {
resendActivation: TransactionDecorator.generateTransaction(resendActivation),
activateUser: TransactionDecorator.generateTransaction(activateUser),
logout: TransactionDecorator.generateTransaction(logout),
updateUserDetails: TransactionDecorator.generateTransaction(updateDetails),
updateUserDetails: TransactionDecorator.generateTransaction(updateUserDetails),
deleteUser: TransactionDecorator.generateTransaction(deleteUser),
updateUserPassword: TransactionDecorator.generateTransaction(updateUserPassword),
resetUserPassword: TransactionDecorator.generateTransaction(resetUserPassword),
Expand Down
Loading