示例#1
0
 /**
  * @param User $user
  * @return JsonResponse
  *
  * @Route("/secured/users/{slug}/projects.json", name="user_projects")
  * @Route("/users/{slug}/projects.json", name="public_user_projects")
  * @Method({"GET"})
  */
 public function getProjectsAction(User $user)
 {
     $visibilityPolicy = [2];
     if ($this->getUser() instanceof User) {
         $visibilityPolicy[] = 1;
         if ($this->getUser() === $user) {
             $visibilityPolicy[] = 0;
         }
     }
     $projects = $this->getDoctrine()->getRepository('Project:Project')->findBy(['user' => $user->getId(), 'visibility' => $visibilityPolicy]);
     if (empty($projects)) {
         return $this->errorResponse('No project found', 404);
     }
     return $projects;
 }