Skip to content

Commit 2f0f6d8

Browse files
committed
Clean up permissions
1 parent 79d38d8 commit 2f0f6d8

File tree

1 file changed

+7
-19
lines changed

1 file changed

+7
-19
lines changed

src/Database/Adapter/MariaDB.php

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -910,36 +910,24 @@ public function createDocument(string $collection, Document $document): Document
910910
$permissions = [];
911911
foreach (Database::PERMISSIONS as $type) {
912912
foreach ($document->getPermissionsByType($type) as $permission) {
913+
$tenantBind = $this->sharedTables ? ", :_tenant" : '';
913914
$permission = \str_replace('"', '', $permission);
914-
$permission = "('{$type}', '{$permission}', '{$document->getId()}'";
915-
916-
if ($this->sharedTables) {
917-
$permission .= ", :_tenant)";
918-
} else {
919-
$permission .= ")";
920-
}
921-
915+
$permission = "('{$type}', '{$permission}', :_uid {$tenantBind})";
922916
$permissions[] = $permission;
923917
}
924918
}
925919

926920
if (!empty($permissions)) {
921+
$tenantColumn = $this->sharedTables ? ', _tenant' : '';
927922
$permissions = \implode(', ', $permissions);
928923

929924
$sqlPermissions = "
930-
INSERT INTO {$this->getSQLTable($name . '_perms')} (_type, _permission, _document
931-
";
932-
933-
if ($this->sharedTables) {
934-
$sqlPermissions .= ', _tenant)';
935-
} else {
936-
$sqlPermissions .= ")";
937-
}
925+
INSERT INTO {$this->getSQLTable($name . '_perms')} (_type, _permission, _document {$tenantColumn})
926+
VALUES {$permissions};
927+
";
938928

939-
$sqlPermissions .= " VALUES {$permissions}";
940-
$sqlPermissions = $this->trigger(Database::EVENT_PERMISSIONS_CREATE, $sqlPermissions);
941929
$stmtPermissions = $this->getPDO()->prepare($sqlPermissions);
942-
930+
$stmtPermissions->bindValue(':_uid', $document->getId());
943931
if ($this->sharedTables) {
944932
$stmtPermissions->bindValue(':_tenant', $document->getTenant());
945933
}

0 commit comments

Comments
 (0)