split routes and model code into user-directory.js
This commit is contained in:
37
src/users.js
37
src/users.js
@@ -51,9 +51,6 @@ exports = module.exports = {
|
||||
getBackgroundImage,
|
||||
setBackgroundImage,
|
||||
|
||||
getProfileConfig,
|
||||
setProfileConfig,
|
||||
|
||||
resetSource,
|
||||
|
||||
parseDisplayName,
|
||||
@@ -91,15 +88,15 @@ const appPasswords = require('./apppasswords.js'),
|
||||
mail = require('./mail.js'),
|
||||
mailer = require('./mailer.js'),
|
||||
mysql = require('mysql'),
|
||||
oidc = require('../oidc.js'),
|
||||
qrcode = require('qrcode'),
|
||||
safe = require('safetydance'),
|
||||
settings = require('./settings.js'),
|
||||
speakeasy = require('speakeasy'),
|
||||
tokens = require('./tokens.js'),
|
||||
translation = require('./translation.js'),
|
||||
uuid = require('uuid'),
|
||||
uaParser = require('ua-parser-js'),
|
||||
userDirectory = require('./user-directory.js'),
|
||||
uuid = require('uuid'),
|
||||
superagent = require('superagent'),
|
||||
util = require('util'),
|
||||
validator = require('validator'),
|
||||
@@ -826,7 +823,7 @@ async function getInviteLink(user, auditSource) {
|
||||
if (user.source) throw new BoxError(BoxError.CONFLICT, 'User is from an external directory');
|
||||
if (!user.inviteToken) throw new BoxError(BoxError.BAD_STATE, 'User already used invite link');
|
||||
|
||||
const directoryConfig = await getProfileConfig();
|
||||
const directoryConfig = await userDirectory.getProfileConfig();
|
||||
const { fqdn:dashboardFqdn } = await dashboard.getLocation();
|
||||
let inviteLink = `https://${dashboardFqdn}/setupaccount.html?inviteToken=${user.inviteToken}&email=${encodeURIComponent(user.email)}`;
|
||||
|
||||
@@ -854,7 +851,7 @@ async function setupAccount(user, data, auditSource) {
|
||||
assert.strictEqual(typeof data, 'object');
|
||||
assert(auditSource && typeof auditSource === 'object');
|
||||
|
||||
const profileConfig = await getProfileConfig();
|
||||
const profileConfig = await userDirectory.getProfileConfig();
|
||||
|
||||
const tmp = { inviteToken: '' };
|
||||
|
||||
@@ -972,32 +969,6 @@ async function setBackgroundImage(id, backgroundImage) {
|
||||
if (result.length === 0) throw new BoxError(BoxError.NOT_FOUND, 'User not found');
|
||||
}
|
||||
|
||||
async function getProfileConfig() {
|
||||
const value = await settings.getJson(settings.PROFILE_CONFIG_KEY);
|
||||
return value || { lockUserProfiles: false, mandatory2FA: false };
|
||||
}
|
||||
|
||||
async function setProfileConfig(profileConfig) {
|
||||
assert.strictEqual(typeof profileConfig, 'object');
|
||||
|
||||
if (constants.DEMO) throw new BoxError(BoxError.BAD_STATE, 'Not allowed in demo mode');
|
||||
|
||||
const oldConfig = await getProfileConfig();
|
||||
await settings.setJson(settings.PROFILE_CONFIG_KEY, profileConfig);
|
||||
|
||||
if (profileConfig.mandatory2FA && !oldConfig.mandatory2FA) {
|
||||
debug('setProfileConfig: logging out non-2FA users to enforce 2FA');
|
||||
|
||||
const allUsers = await list();
|
||||
for (const user of allUsers) {
|
||||
if (!user.twoFactorAuthenticationEnabled) {
|
||||
await tokens.delByUserIdAndType(user.id, tokens.ID_WEBADMIN);
|
||||
await oidc.revokeByUserId(user.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function resetSource() {
|
||||
await database.query('UPDATE users SET source = ?', [ '' ]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user