Fix membershiip privacy bug on production

This commit is contained in:
Matej Bačo
2026-04-23 10:07:32 +02:00
parent 5a5cb1e74e
commit c36b8fbabf
3 changed files with 17 additions and 10 deletions
+5
View File
@@ -34,6 +34,11 @@ $console = [
'legalAddress' => '',
'legalTaxId' => '',
'auths' => [
'membershipsUserName' => true,
'membershipsUserEmail' => true,
'membershipsMfa' => true,
'membershipsUserId' => true,
'membershipsUserPhone' => true,
'mockNumbers' => [],
'invites' => System::getEnv('_APP_CONSOLE_INVITES', 'enabled') === 'enabled',
'limit' => (System::getEnv('_APP_CONSOLE_WHITELIST_ROOT', 'enabled') === 'enabled') ? 1 : 0, // limit signup to 1 user
@@ -70,12 +70,13 @@ class Get extends Action
throw new Exception(Exception::MEMBERSHIP_NOT_FOUND);
}
// Default should be "false", but existing projects already relay on this being "true"
$membershipsPrivacy = [
'userName' => $project->getAttribute('auths', [])['membershipsUserName'] ?? false,
'userEmail' => $project->getAttribute('auths', [])['membershipsUserEmail'] ?? false,
'mfa' => $project->getAttribute('auths', [])['membershipsMfa'] ?? false,
'userId' => $project->getAttribute('auths', [])['membershipsUserId'] ?? false,
'userPhone' => $project->getAttribute('auths', [])['membershipsUserPhone'] ?? false,
'userName' => $project->getAttribute('auths', [])['membershipsUserName'] ?? true,
'userEmail' => $project->getAttribute('auths', [])['membershipsUserEmail'] ?? true,
'mfa' => $project->getAttribute('auths', [])['membershipsMfa'] ?? true,
'userId' => $project->getAttribute('auths', [])['membershipsUserId'] ?? true,
'userPhone' => $project->getAttribute('auths', [])['membershipsUserPhone'] ?? true,
];
$roles = $authorization->getRoles();
@@ -123,12 +123,13 @@ class XList extends Action
$memberships = array_filter($memberships, fn (Document $membership) => !empty($membership->getAttribute('userId')));
// Default should be "false", but existing projects already relay on this being "true"
$membershipsPrivacy = [
'userName' => $project->getAttribute('auths', [])['membershipsUserName'] ?? false,
'userEmail' => $project->getAttribute('auths', [])['membershipsUserEmail'] ?? false,
'mfa' => $project->getAttribute('auths', [])['membershipsMfa'] ?? false,
'userId' => $project->getAttribute('auths', [])['membershipsUserId'] ?? false,
'userPhone' => $project->getAttribute('auths', [])['membershipsUserPhone'] ?? false,
'userName' => $project->getAttribute('auths', [])['membershipsUserName'] ?? true,
'userEmail' => $project->getAttribute('auths', [])['membershipsUserEmail'] ?? true,
'mfa' => $project->getAttribute('auths', [])['membershipsMfa'] ?? true,
'userId' => $project->getAttribute('auths', [])['membershipsUserId'] ?? true,
'userPhone' => $project->getAttribute('auths', [])['membershipsUserPhone'] ?? true,
];
$roles = $authorization->getRoles();