Replace per-project check_user_has_privilege calls with a single batch method that performs 3 fixed DB queries regardless of project count. Reduces GET /projects response time for 10000 projects from ~12s to ~290ms (40x improvement).