v0.5.2: multi-company, isAdmin fix, appVersion, docs
This commit is contained in:
+12
-5
@@ -28,6 +28,7 @@ function createRouter({ auth, MOCK_USERS, authLimiter }) {
|
||||
MOCK_USERS: devMode() ? MOCK_USERS : [],
|
||||
error: req.query.error || null,
|
||||
returnTo: req.query.returnTo || '/',
|
||||
appVersion: require('../../package.json').version,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -39,6 +40,10 @@ function createRouter({ auth, MOCK_USERS, authLimiter }) {
|
||||
const user = MOCK_USERS.find(u => u.clientId === clientId);
|
||||
if (!user) return res.redirect('/login?error=Пользователь+не+найден');
|
||||
|
||||
// Разбор clientId с запятой (мульти-компания)
|
||||
const allClientIds = user.clientId.split(',').map(s => s.trim()).filter(Boolean);
|
||||
const activeClientId = allClientIds[0] || user.clientId;
|
||||
|
||||
const token = auth.issueMockToken({
|
||||
clientId: user.clientId,
|
||||
companyId: user.companyId || '00000000-0000-0000-0000-000000000001',
|
||||
@@ -48,11 +53,13 @@ function createRouter({ auth, MOCK_USERS, authLimiter }) {
|
||||
|
||||
req.session.token = token;
|
||||
req.session.user = {
|
||||
clientId: user.clientId,
|
||||
email: user.email || user.clientId + '@mock.local',
|
||||
companyId: user.companyId || '00000000-0000-0000-0000-000000000001',
|
||||
companyName: user.companyName || user.clientId,
|
||||
isAdmin: user.role === 'admin',
|
||||
clientId: user.clientId,
|
||||
allClientIds,
|
||||
activeClientId,
|
||||
email: user.email || user.clientId + '@mock.local',
|
||||
companyId: user.companyId || '00000000-0000-0000-0000-000000000001',
|
||||
companyName: user.companyName || user.clientId,
|
||||
isAdmin: user.isAdmin || user.role === 'admin',
|
||||
};
|
||||
res.redirect(returnTo || '/');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user