1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-08-06 23:54:04 +00:00
This commit is contained in:
Dmitry Maranik 2026-08-05 15:52:56 +02:00 committed by GitHub
commit 8a8f5a6189
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 11 additions and 11 deletions

View file

@ -528,7 +528,7 @@ class TableRLSManager implements RLSPolicyManager
if ($table === tenancy()->model()->getTable()) { if ($table === tenancy()->model()->getTable()) {
// Convert tenant key to text to match the session variable type // Convert tenant key to text to match the session variable type
$query .= "{$column}::text = current_setting('{$sessionTenantKey}')\n"; $query .= "{$column}::text = (select current_setting('{$sessionTenantKey}'))\n";
continue; continue;
} }

View file

@ -67,7 +67,7 @@ class TraitRLSManager implements RLSPolicyManager
return <<<SQL return <<<SQL
CREATE POLICY {$table}_rls_policy ON {$table} USING ( CREATE POLICY {$table}_rls_policy ON {$table} USING (
{$tenantKeyColumn}::text = current_setting('{$sessionTenantKey}') {$tenantKeyColumn}::text = (select current_setting('{$sessionTenantKey}'))
); );
SQL; SQL;
} }
@ -87,7 +87,7 @@ class TraitRLSManager implements RLSPolicyManager
{$parentRelationship->getForeignKeyName()} IN ( {$parentRelationship->getForeignKeyName()} IN (
SELECT {$parent->getKeyName()} SELECT {$parent->getKeyName()}
FROM {$parent->getTable()} FROM {$parent->getTable()}
WHERE {$tenantKeyColumn}::text = current_setting('{$sessionTenantKey}') WHERE {$tenantKeyColumn}::text = (select current_setting('{$sessionTenantKey}'))
) )
); );
SQL; SQL;

View file

@ -582,7 +582,7 @@ test('table rls manager generates queries correctly', function() {
expect(array_values(app(TableRLSManager::class)->generateQueries()))->toEqualCanonicalizing([ expect(array_values(app(TableRLSManager::class)->generateQueries()))->toEqualCanonicalizing([
<<<SQL <<<SQL
CREATE POLICY authors_rls_policy ON authors USING ( CREATE POLICY authors_rls_policy ON authors USING (
tenant_id::text = current_setting('my.current_tenant') tenant_id::text = (select current_setting('my.current_tenant'))
); );
SQL, SQL,
<<<SQL <<<SQL
@ -590,7 +590,7 @@ test('table rls manager generates queries correctly', function() {
author_id IN ( author_id IN (
SELECT id SELECT id
FROM authors FROM authors
WHERE tenant_id::text = current_setting('my.current_tenant') WHERE tenant_id::text = (select current_setting('my.current_tenant'))
) )
); );
SQL, SQL,
@ -602,7 +602,7 @@ test('table rls manager generates queries correctly', function() {
WHERE author_id IN ( WHERE author_id IN (
SELECT id SELECT id
FROM authors FROM authors
WHERE tenant_id::text = current_setting('my.current_tenant') WHERE tenant_id::text = (select current_setting('my.current_tenant'))
) )
) )
); );
@ -652,7 +652,7 @@ test('table rls manager generates queries correctly', function() {
expect(app(TableRLSManager::class)->generateQueries($paths))->toContain( expect(app(TableRLSManager::class)->generateQueries($paths))->toContain(
<<<SQL <<<SQL
CREATE POLICY primaries_rls_policy ON primaries USING ( CREATE POLICY primaries_rls_policy ON primaries USING (
tenant_id::text = current_setting('my.current_tenant') tenant_id::text = (select current_setting('my.current_tenant'))
); );
SQL, SQL,
<<<SQL <<<SQL
@ -660,7 +660,7 @@ test('table rls manager generates queries correctly', function() {
primary_id IN ( primary_id IN (
SELECT id SELECT id
FROM primaries FROM primaries
WHERE tenant_id::text = current_setting('my.current_tenant') WHERE tenant_id::text = (select current_setting('my.current_tenant'))
) )
); );
SQL, SQL,
@ -672,7 +672,7 @@ test('table rls manager generates queries correctly', function() {
WHERE primary_id IN ( WHERE primary_id IN (
SELECT id SELECT id
FROM primaries FROM primaries
WHERE tenant_id::text = current_setting('my.current_tenant') WHERE tenant_id::text = (select current_setting('my.current_tenant'))
) )
) )
); );

View file

@ -279,7 +279,7 @@ test('trait rls manager generates queries correctly', function() {
expect($manager->generateQueries())->toContain( expect($manager->generateQueries())->toContain(
<<<SQL <<<SQL
CREATE POLICY posts_rls_policy ON posts USING ( CREATE POLICY posts_rls_policy ON posts USING (
tenant_id::text = current_setting('my.current_tenant') tenant_id::text = (select current_setting('my.current_tenant'))
); );
SQL, SQL,
<<<SQL <<<SQL
@ -287,7 +287,7 @@ test('trait rls manager generates queries correctly', function() {
post_id IN ( post_id IN (
SELECT id SELECT id
FROM posts FROM posts
WHERE tenant_id::text = current_setting('my.current_tenant') WHERE tenant_id::text = (select current_setting('my.current_tenant'))
) )
); );
SQL, SQL,