Merge pull request #10836 from nupplaphil/feat/depository_permissionset

Migrate PermissionSet to Depository paradigm
This commit is contained in:
Hypolite Petovan 2021-10-08 09:39:39 -04:00 committed by GitHub
commit 80a8cd86c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 634 additions and 394 deletions

View file

@ -86,7 +86,7 @@ class Objects extends BaseModule
$permissionSets = DI::permissionSet()->selectByContactId($requester_id, $item['uid']);
if (!empty($permissionSets)) {
$psid = array_merge($permissionSets->column('id'),
[DI::permissionSet()->getIdFromACL($item['uid'], '', '', '', '')]);
[DI::permissionSet()->selectEmptyForUser($item['uid'])]);
$validated = in_array($item['psid'], $psid);
}
}

View file

@ -28,7 +28,7 @@ use Friendica\Model\Contact;
use Friendica\Model\Profile;
use Friendica\Module\BaseApi;
use Friendica\Network\HTTPException;
use Friendica\Repository\PermissionSet;
use Friendica\Security\PermissionSet\Depository\PermissionSet;
/**
* API endpoint: /api/friendica/profile/show

View file

@ -39,7 +39,7 @@ class PermissionTooltip extends \Friendica\BaseModule
}
if (isset($model['psid'])) {
$permissionSet = DI::permissionSet()->selectFirst(['id' => $model['psid']]);
$permissionSet = DI::permissionSet()->selectOneById($model['psid']);
$model['allow_cid'] = $permissionSet->allow_cid;
$model['allow_gid'] = $permissionSet->allow_gid;
$model['deny_cid'] = $permissionSet->deny_cid;
@ -61,12 +61,10 @@ class PermissionTooltip extends \Friendica\BaseModule
exit;
}
$aclFormatter = DI::aclFormatter();
$allowed_users = $aclFormatter->expand($model['allow_cid']);
$allowed_groups = $aclFormatter->expand($model['allow_gid']);
$deny_users = $aclFormatter->expand($model['deny_cid']);
$deny_groups = $aclFormatter->expand($model['deny_gid']);
$allowed_users = $model['allow_cid'];
$allowed_groups = $model['allow_gid'];
$deny_users = $model['deny_cid'];
$deny_groups = $model['deny_gid'];
$o = DI::l10n()->t('Visible to:') . '<br />';
$l = [];

View file

@ -213,7 +213,7 @@ class Status extends BaseProfile
$permissionSets = DI::permissionSet()->selectByContactId($remote_user, $profile['uid']);
if (!empty($permissionSets)) {
$condition = ['psid' => array_merge($permissionSets->column('id'),
[DI::permissionSet()->getIdFromACL($profile['uid'], '', '', '', '')])];
[DI::permissionSet()->selectEmptyForUser($profile['uid'])])];
}
} elseif ($profile['uid'] == local_user()) {
$condition = [];

View file

@ -28,6 +28,7 @@ use Friendica\Core\Renderer;
use Friendica\Core\Theme;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Profile;
use Friendica\Model\ProfileField;
use Friendica\Model\User;
@ -161,7 +162,9 @@ class Index extends BaseSettings
$profileFields = DI::profileField()->selectByUserId(local_user());
foreach ($profileFields as $profileField) {
/** @var ProfileField $profileField */
$defaultPermissions = ACL::getDefaultUserPermissions($profileField->permissionset->toArray());
$defaultPermissions = $profileField->permissionSet->withAllowedContacts(
Contact::pruneUnavailable($profileField->permissionSet->allow_cid)
);
$custom_fields[] = [
'id' => $profileField->id,
@ -173,7 +176,7 @@ class Index extends BaseSettings
DI::page(),
$a->getLoggedInUserId(),
false,
$defaultPermissions,
$defaultPermissions->toArray(),
['network' => Protocol::DFRN],
'profile_field[' . $profileField->id . ']'
),