@@ -156,22 +156,20 @@ searchProjects caller userIdFilter (Query query) psk limit = do
156156 PG. queryListRows @ (Project PG. :. PG. Only UserHandle )
157157 [PG. sql |
158158 SELECT p.id, p.owner_user_id, p.slug, p.summary, p.tags, p.private, p.created_at, p.updated_at, owner.handle
159- FROM projects p
159+ FROM projects_by_user_permission(#{caller}, #{ProjectView}) p
160160 JOIN users owner ON p.owner_user_id = owner.id
161161 WHERE p.owner_user_id = #{userId}
162- AND user_has_project_permission(#{caller}, p.id, #{ProjectView})
163- ORDER BY p.created_at DESC
162+ ORDER BY p.created_at DESC, p.slug ASC
164163 LIMIT #{limit}
165164 |]
166165 _ -> do
167166 PG. queryListRows
168167 [PG. sql |
169168 SELECT p.id, p.owner_user_id, p.slug, p.summary, p.tags, p.private, p.created_at, p.updated_at, owner.handle
170- FROM websearch_to_tsquery('english', #{query}) AS tokenquery, projects AS p
169+ FROM websearch_to_tsquery('english', #{query}) AS tokenquery, projects_by_user_permission(#{caller}, #{ProjectView}) AS p
171170 JOIN users AS owner ON p.owner_user_id = owner.id
172171 WHERE (tokenquery @@ p.project_text_document OR p.slug ILIKE ('%' || like_escape(#{query}) || '%'))
173172 AND (#{userIdFilter} IS NULL OR p.owner_user_id = #{userIdFilter})
174- AND user_has_project_permission(#{caller}, p.id, #{ProjectView})
175173 ^{pskFilter}
176174 ORDER BY
177175 p.slug = #{query} DESC,
@@ -275,11 +273,10 @@ listProjectsByUserWithMetadata callerUserId projectOwnerUserId = do
275273 owner.handle,
276274 owner.name,
277275 EXISTS (SELECT FROM org_members WHERE org_members.organization_user_id = owner.id) AS is_org
278- FROM projects p
276+ FROM projects_by_user_permission(#{callerUserId}, #{ProjectView}) AS p
279277 JOIN users owner ON owner.id = p.owner_user_id
280278 WHERE p.owner_user_id = #{projectOwnerUserId}
281- AND user_has_project_permission(#{callerUserId}, p.id, #{ProjectView})
282- ORDER BY p.created_at DESC
279+ ORDER BY p.created_at DESC, p.slug ASC
283280 |]
284281 where
285282 unpackRows :: [Project PG. :. FavData PG. :. ProjectOwner ] -> [(Project , FavData , ProjectOwner )]
@@ -878,12 +875,11 @@ listContributorBranchesOfUserAccessibleToCaller contributorUserId mayCallerUserI
878875 project_owner.name,
879876 EXISTS (SELECT FROM org_members WHERE org_members.organization_user_id = project.owner_user_id)
880877 FROM project_branches b
881- JOIN projects project ON project.id = b.project_id
878+ JOIN projects_by_user_permission(#{mayCallerUserId}, #{ProjectView}) AS project ON project.id = b.project_id
882879 JOIN users AS project_owner ON project_owner.id = project.owner_user_id
883880 WHERE
884881 b.deleted_at IS NULL
885882 AND b.contributor_id = #{contributorUserId}
886- AND user_has_project_permission(#{mayCallerUserId}, b.project_id, #{ProjectView})
887883 |],
888884 branchNameFilter,
889885 cursorFilter,
0 commit comments