Skip to content

Commit 7dd874c

Browse files
committed
Don't need to explicitly check project public permissions anymore
1 parent 39dfc85 commit 7dd874c

1 file changed

Lines changed: 3 additions & 18 deletions

File tree

src/Share/Postgres/Authorization/Queries.hs

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,7 @@ userHasProjectPermission :: Maybe UserId -> ProjectId -> RolePermission -> PG.Tr
7979
userHasProjectPermission mayUserId projectId permission = do
8080
PG.queryExpect1Col
8181
[PG.sql|
82-
SELECT
83-
user_has_permission(#{mayUserId}, (SELECT p.resource_id from projects p WHERE p.id = #{projectId}), #{permission})
84-
OR
85-
EXISTS (
86-
SELECT FROM roles r
87-
WHERE r.ref = 'project_public_access'
88-
AND #{permission} = ANY(r.permissions)
89-
AND (SELECT NOT p.private FROM projects p WHERE p.id = #{projectId})
90-
)
91-
82+
SELECT user_has_permission(#{mayUserId}, (SELECT p.resource_id from projects p WHERE p.id = #{projectId}), #{permission})
9283
|]
9384

9485
userHasOrgPermission :: UserId -> OrgId -> RolePermission -> PG.Transaction e Bool
@@ -159,15 +150,9 @@ permissionsForProject mayUserId projectId = do
159150
(SELECT permission FROM
160151
user_resource_permissions urp
161152
JOIN projects p ON p.resource_id = urp.resource_id
162-
WHERE urp.user_id = #{mayUserId}
153+
WHERE (urp.user_id IS NULL OR urp.user_id = #{mayUserId})
163154
AND p.id = #{projectId}
164155
)
165-
UNION
166-
(SELECT permission
167-
FROM roles r, UNNEST(r.permissions) AS permission
168-
WHERE r.ref = 'project_public_access'
169-
AND (SELECT NOT p.private FROM projects p WHERE p.id = #{projectId})
170-
)
171156
|]
172157
<&> Set.fromList
173158

@@ -178,7 +163,7 @@ permissionsForOrg mayUserId orgId = do
178163
SELECT permission
179164
FROM user_resource_permissions urp
180165
JOIN orgs org ON org.resource_id = urp.resource_id
181-
WHERE urp.user_id = #{mayUserId}
166+
WHERE (urp IS NULL OR urp.user_id = #{mayUserId})
182167
AND org.id = #{orgId}
183168
|]
184169
<&> Set.fromList

0 commit comments

Comments
 (0)