Skip to content

Optimize checking if a user can read multiple issues

yorickpeterse-staging requested to merge ability-batch-issue-checking into master

What does this MR do?

This optimises various parts of the code so it can more efficiently check if a user can read a list of issues.

Are there points in the code the reviewer needs to double check?

Yes, in particular Ability.issues_readable_by_user should be checked to make sure it correctly allows/restricts access to issues.

Why was this MR needed?

Currently the general approach to checking if one can read an issue is to iterate over the issues to check and call can?(user, :read_issue, issue) for every issue. This is not efficient as the same work has to be done for every issue.

What are the relevant issue numbers?

Does this MR meet the acceptance criteria?

Merge request reports