Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib/Model
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2021-09-22 13:37:20 +0300
committerJoas Schilling <coding@schilljs.com>2021-10-07 19:18:30 +0300
commit390ae657a18523bb0b39f6531fa27de9bb075410 (patch)
tree1782ae950637d44d033e3a3b6f112ff4b529a2e1 /lib/Model
parenta0e1168db04100c153133a5fcb0d1440a2e22644 (diff)
Introduce different layers for permissions
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/Model')
-rw-r--r--lib/Model/Attendee.php11
-rw-r--r--lib/Model/AttendeeMapper.php40
2 files changed, 26 insertions, 25 deletions
diff --git a/lib/Model/Attendee.php b/lib/Model/Attendee.php
index a6c1bcd06..d83345519 100644
--- a/lib/Model/Attendee.php
+++ b/lib/Model/Attendee.php
@@ -51,8 +51,9 @@ use OCP\AppFramework\Db\Entity;
* @method int getLastMentionDirect()
* @method void setReadPrivacy(int $readPrivacy)
* @method int getReadPrivacy()
- * @method void setPublishingPermissions(int $publishingPermissions)
- * @method int getPublishingPermissions()
+ * @method void setPermissions(int $permissions)
+ * @internal
+ * @method int getPermissions()
* @method void setAccessToken(string $accessToken)
* @method null|string getAccessToken()
* @method void setRemoteId(string $remoteId)
@@ -117,7 +118,7 @@ class Attendee extends Entity {
protected $readPrivacy;
/** @var int */
- protected $publishingPermissions;
+ protected $permissions;
/** @var string */
protected $accessToken;
@@ -139,7 +140,7 @@ class Attendee extends Entity {
$this->addType('lastMentionMessage', 'int');
$this->addType('lastMentionDirect', 'int');
$this->addType('readPrivacy', 'int');
- $this->addType('publishingPermissions', 'int');
+ $this->addType('permissions', 'int');
$this->addType('accessToken', 'string');
$this->addType('remote_id', 'string');
}
@@ -167,7 +168,7 @@ class Attendee extends Entity {
'last_mention_message' => $this->getLastMentionMessage(),
'last_mention_direct' => $this->getLastMentionDirect(),
'read_privacy' => $this->getReadPrivacy(),
- 'publishing_permissions' => $this->getPublishingPermissions(),
+ 'permissions' => $this->getPermissions(),
'access_token' => $this->getAccessToken(),
'remote_id' => $this->getRemoteId(),
];
diff --git a/lib/Model/AttendeeMapper.php b/lib/Model/AttendeeMapper.php
index bd8551f46..174ca2d6e 100644
--- a/lib/Model/AttendeeMapper.php
+++ b/lib/Model/AttendeeMapper.php
@@ -198,7 +198,7 @@ class AttendeeMapper extends QBMapper {
return (int) $query->execute();
}
- public function modifyPublishingPermissions(int $roomId, string $mode, int $newState, bool $includeModerators): void {
+ public function modifyPermissions(int $roomId, string $mode, int $newState, bool $includeModerators): void {
$query = $this->db->getQueryBuilder();
$query->update($this->getTableName())
->where($query->expr()->eq('room_id', $query->createNamedParameter($roomId, IQueryBuilder::PARAM_INT)))
@@ -216,7 +216,7 @@ class AttendeeMapper extends QBMapper {
}
if ($mode === Participant::PERMISSIONS_MODIFY_SET) {
- $query->set('publishing_permissions', $query->createNamedParameter($newState, IQueryBuilder::PARAM_INT));
+ $query->set('permissions', $query->createNamedParameter($newState, IQueryBuilder::PARAM_INT));
$query->executeStatement();
} else {
foreach ([
@@ -229,53 +229,53 @@ class AttendeeMapper extends QBMapper {
] as $permission) {
if ($permission & $newState) {
if ($mode === Participant::PERMISSIONS_MODIFY_ADD) {
- $this->addSinglePublishingPermission($query, $permission);
+ $this->addSinglePermission($query, $permission);
} elseif ($mode === Participant::PERMISSIONS_MODIFY_REMOVE) {
- $this->removeSinglePublishingPermission($query, $permission);
+ $this->removeSinglePermission($query, $permission);
}
}
}
}
}
- protected function addSinglePublishingPermission(IQueryBuilder $query, int $publishingPermission): void {
- $query->set('publishing_permissions', $query->func()->add(
- 'publishing_permissions',
- $query->createNamedParameter($publishingPermission, IQueryBuilder::PARAM_INT)
+ protected function addSinglePermission(IQueryBuilder $query, int $permission): void {
+ $query->set('permissions', $query->func()->add(
+ 'permissions',
+ $query->createNamedParameter($permission, IQueryBuilder::PARAM_INT)
));
$query->andWhere(
$query->expr()->neq(
$query->expr()->castColumn(
$query->expr()->bitwiseAnd(
- 'publishing_permissions',
- $publishingPermission
+ 'permissions',
+ $permission
),
IQueryBuilder::PARAM_INT
),
- $query->createNamedParameter($publishingPermission, IQueryBuilder::PARAM_INT)
+ $query->createNamedParameter($permission, IQueryBuilder::PARAM_INT)
)
);
$query->executeStatement();
}
- protected function removeSinglePublishingPermission(IQueryBuilder $query, int $publishingPermission): void {
- $query->set('publishing_permissions', $query->func()->subtract(
- 'publishing_permissions',
- $query->createNamedParameter($publishingPermission, IQueryBuilder::PARAM_INT)
+ protected function removeSinglePermission(IQueryBuilder $query, int $permission): void {
+ $query->set('permissions', $query->func()->subtract(
+ 'permissions',
+ $query->createNamedParameter($permission, IQueryBuilder::PARAM_INT)
));
$query->andWhere(
$query->expr()->eq(
$query->expr()->castColumn(
$query->expr()->bitwiseAnd(
- 'publishing_permissions',
- $publishingPermission
+ 'permissions',
+ $permission
),
- IQueryBuilder::PARAM_INT
+ IQueryBuilder::PARAM_INT
),
- $query->createNamedParameter($publishingPermission, IQueryBuilder::PARAM_INT)
+ $query->createNamedParameter($permission, IQueryBuilder::PARAM_INT)
)
);
@@ -298,7 +298,7 @@ class AttendeeMapper extends QBMapper {
'last_mention_message' => (int) $row['last_mention_message'],
'last_mention_direct' => (int) $row['last_mention_direct'],
'read_privacy' => (int) $row['read_privacy'],
- 'publishing_permissions' => (int) $row['publishing_permissions'],
+ 'permissions' => (int) $row['permissions'],
'access_token' => (string) $row['access_token'],
'remote_id' => (string) $row['remote_id'],
]);