v0.5.2: multi-company, isAdmin fix, appVersion, docs

This commit is contained in:
2026-06-02 10:52:12 +03:00
parent 07528b0de3
commit a083f65323
13 changed files with 616 additions and 61 deletions
+12 -6
View File
@@ -243,13 +243,19 @@ function verifyOidcToken(token) {
}
function userFromPayload(payload) {
const clientId = payload.ClientID || payload.client_id || payload.preferred_username || 'UNKNOWN';
// clientid может быть "WZ01325" или "WZ01325, WZ54321" (ТЗ-плюс §6.1)
const rawClientId = payload.ClientID || payload.client_id || payload.preferred_username || 'UNKNOWN';
const allClientIds = rawClientId.split(',').map(s => s.trim()).filter(Boolean);
const activeClientId = allClientIds[0] || 'UNKNOWN';
return {
email: payload.email || payload.login || 'unknown',
clientId,
companyId: payload.company_id || payload.sub || null,
companyName: payload.company_name || clientId,
isAdmin: clientId === ADMIN_CLIENT_ID,
email: payload.email || payload.login || 'unknown',
clientId: activeClientId, // активная компания (первая в списке)
allClientIds, // все компании пользователя (массив)
activeClientId, // дубль для ясности
companyId: payload.company_id || payload.sub || null,
companyName: payload.company_name || activeClientId,
isAdmin: activeClientId === ADMIN_CLIENT_ID,
};
}